summaryrefslogtreecommitdiff
path: root/vmwgfx
AgeCommit message (Collapse)Author
2012-03-15Fix a memory corruption due to a redundant free.Zack Rusin
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>
2012-03-13config: include saa and vmwgfx subdirs in the tarballGaetan Nadon
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>
2012-02-02vmwgfx: Kill a deprecation warning on server 1.12Thomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2012-02-02vmwgfx: Fix up swap[sl] for server 1.12Thomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2012-02-02vmwgfx: Avoid including a library header and use pixman for type conversionThomas Hellstrom
The PictTransform type is a typedef of a pixman type. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2012-01-13Make the driver build pass "make distcheck"Thomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2012-01-13vmwgfx: Adapt to new XA version number v2Thomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2012-01-13vmwgfx,saa: Fix a bunch of compilation warningsThomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2011-12-15saa, vmwgfx: Fix saa_copy_compositeThomas Hellstrom
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>
2011-12-08vmwgfx: Reduce system resource usage with textured videoThomas Hellstrom
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>
2011-12-08vmwgfx: Hook up XV color conversion control attributesThomas Hellstrom
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>
2011-12-08vmwgfx: Adapt to new interface of xa_yuv_planar_blitThomas Hellstrom
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>
2011-12-06vmwgfx: Fix MessageType members that are incorrectly typed as BoolThomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2011-12-06vmwgfx: Add an option to enable rendercheck modeThomas Hellstrom
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>
2011-12-06vmwgfx: Adapt to the dri state tracker sending depth instead of bppThomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2011-12-06vmwgfx: Don't register back buffers as "hw_is_dri2_fronts" v2Thomas Hellstrom
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>
2011-12-01vmwgfx: Include drm.h from correct pathJakob Bornecrantz
Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com> Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
2011-11-28vmwgfx: Make the drm device name persistentThomas Hellstrom
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>
2011-11-25vmwgfx: Get the drm device name from the open file descriptorThomas Hellstrom
Rather than hardcoding it. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2011-11-25vmwgfx: Use config options to optionally set GUI topologyThomas Hellstrom
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>
2011-11-25vmware: Update library dependenciesThomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2011-11-25vmwgfx: Pre-init fixesThomas Hellstrom
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>
2011-11-25vmware: Hook up vmwgfx to be tried before falling back to legacyThomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2011-11-09vmwgfx: Make sure we don't render when VT switchedThomas Hellstrom
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>
2011-11-09vmwgfx: Fix rendering errors when rotating / unrotating a screen.Thomas Hellstrom
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>
2011-11-09vmwgfx: A number of damage fixesThomas Hellstrom
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>
2011-11-01vmwgfx: Add an option to use a scanout surfaceThomas Hellstrom
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>
2011-11-01vmwgfx: Be correct when setting up damage trackingThomas Hellstrom
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>
2011-11-01vmwgfx: Add an option for direct presentsThomas Hellstrom
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>
2011-10-31vmwgfx: Fix acceleration options.Thomas Hellstrom
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>
2011-10-31vmwgfx: Remove a couple of unused optionsThomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com> Reviewed-by: Alan Hourihane <alanh@vmware.com>
2011-10-31vmwgfx: Don't do present readbacks per crtcThomas Hellstrom
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>
2011-10-31vmwgfx: Fall back to sw cursors if neededThomas Hellstrom
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>
2011-10-31vmwgfx: Fix crtc position of transformed fbThomas Hellstrom
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>
2011-10-31vmwgfx: Hook up vmwarectrl to the gui layout ioctlThomas Hellstrom
Requires drm 2.3. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2011-10-26vmwgfx: Update the connector type name arrayThomas Hellstrom
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>
2011-10-26vmwgfx: Save the dri2 requested depth since it may differ from the drawableThomas Hellstrom
depth. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2011-09-29vmwgfx: Adapt to vmwgfx kernel driver 2.1Thomas Hellstrom
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>
2011-08-31vmwgfx-xorg: Avoid enabling unwanted outputs in initial configurationThomas Hellstrom
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>
2011-07-14vmwgfx: Just include vmwgfx_drm.hJakob Bornecrantz
We do this in mesa as well Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
2011-07-09vmwgfx: Don't dirty the front buffer as hw when doing a dri2copyregion from itThomas Hellstrom
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>
2011-07-07vmwgfx: Add boolean flags for different rendering modesThomas Hellstrom
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>
2011-07-07vmwgfx: Various acceleration fixes.Thomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-07-01vmwgfx: Set up XA version checking.Thomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-07-01vmwgfx: Try to sort out format handling with composite.Thomas Hellstrom
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>
2011-07-01vmwgfx: Support xa composite.Thomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-06-22vmwgfx: Try to match created hardware formats with the dri state tracker.Thomas Hellstrom
2011-06-22vmwgfx: Fix dirty present bugThomas Hellstrom
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>
2011-06-22vmwgfx: Don't call xa_copy_done after a present.Thomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-06-22vmwgfx: Make present readbacks not cross scanout bounding box boundariesThomas Hellstrom
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>