From 7dc0be8a8b9528920e20b9621a2fd11a772194e0 Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Thu, 9 Aug 2012 09:06:42 -0700 Subject: [PATCH] intel: Don't advertise GLX_SWAP_COPY_OML This patch removes all gl_config's with swapMethod=GLX_SWAP_COPY_OML. When page flipping, we are unable to comply with swap-copy semantics. Reviewed-by: Eric Anholt Signed-off-by: Chad Versace --- src/mesa/drivers/dri/intel/intel_screen.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index 50959b72af2..5cb7e5d7d22 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.c +++ b/src/mesa/drivers/dri/intel/intel_screen.c @@ -909,8 +909,9 @@ intel_detect_swizzling(struct intel_screen *screen) static __DRIconfig** intel_screen_make_configs(__DRIscreen *dri_screen) { + /* GLX_SWAP_COPY_OML is not supported due to page flipping. */ static const GLenum back_buffer_modes[] = { - GLX_NONE, GLX_SWAP_UNDEFINED_OML, GLX_SWAP_COPY_OML + GLX_SWAP_UNDEFINED_OML, GLX_NONE, }; static const uint8_t singlesample_samples[1] = {0}; @@ -955,8 +956,7 @@ intel_screen_make_configs(__DRIscreen *dri_screen) depth_bits, stencil_bits, num_depth_stencil_bits, - back_buffer_modes, - ARRAY_SIZE(back_buffer_modes), + back_buffer_modes, 2, singlesample_samples, 1, false); configs = driConcatConfigs(configs, new_configs); @@ -978,7 +978,7 @@ intel_screen_make_configs(__DRIscreen *dri_screen) new_configs = driCreateConfigs(fb_format[i], fb_type[i], depth_bits, stencil_bits, 1, - back_buffer_modes + 1, 1, + back_buffer_modes, 1, singlesample_samples, 1, true); configs = driConcatConfigs(configs, new_configs); @@ -995,7 +995,7 @@ intel_screen_make_configs(__DRIscreen *dri_screen) * * Only doublebuffer configs with GLX_SWAP_UNDEFINED_OML behavior are * supported. Singlebuffer configs are not supported because no one wants - * them. GLX_SWAP_COPY_OML is not supported due to page flipping. + * them. */ for (int i = 0; i < ARRAY_SIZE(fb_format); i++) { if (screen->gen < 6) @@ -1025,7 +1025,7 @@ intel_screen_make_configs(__DRIscreen *dri_screen) depth_bits, stencil_bits, num_depth_stencil_bits, - back_buffer_modes + 1, 1, + back_buffer_modes, 1, multisample_samples, num_msaa_modes, false); -- 2.11.0