コード例 #1
0
ファイル: vmw_buffer.c プロジェクト: MttDs/new-rexeno-tindpe
static void *
vmw_gmr_buffer_map(struct pb_buffer *_buf,
               unsigned flags)
{
   struct vmw_gmr_buffer *buf = vmw_gmr_buffer(_buf);
   return buf->map;
}
コード例 #2
0
ファイル: vmw_buffer.c プロジェクト: venkatarajasekhar/Qt
static void
vmw_gmr_buffer_destroy(struct pb_buffer *_buf)
{
   struct vmw_gmr_buffer *buf = vmw_gmr_buffer(_buf);

   vmw_ioctl_region_unmap(buf->region);
   
   vmw_ioctl_region_destroy(buf->region);

   FREE(buf);
}
コード例 #3
0
ファイル: vmw_buffer.c プロジェクト: MttDs/new-rexeno-tindpe
static void
vmw_gmr_buffer_fence( struct pb_buffer *_buf, 
                      struct pipe_fence_handle *fence )
{
   /* We don't need to do anything, as the pipebuffer library
    * will take care of delaying the destruction of fenced buffers */  
#ifdef DEBUG
   struct vmw_gmr_buffer *buf = vmw_gmr_buffer(_buf);
   if(fence)
      buf->last_fence = fence;
#endif
}
コード例 #4
0
ファイル: vmw_buffer.c プロジェクト: MttDs/new-rexeno-tindpe
static void
vmw_gmr_buffer_destroy(struct pb_buffer *_buf)
{
   struct vmw_gmr_buffer *buf = vmw_gmr_buffer(_buf);

#ifdef DEBUG
   if(buf->last_fence) {
      struct svga_winsys_screen *sws = &buf->mgr->vws->base;
      assert(sws->fence_signalled(sws, buf->last_fence, 0) == 0);
   }
#endif

   vmw_ioctl_region_unmap(buf->region);
   
   vmw_ioctl_region_destroy(buf->region);

   FREE(buf);
}
コード例 #5
0
ファイル: vmw_buffer.c プロジェクト: MttDs/new-rexeno-tindpe
boolean
vmw_gmr_bufmgr_region_ptr(struct pb_buffer *buf, 
                          struct SVGAGuestPtr *ptr)
{
   struct pb_buffer *base_buf;
   unsigned offset = 0;
   struct vmw_gmr_buffer *gmr_buf;
   
   pb_get_base_buffer( buf, &base_buf, &offset );
   
   gmr_buf = vmw_gmr_buffer(base_buf);
   if(!gmr_buf)
      return FALSE;
   
   *ptr = vmw_ioctl_region_ptr(gmr_buf->region);
   
   ptr->offset += offset;
   
   return TRUE;
}