mesa/src/glx
Keith Packard 3fbd1b0cb5 dri3: Track current Present swap mode and adjust buffer counts
This automatically adjusts the number of buffers that we want based on
what swapping mode the X server is using and the current swap interval:

        swap mode       interval        buffers
        copy            > 0             1
        copy            0               2
        flip            > 0             2
        flip            0               3

Note that flip with swap interval 0 is currently limited to twice the
underlying refresh rate because of how the kernel manages flipping. Moving
from 3 to 4 buffers would help, but that seems ridiculous.

v2: Just update num_back at the point that the values that change num_back
    change.  This means we'll have the updated value at the point that the
    freeing of old going-to-be-unused backbuffers happens, which might not
    have been the case before (change by anholt, acked by keithp).

Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
2014-01-30 17:29:33 -08:00
..
apple Apple: glFlush() is not needed with CGLFlushDrawable() 2013-07-20 10:25:28 -07:00
tests glx/tests: Provide __glXGetCurrentContext() stub when needed 2013-11-19 15:28:22 +00:00
.gitignore Clean up .gitignore files 2013-01-10 22:01:31 +01:00
applegl_glx.c Use calloc instead of malloc/memset-0 2012-09-05 22:28:50 -07: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 Remove Xcalloc/Xmalloc/Xfree calls 2012-09-05 22:28:49 -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: Add missing null check in DRI2WireToEvent 2013-12-11 18:18:43 -07:00
dri2.h glx: declare glx_screen struct to silence warning 2013-11-11 08:12:05 -07:00
dri2_glx.c dri2: Trust our own driver name lookup over the server's. 2014-01-27 09:37:10 -08: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/dri2: Add DRI2 support for GLX_MESA_query_renderer 2013-11-07 18:12:33 -08:00
dri3_glx.c dri3: Track current Present swap mode and adjust buffer counts 2014-01-30 17:29:33 -08:00
dri3_priv.h dri3: Track current Present swap mode and adjust buffer counts 2014-01-30 17:29:33 -08:00
dri_common.c dri: Reuse dri_message to implement our other message handlers. 2014-01-27 09:37:29 -08: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 loader: Add missing \n on message printing 2014-01-27 09:37:29 -08:00
drisw_glx.c swrast* (gallium, classic): add MESA_copy_sub_buffer support (v3) 2013-12-13 14:37:01 +10: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: Generate GLXBadDrawable when drawable is zero 2013-08-13 17:53:33 -07:00
glx_query.c glx: Unifdef USE_XCB. 2012-10-09 14:32:02 -07:00
glxclient.h glx: Simplify __glxGetMscRate, it only needs the screen, not a drawable 2013-12-20 16:43:08 -08:00
glxcmds.c glx: Simplify __glxGetMscRate, it only needs the screen, not a drawable 2013-12-20 16:43:08 -08: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 glx: Generate fewer errors in MakeContextCurrent 2013-10-08 13:24:20 -04:00
glxext.c glx: conditionaly build dri3 and present loader (v3) 2013-11-09 09:12:46 -08:00
glxextensions.c glx: Add extension tracking GLX_MESA_query_renderer 2013-11-07 18:12:32 -08:00
glxextensions.h glx: Add extension tracking GLX_MESA_query_renderer 2013-11-07 18:12:32 -08: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 glx: Fix return value from indirect_bind_context 2013-10-25 16:49:28 -04: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 build: Share the all-local rule for linking libraries into the build dir 2014-01-29 12:58:13 -08: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 Don't cast the return value of malloc/realloc 2012-09-05 22:28:50 -07: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 Don't cast the return value of malloc/realloc 2012-09-05 22:28:50 -07:00
vertarr.c glx: Rename __GLXcontext and __GLXdisplayPrivate to struct types. 2010-07-28 16:45:25 -04: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