From: Anuj Phogat Date: Fri, 21 Mar 2014 19:55:19 +0000 (-0700) Subject: mesa: Add missing types in _mesa_texstore_xx_xx() functions X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=aeb9d4495dc32bcb457045b4ea8f4e5f0d4fc8c8;p=mesa.git mesa: Add missing types in _mesa_texstore_xx_xx() functions Depth-stencil teture targets are allowed to use source data of type GL_UNSIGNED_INT_24_8_EXT and GL_FLOAT_32_UNSIGNED_INT_24_8_REV. Fixes few crashes in Khronos OpenGL CTS packed_pixels tests. Cc: Signed-off-by: Anuj Phogat Reviewed-by: Ian Romanick --- diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c index d9096abf33f..8b369fc5c26 100644 --- a/src/mesa/main/texstore.c +++ b/src/mesa/main/texstore.c @@ -2478,7 +2478,9 @@ _mesa_texstore_z24_s8(TEXSTORE_PARAMS) ASSERT(srcFormat == GL_DEPTH_STENCIL_EXT || srcFormat == GL_DEPTH_COMPONENT || srcFormat == GL_STENCIL_INDEX); - ASSERT(srcFormat != GL_DEPTH_STENCIL_EXT || srcType == GL_UNSIGNED_INT_24_8_EXT); + ASSERT(srcFormat != GL_DEPTH_STENCIL_EXT || + srcType == GL_UNSIGNED_INT_24_8_EXT || + srcType == GL_FLOAT_32_UNSIGNED_INT_24_8_REV); if (srcFormat == GL_DEPTH_COMPONENT || srcFormat == GL_STENCIL_INDEX) { @@ -2563,7 +2565,8 @@ _mesa_texstore_s8_z24(TEXSTORE_PARAMS) srcFormat == GL_DEPTH_COMPONENT || srcFormat == GL_STENCIL_INDEX); ASSERT(srcFormat != GL_DEPTH_STENCIL_EXT || - srcType == GL_UNSIGNED_INT_24_8_EXT); + srcType == GL_UNSIGNED_INT_24_8_EXT || + srcType == GL_FLOAT_32_UNSIGNED_INT_24_8_REV); depth = malloc(srcWidth * sizeof(GLuint)); stencil = malloc(srcWidth * sizeof(GLubyte)); @@ -3422,6 +3425,7 @@ _mesa_texstore_z32f_x24s8(TEXSTORE_PARAMS) srcFormat == GL_DEPTH_COMPONENT || srcFormat == GL_STENCIL_INDEX); ASSERT(srcFormat != GL_DEPTH_STENCIL || + srcType == GL_UNSIGNED_INT_24_8 || srcType == GL_FLOAT_32_UNSIGNED_INT_24_8_REV); if (srcFormat == GL_DEPTH_COMPONENT ||