From e4e3b071814d14e56ca3feca8df4974646bc332d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tapani=20P=C3=A4lli?= Date: Mon, 29 Oct 2012 11:56:28 -0700 Subject: [PATCH] intel: support for 16 bit config with 24 depth and 8 stencil MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Patch adds additional singlesample config with 565 color buffer, 24 bit depth and 8 bit stencil buffer. This makes Quadrant benchmark work on Android. Tested with Sandybridge and Ivybridge machines. Signed-off-by: Tapani Pälli Reviewed-by: Chad Versace --- src/mesa/drivers/dri/intel/intel_screen.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index f4ed64cc363..0194804db25 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.c +++ b/src/mesa/drivers/dri/intel/intel_screen.c @@ -935,11 +935,11 @@ intel_screen_make_configs(__DRIscreen *dri_screen) /* Generate singlesample configs without accumulation buffer. */ for (int i = 0; i < ARRAY_SIZE(formats); i++) { __DRIconfig **new_configs; - const int num_depth_stencil_bits = 2; + int num_depth_stencil_bits = 2; /* Starting with DRI2 protocol version 1.1 we can request a depth/stencil * buffer that has a different number of bits per pixel than the color - * buffer. This isn't yet supported here. + * buffer, gen >= 6 supports this. */ depth_bits[0] = 0; stencil_bits[0] = 0; @@ -947,6 +947,11 @@ intel_screen_make_configs(__DRIscreen *dri_screen) if (formats[i] == MESA_FORMAT_RGB565) { depth_bits[1] = 16; stencil_bits[1] = 0; + if (screen->gen >= 6) { + depth_bits[2] = 24; + stencil_bits[2] = 8; + num_depth_stencil_bits = 3; + } } else { depth_bits[1] = 24; stencil_bits[1] = 8; -- 2.30.2