From 3c7a0c690a1a0d72ad2b911e4a209447ce3edc1f Mon Sep 17 00:00:00 2001 From: Anuj Phogat Date: Fri, 30 May 2014 17:48:34 -0700 Subject: [PATCH] mesa: Fix condition for using compressed internalformat in glCompressedTexImage3D() Cc: Signed-off-by: Anuj Phogat Reviewed-by: Jason Ekstrand --- 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 b6c3e855d37..21ba4b624be 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -2299,7 +2299,14 @@ compressed_texture_error_check(struct gl_context *ctx, GLint dimensions, if (!_mesa_target_can_be_compressed(ctx, target, internalFormat)) { reason = "target"; - error = GL_INVALID_ENUM; + /* From section 3.8.6, page 146 of OpenGL ES 3.0 spec: + * + * "The ETC2/EAC texture compression algorithm supports only + * two-dimensional images. If internalformat is an ETC2/EAC format, + * CompressedTexImage3D will generate an INVALID_OPERATION error if + * target is not TEXTURE_2D_ARRAY." + */ + error = _mesa_is_desktop_gl(ctx) ? GL_INVALID_ENUM : GL_INVALID_OPERATION; goto error; } -- 2.30.2