Mesa (master): mesa: another target fix in compressed_subtexture_target_check()
Brian Paul
brianp at kemper.freedesktop.org
Fri Jul 24 02:21:43 UTC 2015
Module: Mesa
Branch: master
Commit: 05a44ab32832efe61a252ef4ac2d128c1101c286
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=05a44ab32832efe61a252ef4ac2d128c1101c286
Author: Brian Paul <brianp at vmware.com>
Date: Wed Jul 22 07:42:12 2015 -0600
mesa: another target fix in compressed_subtexture_target_check()
The previous fix added GL_TEXTURE_CUBE_MAP_ARRAY but we also need
to support GL_TEXTURE_CUBE_MAP (via DSA).
So in the end, GL_TEXTURE_3D is the only (legal) target for
glCompressedTex*SubImage3D() which needs additional compression
format checking. GL_TEXTURE_2D_ARRAY, GL_TEXTURE_CUBE_MAP_ARRAY
and GL_TEXTURE_CUBE_MAP are basically 2D images which support all
compressed formats.
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
---
src/mesa/main/teximage.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index 4fe6ee4..0726758 100644
--- a/src/mesa/main/teximage.c
+++ b/src/mesa/main/teximage.c
@@ -4581,12 +4581,19 @@ compressed_subtexture_target_check(struct gl_context *ctx, GLenum target,
* one of the EAC, ETC2, or RGTC formats and either border is
* non-zero, or the effective target for the texture is not
* TEXTURE_2D_ARRAY."
+ *
+ * NOTE: that's probably a spec error. It should probably say
+ * "... or the effective target for the texture is not
+ * TEXTURE_2D_ARRAY, TEXTURE_CUBE_MAP, nor GL_TEXTURE_CUBE_MAP_ARRAY."
+ * since those targets are 2D images and they support all compression
+ * formats.
+ *
* Instead of listing all these, just list those which are allowed,
* which is (at this time) only bptc. Otherwise we'd say s3tc (and more)
* are valid here, which they are not, but of course not mentioned by
* core spec.
*/
- if (target != GL_TEXTURE_2D_ARRAY && target != GL_TEXTURE_CUBE_MAP_ARRAY) {
+ if (target == GL_TEXTURE_3D) {
switch (format) {
/* These are the only 3D compression formats supported at this time */
case GL_COMPRESSED_RGBA_BPTC_UNORM:
More information about the mesa-commit
mailing list