diff options
-rw-r--r-- | src/mesa/main/format_unpack.h | 5 | ||||
-rw-r--r-- | src/mesa/main/format_unpack.py | 24 | ||||
-rw-r--r-- | src/mesa/main/texgetimage.c | 19 |
3 files changed, 14 insertions, 34 deletions
diff --git a/src/mesa/main/format_unpack.h b/src/mesa/main/format_unpack.h index 4d09c767822..4de0cc267e2 100644 --- a/src/mesa/main/format_unpack.h +++ b/src/mesa/main/format_unpack.h @@ -67,8 +67,5 @@ _mesa_unpack_float_32_uint_24_8_depth_stencil_row(mesa_format format, uint32_t n, const void *src, uint32_t *dst); -void -_mesa_unpack_depth_stencil_row(mesa_format format, uint32_t n, - const void *src, GLenum type, - uint32_t *dst); + #endif /* FORMAT_UNPACK_H */ diff --git a/src/mesa/main/format_unpack.py b/src/mesa/main/format_unpack.py index 54df8efb7ce..e3c86bbf4bc 100644 --- a/src/mesa/main/format_unpack.py +++ b/src/mesa/main/format_unpack.py @@ -844,30 +844,6 @@ _mesa_unpack_float_32_uint_24_8_depth_stencil_row(mesa_format format, uint32_t n } } -/** - * Unpack depth/stencil - * \param format the source data format - * \param type the destination data type - */ -void -_mesa_unpack_depth_stencil_row(mesa_format format, uint32_t n, - const void *src, GLenum type, - uint32_t *dst) -{ - assert(type == GL_UNSIGNED_INT_24_8 || - type == GL_FLOAT_32_UNSIGNED_INT_24_8_REV); - - switch (type) { - case GL_UNSIGNED_INT_24_8: - _mesa_unpack_uint_24_8_depth_stencil_row(format, n, src, dst); - break; - case GL_FLOAT_32_UNSIGNED_INT_24_8_REV: - _mesa_unpack_float_32_uint_24_8_depth_stencil_row(format, n, src, dst); - break; - default: - unreachable("bad type 0x%x in _mesa_unpack_depth_stencil_row"); - } -} """ template = Template(string, future_imports=['division']); diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c index bb4f7006618..15c4ce00178 100644 --- a/src/mesa/main/texgetimage.c +++ b/src/mesa/main/texgetimage.c @@ -132,8 +132,6 @@ get_tex_depth_stencil(struct gl_context *ctx, GLuint dimensions, GLint img, row; assert(format == GL_DEPTH_STENCIL); - assert(type == GL_UNSIGNED_INT_24_8 || - type == GL_FLOAT_32_UNSIGNED_INT_24_8_REV); for (img = 0; img < depth; img++) { GLubyte *srcMap; @@ -150,10 +148,19 @@ get_tex_depth_stencil(struct gl_context *ctx, GLuint dimensions, void *dest = _mesa_image_address(dimensions, &ctx->Pack, pixels, width, height, format, type, img, row, 0); - _mesa_unpack_depth_stencil_row(texImage->TexFormat, - width, - (const GLuint *) src, - type, dest); + switch (type) { + case GL_UNSIGNED_INT_24_8: + _mesa_unpack_uint_24_8_depth_stencil_row(texImage->TexFormat, + width, src, dest); + break; + case GL_FLOAT_32_UNSIGNED_INT_24_8_REV: + _mesa_unpack_float_32_uint_24_8_depth_stencil_row(texImage->TexFormat, + width, + src, dest); + break; + default: + unreachable("bad type in get_tex_depth_stencil()"); + } if (ctx->Pack.SwapBytes) { _mesa_swap4((GLuint *) dest, width); } |