mesa/src/glx
Axel Davy 9320c8fea9 glx/dri3: add GPU offloading support.
The differences with DRI2 GPU offloading are:
a) There's no logic for GPU offloading needed in the Xserver

b) for DRI2, the card would render to a back buffer, and
the content would be copied to the front buffer (the same buffers
everytime). Here we can potentially use several back buffers and copy
to buffers with no tiling to share with X. We send them with the
Present extension.

That means than the DRI2 solution is forced to have tearings with GPU
offloading. In the ideal scenario, this DRI3 solution doesn't have this
problem.

However without dma-buf fences, a race can appear (if the card is slow
and the rendering hasn't finished before the server card reads the buffer),
and then old content is displayed. If a user hits this, he should probably
revert to the DRI2 solution (LIBGL_DRI3_DISABLE). Users with cards fast
enough seem to not hit this in practice (I have an Amd hd 7730m, and I
don't hit this, except if I force a low dpm mode)

c) for non-fullscreen apps, the DRI2 GPU offloading solution requires
compositing. This DRI3 solution doesn't have this requirement. Rendering
to a pixmap also works.

d) There is no need to have a DDX loaded for the secondary card.

V4: Fixes some piglit tests

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-07-01 13:07:52 +10:00
..
apple darwin: Remove extra kCGLPFAColorSize attribute when requesting an offscreen context 2014-05-31 03:44:51 -07:00
tests Make DRI dependencies and build depend on the target 2014-05-23 15:24:04 +01:00
.gitignore Clean up .gitignore files 2013-01-10 22:01:31 +01:00
applegl_glx.c Fix build of appleglx 2014-05-23 15:24:07 +01:00
clientattrib.c glx: Check malloc return value before accessing memory in glx/clientattrib.c 2013-12-03 14:35:41 -07:00
clientinfo.c glx: Add missing null check in __glX_send_client_info() 2014-02-07 08:14:05 -07:00
compsize.c Have __glImageSize handle format GL_DEPTH_STENCIL_NV the same way as the server does 2012-02-06 23:00:44 +00:00
create_context.c glx: Store the RENDER_TYPE in indirect rendering 2013-07-18 16:03:42 -07:00
dri2.c glx: Don't crash on swap event for a Window (non-GLXWindow) 2014-06-20 11:04:04 -07:00
dri2.h dri3: Enable GLX_MESA_query_renderer on DRI3 too 2014-05-02 22:13:58 +01:00
dri2_glx.c glx: Add an error message when a direct renderer's createScreen() routine fails 2014-06-18 09:55:45 +01:00
dri2_priv.h glx/dri2: Add DRI2 support for GLX_MESA_query_renderer 2013-11-07 18:12:33 -08:00
dri2_query_renderer.c glx: Conditionally compile GLX_MESA_query_renderer DRI3 support 2014-05-02 23:20:34 +01:00
dri3_glx.c glx/dri3: add GPU offloading support. 2014-07-01 13:07:52 +10:00
dri3_priv.h glx/dri3: add GPU offloading support. 2014-07-01 13:07:52 +10:00
dri_common.c mesa: glx: Reduce error log level 2014-06-12 10:19:00 -06:00
dri_common.h dri: Reuse dri_message to implement our other message handlers. 2014-01-27 09:37:29 -08:00
dri_glx.c glx: Add an error message when a direct renderer's createScreen() routine fails 2014-06-18 09:55:45 +01:00
drisw_glx.c glx: Add an error message when a direct renderer's createScreen() routine fails 2014-06-18 09:55:45 +01:00
eval.c Retire miniglx and move the actual glx code up to src/glx 2010-02-09 09:58:36 -05:00
glx_error.c glx: Deliver an xlib style error to the application from an XCB error 2011-12-23 08:40:30 -08:00
glx_error.h glx: Deliver an xlib style error to the application from an XCB error 2011-12-23 08:40:30 -08:00
glx_pbuffer.c glx: Added missing null check in GetDrawableAttribute() 2014-06-26 15:37:14 +03:00
glx_query.c glx: Unifdef USE_XCB. 2012-10-09 14:32:02 -07:00
glxclient.h dri3: Add GLX_EXT_buffer_age support 2014-03-13 14:19:21 -07:00
glxcmds.c glx: Fix build in GLX_DIRECT_RENDERING !GLX_USE_APPLEGL !GLX_USE_DRM case 2014-06-10 10:32:22 +01:00
glxconfig.c Don't cast the return value of malloc/realloc 2012-09-05 22:28:50 -07:00
glxconfig.h glx/dri: add initial dri interface for GLX_EXT_framebuffer_sRGB. 2011-03-06 20:06:42 +10:00
glxcurrent.c Fix build of appleglx 2014-05-23 15:24:07 +01:00
glxext.c glxext: Send the Drawable's ID in the GLX_BufferSwapComplete event 2014-06-27 09:44:56 +10:00
glxextensions.c glx: Do not advertise buffer_age on dri2 2014-04-02 21:28:26 +01:00
glxextensions.h dri3: Add GLX_EXT_buffer_age support 2014-03-13 14:19:21 -07:00
glxhash.c Retire miniglx and move the actual glx code up to src/glx 2010-02-09 09:58:36 -05:00
glxhash.h Retire miniglx and move the actual glx code up to src/glx 2010-02-09 09:58:36 -05:00
indirect_glx.c Fix build of appleglx 2014-05-23 15:24:07 +01:00
indirect_init.h glx: Rename __GLXcontext and __GLXdisplayPrivate to struct types. 2010-07-28 16:45:25 -04:00
indirect_texture_compression.c mesa: Standardize names of OpenGL functions. 2012-11-12 10:53:57 -08:00
indirect_transpose_matrix.c mesa: Standardize names of OpenGL functions. 2012-11-12 10:53:57 -08:00
indirect_vertex_array.c glx: check memory allocations in __glXInitVertexArrayState() 2014-01-06 10:23:26 -07:00
indirect_vertex_array.h Retire miniglx and move the actual glx code up to src/glx 2010-02-09 09:58:36 -05:00
indirect_vertex_array_priv.h Retire miniglx and move the actual glx code up to src/glx 2010-02-09 09:58:36 -05:00
indirect_vertex_program.c mesa: Standardize names of OpenGL functions. 2012-11-12 10:53:57 -08:00
indirect_window_pos.c mesa: Standardize names of OpenGL functions. 2012-11-12 10:53:57 -08:00
Makefile.am Fix build of appleglx 2014-05-23 15:24:07 +01:00
packrender.h glx: Rename __GLXcontext and __GLXdisplayPrivate to struct types. 2010-07-28 16:45:25 -04:00
packsingle.h glx: Rename __GLXcontext and __GLXdisplayPrivate to struct types. 2010-07-28 16:45:25 -04:00
pixel.c glx: Rename __GLXcontext and __GLXdisplayPrivate to struct types. 2010-07-28 16:45:25 -04:00
pixelstore.c glx: Rename __GLXcontext and __GLXdisplayPrivate to struct types. 2010-07-28 16:45:25 -04:00
query_renderer.c glx: change query_renderer_integer() value param to unsigned 2013-11-11 08:10:12 -07:00
render2.c Fix build of appleglx 2014-05-23 15:24:07 +01:00
renderpix.c Don't cast the return value of malloc/realloc 2012-09-05 22:28:50 -07:00
SConscript glx: use the loader util lib 2014-01-18 18:47:48 +00:00
single2.c glx: move declarations before code 2013-06-27 07:48:18 -06:00
singlepix.c mesa: remove empty glthread.h file 2014-03-03 13:08:59 -07:00
vertarr.c Fix build of appleglx 2014-05-23 15:24:07 +01:00
XF86dri.c s/Tungsten Graphics/VMware/ 2014-01-17 20:00:32 +00:00
xf86dri.h s/Tungsten Graphics/VMware/ 2014-01-17 20:00:32 +00:00
xf86dristr.h s/Tungsten Graphics/VMware/ 2014-01-17 20:00:32 +00:00
xfont.c mesa: remove outdated version lines in comments 2013-06-05 08:54:27 -06:00