path: root/src/gallium/winsys/svga
AgeCommit message (Collapse)AuthorFilesLines
2014-04-07winsys/svga: Fix prime surface references also for guest-backed surfacesThomas Hellstrom3-6/+81
Implement guest-backed surface sharing using prime fds. Previously only legacy surfaces could use this functionality. Also use the vmwgfx 2.6 single-ioctl prime fd reference if available. Cc: "10.1" <> Signed-off-by: Thomas Hellstrom <>
2014-04-07winsys/svga: Update the vmwgfx_drm.h header to latest version from kernelThomas Hellstrom1-1/+12
Cc: "10.1" <> Signed-off-by: Thomas Hellstrom <>
2014-04-02winsys/svga: Replace the query mm buffer pool with a slab pool v3Thomas Hellstrom1-5/+13
This is to avoid running out of query buffer space due to winsys limitations. Instead of a fixed size per screen pool of query buffers, use a slab allocator that allocates a new slab if we run out of space in the first one. v2: Correct email addresses. v3: s/8192/VMW_QUERY_POOL_SIZE/. Improve documentation and log message. Reported-and-tested-by: Brian Paul <> Signed-off-by: Thomas Hellstrom <> Reviewed-by: Brian Paul <> Cc: "10.1" <>
2014-02-28winsys/svga: Avoid calling drm getparam for max surface size on older kernelsThomas Hellstrom1-7/+8
This avoids the kernel driver spewing out errors about the param not being supported. Also correct the max surface size used when the kernel does not support the query. Reported-by: Brian Paul <> Signed-off-by: Thomas Hellstrom <> Reviewed-by: Charmaine Lee <> Cc: "10.1" <>
2014-02-14gallium/pipebuffer: change pb_cache_manager_create() size_factor to floatBrian Paul1-1/+1
Requested by Marek. Reviewed-by: Marek Olšák <> Cc: "10.1" <>
2014-02-14svga/winsys: Propagate surface shared information to the winsysThomas Hellstrom3-24/+29
The linux winsys needs to know whether a surface is shared. For guest-backed surfaces we need this information to avoid allocating a mob out of the mob cache for shared surfaces, but instead allocate a shared mob, that is never put in the mob cache, from the kernel. Also previously, all surfaces were given the "shareable" attribute when allocated from the kernel. This is too permissive for client-local surfaces. Now that we have the needed info, only set the "shareable" attribute if the client indicates that it needs to share the surface. Signed-off-by: Thomas Hellstrom <> Reviewed-by: Jakob Bornecrantz <> Reviewed-by: Brian Paul <> Cc: "10.1" <>
2014-02-14svga/winsys: implement GBS supportBrian Paul19-323/+3064
This is a squash commit of many commits by Thomas Hellstrom. Reviewed-by: Thomas Hellstrom <> Cc: "10.1" <>
2014-02-14svga: update svga_winsys interface for GBSBrian Paul1-0/+1
This adds new interface functions for guest-backed surfaces and adds a mobid parameter to the surface_relocation() function. Reviewed-by: Thomas Hellstrom <> Cc: "10.1" <>
2013-12-10svga/winsys: Implement surface sharing using prime fd handlesThomas Hellstrom1-18/+61
This needs a prime-aware vmwgfx kernel module to work properly. (With additions by Christopher James Halse Rogers <>) Signed-off-by: Christopher James Halse Rogers <> Signed-off-by: Thomas Hellstrom <> Signed-off-by: Maarten Lankhorst <>
2013-12-10gallium/winsys/drm: Prepare for passing prime fds in winsys_handleChristopher James Halse Rogers1-0/+6
Signed-off-by: Christopher James Halse Rogers <> Reviewed-by: Thomas Hellstrom <> Signed-off-by: Maarten Lankhorst <>
2013-11-16gallium/winsys: compact compiler flags into Automake.incEmil Velikov1-5/+2
Cleanup the duplicating flags and consolidate into a sigle variable. Note: this patch adds VISIBILITY_CFLAGS to the following targets * freedreno/drm * i915/{drm,sw} * nouveau/drm * sw/fbdev * sw/null * sw/wayland * sw/wrapper * sw/xlib Signed-off-by: Emil Velikov <>
2013-03-19winsys/svga: improve error/debug message outputBrian Paul3-25/+35
Use vmw_printf() just for extra debugging info (off by default). Use vmw_error() for real errors/failures/etc that we definitely want to report. Reviewed-by: José Fonseca <>
2013-03-16gallium/build: Fix visibility CFLAGS in automakeMaarten Lankhorst1-0/+2
v2: Andreas Boll <> - Fix formatting - use one CFLAG per line NOTE: This is a candidate for the 9.1 branch. Signed-off-by: Maarten Lankhorst <> Bugzilla: Reviewed-by: Andreas Boll <>
2013-01-14gallium/svga: Make sure -std=gnu99 is set.Johannes Obermayr1-1/+3
This is a work-around until stops touching CFLAGS. Reviewed-by: Matt Turner <>
2013-01-13Remove hacks for static MakefilesMatt Turner1-4/+0
v2: Andreas Boll <> - don't remove compatibility with scripts for the old build system v3: Andreas Boll <> - remove more obsolete hacks v4: Andreas Boll <> - add a previously removed TOP variable to fix vgapi build
2013-01-10Clean up .gitignore filesMatt Turner1-1/+0
2013-01-10svga/winsys/drm: Convert to automakeMatt Turner3-19/+42
2012-08-01scons: Add support for Intel Compiler.Vinson Lee1-1/+1
The patch makes the SCons build with Intel Compiler successful. Signed-off-by: Vinson Lee <> Reviewed-by: Brian Paul <>
2012-07-25scons: Fix build with clang.Vinson Lee1-1/+1
Signed-off-by: Vinson Lee <> Reviewed-by: Brian Paul <>
2012-01-10svga: Drop execbuf throttlingJakob Bornecrantz4-35/+1
This code isn't used anymore in preference for DRI2 client side swap buffers throttling or throttling done inside the xa or xorg driver. Signed-off-by: Jakob Bornecrantz <> Reviewed-by Brian Paul <>
2012-01-10svga: Silence warningJakob Bornecrantz1-0/+1
Signed-off-by: Jakob Bornecrantz <> Reviewed-by Brian Paul <>
2011-10-19winsys/svga: Remove some unneeded debug codeThomas Hellstrom1-16/+0
This code isn't really relevant since the kernel takes care not to destroy busy GMR buffers. Also with the advent of fence objects, the code was incorrect since it didn't refcount fence handles. Signed-off-by: Thomas Hellstrom <> Reviewed-by: Jakob Bornecrantz <>
2011-10-14winsys/svga: Rework buffer allocation to make it more robust v2.Thomas Hellstrom3-17/+57
Don't allow any "CPU" buffers to be allocated by the pb_fenced buffer manager, since we can't protect against failures during buffer validation. Also, add an extra slab buffer manager to allocate buffers from the kernel if there is a failure to allocate from our big buffer pool. The reason we use a slab manager for this, is to avoid allocating many very small buffers from the kernel. v2: Increased VMW_MAX_BUFFER_SIZE and fixed some comments. Signed-off-by: Thomas Hellstrom <> Reviewed-by: José Fonseca <> Reviewed-by: Jakob Bornecrantz <>
2011-10-14svga/winsys: Make sure a flush always inserts and returns a fence if requestedThomas Hellstrom1-1/+1
Needed for throttling. Signed-off-by: Thomas Hellstrom <> Reviewed-by: Jakob Bornecrant <>
2011-10-04configure: replace pkg-config calls with $(PKG_CONFIG) in the makefiles.Stéphane Marchesin1-2/+2
Us poor souls who cross compile mesa want to be able to specify which pkg-config to pick, or at least just change one place. Reviewed-by: Brian Paul <> Reviewed-by: Matt Turner <>
2011-09-29winsys/svga: Update to vmwgfx kernel module 2.1Thomas Hellstrom9-261/+665
Introduces fence objecs and a size limit on query buffers. The possibility to map the fifo from user-space is gone, and replaced by an ioctl that reads the 3D capabilities. Signed-off-by: Thomas Hellstrom <> Reviewed-by: Jakob Bornecranz <>
2011-09-11pb_buffer: inline 'base' sub-structMarek Olšák2-5/+5
2011-08-27android: add support for vmwgfxChia-I Wu1-0/+44
Quickly tested with VMWare Workstation 7.1.4 on Linux with GeForce GT220. SurfaceFlinger (the display server and compositor) works. 2D apps with RGB visual works. However, due to missing PIPE_FORMAT_R8G8B8A8_UNORM support, those with RGBA visual do not.
2011-08-27winsys/svga: share the source listChia-I Wu3-21/+13
Factor out C_SOURCES from Makefile to Makefile.sources, and let Makefile and SConscript share it.
2011-08-24winsys/svga: use os_mmap() for memory mappingChia-I Wu1-5/+6
os_mmap() guarantees large file support across OSes.
2011-06-30scons: Expose pkg-config in a simpler manner.José Fonseca1-1/+1
2011-05-10svga/drm: Implement svga_winsys_screen::get_hw_version.José Fonseca1-0/+14
2011-02-03svga/drm: Flushing preemptively on a 1/3 of the aperture.José Fonseca1-1/+1
Exactly one half would be the ideal, but this is a soft limit, and one more byte over brings us to synchronous behavior. Flushing when the referred GMR exceeds one third of the aperture gives us statistically better performance.
2011-02-03svga/drm: Update for pb_vtbl::map argument addition.José Fonseca1-1/+2
2010-12-16svga: Remove debug print in winsysJakob Bornecrantz1-2/+0
2010-11-05scons: DetabifyJakob Bornecrantz1-21/+21
Drivers scons files for a later time
2010-09-30gallium/winsys: remove duplicated includeNicolas Kaiser1-1/+0
Remove duplicated include. Signed-off-by: Brian Paul <>
2010-09-12pb: add void * for flush ctx to mapping functionsDave Airlie1-1/+1
If the buffer we are attempting to map is referenced by the unsubmitted command stream for this context, we need to flush the command stream, however to do that we need to be able to access the context at the lowest level map function, currently we set the buffer in the toplevel map, but this racy between context. (we probably have a lot more issues than that.) I'll look into a proper solution as suggested by jrfonseca when I get some time.
2010-08-10svga: Remove unnecessary headers.Vinson Lee1-2/+0
2010-07-23xorg/vmwgfx: Implement early mode pruning based on max fb size.Thomas Hellstrom1-0/+1
Also move some initialization from screen init to pre-init, now that it is possible. Also import a new vmwgfx drm (1.3) header. Signed-off-by: Thomas Hellstrom <>
2010-06-06svga: Move bootstrap code to targetsJakob Bornecrantz2-31/+49
2010-05-31st/xorg, vmware: Make throttling configurable.Thomas Hellstrom5-6/+44
The xorg state tracker gets two new options to let the user choose whether to enable / disable dirty throttling and swapbuffer throttling. The default value of these options are enabled, unless the winsys supplies a customizer with other values. The customizer record has been extended to allow this, and also to set winsys-based throttling on a per- context basis. The vmware part of this patch disables the dirty throttling if the kernel supports command submission throttling, and also in that case sets kernel based throttling for everything but swapbuffers. The vmware winsys does not set throttling per context, even if it theoretically could, but instead sets throttling per screen. This should perhaps be changed, should the xorg state tracker start to use multiple rendering contexts. Kernel throttling is off by default for all new screens/contexts, so the dri state tracker is not affected. This significantly improves interactivity of the vmware xorg driver. Cherry-picked from commit a8f3b3f88acc1f0193fa740e76e9d815f07f32ab Signed-off-by: Thomas Hellstrom <> Signed-off-by: Jakob Bornecrantz <>
2010-05-25drm_api: Remove type argument from create screen callbackJakob Bornecrantz1-29/+16
With the removal of DRI1 support there where no use of this argument, some drivers didn't even properly check it.
2010-05-25gallium: Remove dri1_api.h and winsys support for DRI1Jakob Bornecrantz1-101/+7
Since DRI1 support was dropped from st/dri it makes no sense to keep this code around.
2010-04-30xorg-vmwgfx: Add vmwctrl protoJakob Bornecrantz1-0/+26
2010-05-06svga: Fix scons buildJakob Bornecrantz1-0/+2
2010-04-19svga: Translate svga reloc flags to pb flagsJakob Bornecrantz1-1/+16
2010-04-20gallium: Fix copy typoJakob Bornecrantz1-1/+1
2010-04-20svga: Minor clean up of winsysJakob Bornecrantz1-0/+1
2010-03-26svga/drm: Fix build under sconsJakob Bornecrantz1-1/+1