Age | Commit message (Collapse) | Author |
|
We use the empty rect purely as a placeholder and never
initialize it with its own memory so lets not try to free
it.
Spotted by Dave Airlie.
Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Use AM_CONDITIONAL. Automake knows what to distribute.
It needs to be able to navigate down the subdirs to find what
needs to be included in the tarball.
To test reliably, create a tarball and expand it into a separate
directory and build with xatracker. Distcheck will not detect
missing code when such code is configured not to build.
The content of a tarball *must* always be identical, regardless
of the configuration options used or on which platform it was configured.
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
|
The PictTransform type is a typedef of a pixman type.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
The traditional accelerated copy methods aren't format aware.
Make saa copy format aware,and pass formats on to the driver copy function
if available. If the driver can't handle format conversions it needs to
return FALSE.
This fixes format confusion in the copy composite fastpath.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Use U and V textures and corresponding dma buffers that match
the size of the input UV data rather than using textures and DMA buffers
that match the Y data. This simplifies data copy and reduces the amount of
image data transfered to the host by up to 50% (YV12).
It also reduces dma buffer- and surface memory usage correspondingly.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
This enables the standard XV color conversion control attributes
contrast, scaling, saturation and hue.
Currently the attribute change takes effect on the next image only.
If we ever implement a ReputImage callback, we can use it to update
the image immediately on attribute change.
The attribute ranges follow those used by the proprietary Nvidia driver.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Also make it easier to modify the color conversion matrix based on
yuv encoding properties.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Rendercheck mode is used to enable acceleration of all supported composite
operations, regardless of the current data location. The mode is off by
default, but could be turned on to test the hardware composite operation
implementation. Due to excessive data migration, rendercheck mode will be
slow.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
That is reserved for dri2 front or fake front pixmaps that need
immediate flushing of software contents to hardware.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
The DRI2 code doesn't copy the device name, but assumes the storage
is persistent.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
Reviewed-by: Alan Hourihane <alanh@vmware.com>
|
|
Rather than hardcoding it.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Use option "StaticXinerama" or "GuiLayout" to set initial GUI topology,
similar to how these options are used with the legacy driver.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
A bunch of fixes that makes the fallback from vmwgfx to vmwlegacy easier.
1) Allow only 16 and 24 bit depths with vmwgfx. We may revisit this later.
2) Try to reclaim some resources if pre_init fails.
3) Print error messages so the user understands what happens on fallback.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
When compiz is enabled, we may try to DMA sw rendered contents of dri2
drawables to surfaces while VT switched. I'm not sure how this could be
happening, but queue the DMA until the next block handler.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Alan Hourihane <alanh@vmware.com>
|
|
The dirty trackers weren't correctly translated to
pending presents / updates when a pixmap was bound as a scanout.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrants <jakob@vmware.com>
|
|
A damage tracker was sometimes attached to a pixmap in the middle of an
operation. That meant that damage was never registered for that operation
which caused dirty-tracking to fail. Instead, add a damage tracker as
soon as we have storage attached to the pixmap.
Also, when a pixmap was resized, the dirty region trackers could become
stale, and cause DMA operation extending outside of the pixmap with
server crashes as a result. This commit fixes that.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
With this option enabled, we compose all contents (both sw and hw) in
the guest before presenting it. Just like the old xorg state tracker did
when 3D was enabled. It's not as bad as the old xorg state tracker was for
interactivity, but there's a small but noticeable lag when moving windows.
It's mainly intended for testing purposes, like testing the surface
dirty paths in the kernel module.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
When setting up damage tracking, previously the code would guess wether
sw or hw was currently dirty. The caller always have that information,
so pass it to the damage tracking setup function.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
With this option set to true, accelerated copies to a scanout pixmap will
be performed as hardware presents instead of copies to an intermediate
3D surface backing the scanout pixmap, followed by a present.
Depending on the application this might be a performance boost, but since
it might trigger device software readbacks in other situations, for example
dri2 copy front->fake_front, it might be a performance hog in other situations,
so disable it by default. (Before this commit it was enabled by default).
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Introduce relevant acceleration options and fix up the log printout.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
Reviewed-by: Alan Hourihane <alanh@vmware.com>
|
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
Reviewed-by: Alan Hourihane <alanh@vmware.com>
|
|
The kernel now takes care of doing this the right way;
no need to duplicate that functionality.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
If there is a risc that we need two simultaneous cursors,
(two outputs showing the same contents, at least one of them explicit),
fall back to sw cursor.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
The fb allocated for transformed data always matches the scanout region,
so set the crtc origin to (0,0)
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Requires drm 2.3.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Also map connector types that are not in the array to "Unknown".
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
depth.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
This introduces fence objects with 2.0, and present / present readback
ioctls with 2.1.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
Add a hack so that we avoid enabling all connected outputs during the
initial configuration. On older X servers they would be enabled as cloned,
which didn't really cause any problem, but on later X servers they would
initially be enabled next to eachother which looks odd.
A RandR call will still show the disabled outputs as connected, and if there
is a monitor section in the config file for the output in question,
it will also have a connected status, so that it may be explicitly enabled
or disabled from a config file.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
We do this in mesa as well
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
|
|
When copying from a dri2 buffer we usually dirty it as hw, since dri has
been rendering to it, and there can only be hw contents in the buffer.
However for the real front, X has already done the dirty work for us.
Also remove a glxWaitX() debug message.
This should fix piglit read-front.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
|
Basically we support three ways of getting data to the screen:
1) Mixed mode: We mix presents and updates.
2) Mixed present optimized: A version of mixed where copies to the front
buffer end up as presents, saving a blit.
3) 3D surface mode: We only present from a 3D surface. Software contents are
first DMA'd to that surface.
This change adds boolean flags to the saa struct to select which mode to use.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
|
Try to catch all cases where we have to do readbacks or format conversions
due to composite formats not being compatible with ordinary accel formats.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
|
|
|
Clear dirty present areas when new contents are drawn to the backing
pixmap. Not when it is actually pushed to the screen.
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|
|
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
|