[Mesa-dev] [PATCH v2 63/65] mesa/glformats: Consider DEPTH/STENCIL when resolving a mesa_format
Eduardo Lima Mitev
elima at igalia.com
Wed Feb 3 16:04:57 UTC 2016
_mesa_format_from_format_and_type() is currently not considering DEPTH and
STENCIL formats, which are not array formats and are not handled anywhere.
This patch adds cases for common combinations of DEPTH/STENCIL format and
types.
---
src/mesa/main/glformats.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c
index e947543..60a6122 100644
--- a/src/mesa/main/glformats.c
+++ b/src/mesa/main/glformats.c
@@ -3513,6 +3513,27 @@ _mesa_format_from_format_and_type(GLenum format, GLenum type)
case GL_UNSIGNED_INT_10F_11F_11F_REV:
if (format == GL_RGB)
return MESA_FORMAT_R11G11B10_FLOAT;
+ break;
+ case GL_FLOAT:
+ if (format == GL_DEPTH_COMPONENT)
+ return MESA_FORMAT_Z_FLOAT32;
+ break;
+ case GL_UNSIGNED_INT:
+ if (format == GL_DEPTH_COMPONENT)
+ return MESA_FORMAT_Z_UNORM32;
+ break;
+ case GL_UNSIGNED_SHORT:
+ if (format == GL_DEPTH_COMPONENT)
+ return MESA_FORMAT_Z_UNORM16;
+ break;
+ case GL_UNSIGNED_INT_24_8:
+ if (format == GL_DEPTH_STENCIL)
+ return MESA_FORMAT_Z24_UNORM_S8_UINT;
+ break;
+ case GL_FLOAT_32_UNSIGNED_INT_24_8_REV:
+ if (format == GL_DEPTH_STENCIL)
+ return MESA_FORMAT_Z32_FLOAT_S8X24_UINT;
+ break;
default:
break;
}
--
2.5.3
More information about the mesa-dev
mailing list