[Mesa-dev] [PATCH 2/2] meta: Fix temporary image type for float depth/stencil.
Eric Anholt
eric at anholt.net
Thu May 30 12:16:05 PDT 2013
Fixes assertion failure in piglit copyteximage.
---
src/mesa/drivers/common/meta.c | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
index ca5f5a1..fd87fc0 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
@@ -3764,10 +3764,20 @@ get_temp_image_type(struct gl_context *ctx, gl_format format)
return datatype;
return GL_FLOAT;
}
- case GL_DEPTH_COMPONENT:
- return GL_UNSIGNED_INT;
- case GL_DEPTH_STENCIL:
- return GL_UNSIGNED_INT_24_8;
+ case GL_DEPTH_COMPONENT: {
+ GLenum datatype = _mesa_get_format_datatype(format);
+ if (datatype == GL_FLOAT)
+ return GL_FLOAT;
+ else
+ return GL_UNSIGNED_INT;
+ }
+ case GL_DEPTH_STENCIL: {
+ GLenum datatype = _mesa_get_format_datatype(format);
+ if (datatype == GL_FLOAT)
+ return GL_FLOAT_32_UNSIGNED_INT_24_8_REV;
+ else
+ return GL_UNSIGNED_INT_24_8;
+ }
default:
_mesa_problem(ctx, "Unexpected format %d in get_temp_image_type()",
baseFormat);
--
1.8.3.rc0
More information about the mesa-dev
mailing list