drm/vmwgfx: Replace SurfaceDMA usage with SurfaceCopy in 2D VMs
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: Sinclair Yeh <syeh@vmware.com> Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
This commit is contained in:

committed by
Thomas Hellstrom

parent
35c051258e
commit
f89c6c321c
@@ -72,6 +72,7 @@ struct vmw_framebuffer_surface {
|
||||
struct vmw_dma_buffer *buffer;
|
||||
struct list_head head;
|
||||
struct drm_master *master;
|
||||
bool is_dmabuf_proxy; /* true if this is proxy surface for DMA buf */
|
||||
};
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user