• Sinclair Yeh's avatar
    drm/vmwgfx: Replace SurfaceDMA usage with SurfaceCopy in 2D VMs · f89c6c32
    Sinclair Yeh authored
    This patch address the following underlying issues with SurfaceDMA
    
    * SurfaceDMA command does not work in a 2D VM, but we can wrap a
      proxy surface around the same DMA buffer and use the SurfaceCopy
      command which does work in a 2D VM.
    
    * Wrapping a DMA buffer with a proxy surface also gives us an
      added optimization path for the case when the DMA buf
      dimensions match the mode.  In this case, the DMA buf can
      be pinned as the display surface, saving an extra copy.
      This only works in a 2D VM because we won't be doing any
      rendering operations directly to the display surface.
    
    v2
    * Moved is_dmabuf_proxy field to vmw_framebuffer_surface
    * Undone coding style changes
    * Addressed other issues from review
    Signed-off-by: default avatarSinclair Yeh <syeh@vmware.com>
    Reviewed-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
    f89c6c32
vmwgfx_execbuf.c 83.8 KB