summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2014-03-13 07:01:15 -0400
committerIlia Mirkin <imirkin@alum.mit.edu>2014-03-19 18:17:40 -0400
commit18690995a6c91c0cb4886815d78dc700a902b98b (patch)
tree53d62da3c21df9b117bbff03fc4924546cd2f90a
parent51989817e6767d8ef469708c69d7ce38b87e9b6e (diff)
downloadexternal_mesa3d-18690995a6c91c0cb4886815d78dc700a902b98b.zip
external_mesa3d-18690995a6c91c0cb4886815d78dc700a902b98b.tar.gz
external_mesa3d-18690995a6c91c0cb4886815d78dc700a902b98b.tar.bz2
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 <imirkin@alum.mit.edu> Reviewed-by: Francisco Jerez <currojerez@riseup.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Cc: "10.0 10.1" <mesa-stable@lists.freedesktop.org> Note for 10.0 backport: This will produce a conflict, the solution is to move the surrounding if as well.
-rw-r--r--src/mesa/main/teximage.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index a6c3581..a57a535 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: