From fd9a7d8f30e8a4f73c7973a9d4e59082ecb5c1bf Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Thu, 3 Mar 2016 01:58:13 -0800 Subject: [PATCH] i965: Enable ARB_texture_stencil8 and OES_texture_stencil8 on Gen8+. Stencil texturing is required by ES 3.1. Apparently we never actually turned it on. Do that now. Also turn on the desktop extension. Fixes nine dEQP-GLES31.functional tests: stencil_texturing.format.stencil_index8_2d texture.border_clamp.formats.stencil_index8.nearest_size_pot texture.border_clamp.formats.stencil_index8.nearest_size_npot texture.border_clamp.formats.stencil_index8.gather_size_pot texture.border_clamp.formats.stencil_index8.gather_size_npot texture.border_clamp.unused_channels.stencil_index8 state_query.internal_format.renderbuffer.stencil_index8_samples state_query.internal_format.texture_2d_multisample.stencil_index8_samples state_query.internal_format.texture_2d_multisample_array.stencil_index8_samples Signed-off-by: Kenneth Graunke Reviewed-by: Ian Romanick Reviewed-by: Chris Forbes --- src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c | 7 ------- src/mesa/drivers/dri/i965/brw_surface_formats.c | 1 + src/mesa/drivers/dri/i965/intel_extensions.c | 1 + 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c b/src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c index 3cad1658d63..e311760646f 100644 --- a/src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c +++ b/src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c @@ -436,12 +436,6 @@ brw_meta_stencil_blit(struct brw_context *brw, GLenum target = 0; _mesa_meta_fb_tex_blit_begin(ctx, &blit); - /* XXX: Pretend to support stencil textures so _mesa_base_tex_format() - * returns a valid format. When we properly support the extension, we - * should remove this. - */ - assert(ctx->Extensions.ARB_texture_stencil8 == false); - ctx->Extensions.ARB_texture_stencil8 = true; drawFb = ctx->Driver.NewFramebuffer(ctx, 0xDEADBEEF); if (drawFb == NULL) { @@ -484,7 +478,6 @@ brw_meta_stencil_blit(struct brw_context *brw, _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); error: - ctx->Extensions.ARB_texture_stencil8 = false; _mesa_meta_fb_tex_blit_end(ctx, target, &blit); _mesa_meta_end(ctx); diff --git a/src/mesa/drivers/dri/i965/brw_surface_formats.c b/src/mesa/drivers/dri/i965/brw_surface_formats.c index c65f0d35235..16667b9824e 100644 --- a/src/mesa/drivers/dri/i965/brw_surface_formats.c +++ b/src/mesa/drivers/dri/i965/brw_surface_formats.c @@ -704,6 +704,7 @@ brw_init_surface_formats(struct brw_context *brw) ctx->TextureFormatSupported[MESA_FORMAT_Z24_UNORM_X8_UINT] = true; ctx->TextureFormatSupported[MESA_FORMAT_Z_FLOAT32] = true; ctx->TextureFormatSupported[MESA_FORMAT_Z32_FLOAT_S8X24_UINT] = true; + ctx->TextureFormatSupported[MESA_FORMAT_S_UINT8] = true; /* Benchmarking shows that Z16 is slower than Z24, so there's no reason to * use it unless you're under memory (not memory bandwidth) pressure. diff --git a/src/mesa/drivers/dri/i965/intel_extensions.c b/src/mesa/drivers/dri/i965/intel_extensions.c index 907f24f244d..820d5732286 100644 --- a/src/mesa/drivers/dri/i965/intel_extensions.c +++ b/src/mesa/drivers/dri/i965/intel_extensions.c @@ -368,6 +368,7 @@ intelInitExtensions(struct gl_context *ctx) if (brw->gen >= 8) { ctx->Extensions.ARB_stencil_texturing = true; + ctx->Extensions.ARB_texture_stencil8 = true; } if (brw->gen >= 9) { -- 2.30.2