summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2017-05-01 09:51:01 -0700
committerEric Anholt <[email protected]>2017-10-10 09:31:29 -0700
commitcee5585da7e8a164952347c8dbf72844cad85d9d (patch)
tree1b9e11ebc0732343a58bcec916ff0a8781fe1d7b /src/mesa/main
parentcbb532429b68ce0e401413bdcc75a2f122786302 (diff)
mesa: Only expose GLES's EXT_texture_type_2_10_10_10_REV if supported in HW.
Previously, we were downconverting to 8888 automatically if the hardware didn't suport it. However, with the advent of GL_OES_required_internalformat, we have to actually store the internalformats we advertise support for. And, it seems rather disingenuous to advertise the extension if we don't actually support it. v2: Throw an error when using the format on ES2 without the extension present. Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/mesa/main')
-rw-r--r--src/mesa/main/extensions_table.h2
-rw-r--r--src/mesa/main/glformats.c3
-rw-r--r--src/mesa/main/mtypes.h1
3 files changed, 4 insertions, 2 deletions
diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h
index 9475c1b69d9..7254cac89c6 100644
--- a/src/mesa/main/extensions_table.h
+++ b/src/mesa/main/extensions_table.h
@@ -284,7 +284,7 @@ EXT(EXT_texture_sRGB_decode , EXT_texture_sRGB_decode
EXT(EXT_texture_shared_exponent , EXT_texture_shared_exponent , GLL, GLC, x , x , 2004)
EXT(EXT_texture_snorm , EXT_texture_snorm , GLL, GLC, x , x , 2009)
EXT(EXT_texture_swizzle , EXT_texture_swizzle , GLL, GLC, x , x , 2008)
-EXT(EXT_texture_type_2_10_10_10_REV , dummy_true , x , x , x , ES2, 2008)
+EXT(EXT_texture_type_2_10_10_10_REV , EXT_texture_type_2_10_10_10_REV , x , x , x , ES2, 2008)
EXT(EXT_timer_query , EXT_timer_query , GLL, GLC, x , x , 2006)
EXT(EXT_transform_feedback , EXT_transform_feedback , GLL, GLC, x , x , 2011)
EXT(EXT_unpack_subimage , dummy_true , x , x , x , ES2, 2011)
diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c
index 4f240206ff4..aec41f07993 100644
--- a/src/mesa/main/glformats.c
+++ b/src/mesa/main/glformats.c
@@ -2234,7 +2234,8 @@ _mesa_es_error_check_format_and_type(const struct gl_context *ctx,
|| type == GL_UNSIGNED_SHORT_5_5_5_1
|| type == GL_FLOAT
|| type == GL_HALF_FLOAT_OES
- || type == GL_UNSIGNED_INT_2_10_10_10_REV);
+ || (ctx->Extensions.EXT_texture_type_2_10_10_10_REV &&
+ type == GL_UNSIGNED_INT_2_10_10_10_REV));
break;
case GL_DEPTH_COMPONENT:
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index abda1a36e46..455e7514ab9 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -4151,6 +4151,7 @@ struct gl_extensions
GLboolean EXT_texture_sRGB;
GLboolean EXT_texture_sRGB_decode;
GLboolean EXT_texture_swizzle;
+ GLboolean EXT_texture_type_2_10_10_10_REV;
GLboolean EXT_transform_feedback;
GLboolean EXT_timer_query;
GLboolean EXT_vertex_array_bgra;