From 18690995a6c91c0cb4886815d78dc700a902b98b Mon Sep 17 00:00:00 2001 From: Ilia Mirkin Date: Thu, 13 Mar 2014 07:01:15 -0400 Subject: [PATCH] mesa/main: condition GL_DEPTH_STENCIL on ARB_depth_texture EXT_packed_depth_stencil is supported by all drivers, but ARB_depth_texture isn't (notably nouveau_vieux). This should avoid passing unexpected values down to ChooseTextureFormat. The EXT_packed_depth_stencil spec does not make any explicit references to requiring ARB_depth_texture in order to allow textures with that format, however if there is no dependency, ARB_depth_texture would be practically implied by the extension. Signed-off-by: Ilia Mirkin Reviewed-by: Francisco Jerez Reviewed-by: Ian Romanick Cc: "10.0 10.1" Note for 10.0 backport: This will produce a conflict, the solution is to move the surrounding if as well. --- src/mesa/main/teximage.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index a6c3581bfc0..a57a53526ff 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -160,6 +160,9 @@ _mesa_base_tex_format( struct gl_context *ctx, GLint internalFormat ) case GL_DEPTH_COMPONENT24: case GL_DEPTH_COMPONENT32: return GL_DEPTH_COMPONENT; + case GL_DEPTH_STENCIL: + case GL_DEPTH24_STENCIL8: + return GL_DEPTH_STENCIL; default: ; /* fallthrough */ } @@ -301,14 +304,6 @@ _mesa_base_tex_format( struct gl_context *ctx, GLint internalFormat ) } } - switch (internalFormat) { - case GL_DEPTH_STENCIL: - case GL_DEPTH24_STENCIL8: - return GL_DEPTH_STENCIL; - default: - ; /* fallthrough */ - } - if (ctx->Extensions.EXT_texture_sRGB) { switch (internalFormat) { case GL_SRGB_EXT: -- 2.30.2