diff options
author | Thomas Hellstrom <thellstrom@vmware.com> | 2015-02-25 01:51:11 -0800 |
---|---|---|
committer | Thomas Hellstrom <thellstrom@vmware.com> | 2015-05-04 23:26:34 -0700 |
commit | 1e443c4717a8b107c0c9283e222482703ac0f358 (patch) | |
tree | 1ea708f3e0929d325e1e0263c72126996dfddb33 /vmwgfx/vmwgfx_saa_priv.h | |
parent | 8f0cf7c03597532feb1a8ccf3bb1cafcd6170f89 (diff) |
vmware/vmwgfx: Try to use only_hw_present semantics if screen targets are enabled
If screen targets are enabled and there is a reasonable chance that the vmwgfx
drm driver can use the surface backing a pixmap as a screen target surface,
then make that surface a modesetting framebuffer rather than the corresponding
DMA buffer. In practice this applies when we start scanning out from the
origin (0,0) of the pixmap. However, we would also like to apply the constraint
that the scanout area is the entire pixmap, since that is the constraint used
by the drm driver, but that would currently require drm framebuffer
reallocations and possible flicker, so disable that for now. The drm driver
will correctly handle the possibly oversized surface handed to it anyway, and
the cost we pay for this is an extra hardware copy of the dirtied area when
doing a software update of the scanout.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Diffstat (limited to 'vmwgfx/vmwgfx_saa_priv.h')
-rw-r--r-- | vmwgfx/vmwgfx_saa_priv.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/vmwgfx/vmwgfx_saa_priv.h b/vmwgfx/vmwgfx_saa_priv.h index 4a0c302..507833a 100644 --- a/vmwgfx/vmwgfx_saa_priv.h +++ b/vmwgfx/vmwgfx_saa_priv.h @@ -56,6 +56,7 @@ struct vmwgfx_saa { Bool rendercheck; Bool is_master; Bool known_prime_format; + Bool has_screen_targets; void (*present_flush) (ScreenPtr pScreen); struct _WsbmListHead sync_x_list; struct _WsbmListHead pixmaps; |