Functionality already covered by ARB_texture_view, patch also adds missing 'gles guard' for enums (added in f1563e6392).
Tested via arb_texture_view.*_gles3 tests and individual app utilizing texture view with ETC2. Signed-off-by: Tapani Pälli <tapani.pa...@intel.com> --- src/mapi/glapi/gen/es_EXT.xml | 15 +++++++++++++++ src/mesa/main/context.h | 7 +++++++ src/mesa/main/extensions_table.h | 1 + src/mesa/main/mtypes.h | 1 + src/mesa/main/tests/dispatch_sanity.cpp | 3 +++ src/mesa/main/texparam.c | 11 +++++------ 6 files changed, 32 insertions(+), 6 deletions(-) diff --git a/src/mapi/glapi/gen/es_EXT.xml b/src/mapi/glapi/gen/es_EXT.xml index a53fcd1e8a..459f642e47 100644 --- a/src/mapi/glapi/gen/es_EXT.xml +++ b/src/mapi/glapi/gen/es_EXT.xml @@ -1445,4 +1445,19 @@ </function> </category> +<!-- 218. GL_OES_texture_view --> + +<category name="GL_OES_texture_view" number="218"> + <function name="TextureViewOES" es2="3.1" alias="TextureView"> + <param name="texture" type="GLuint"/> + <param name="target" type="GLenum"/> + <param name="origtexture" type="GLuint"/> + <param name="internalformat" type="GLenum"/> + <param name="minlevel" type="GLuint"/> + <param name="numlevels" type="GLuint"/> + <param name="minlayer" type="GLuint"/> + <param name="numlayers" type="GLuint"/> + </function> +</category> + </OpenGLAPI> diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h index ef06540e9b..77520f678f 100644 --- a/src/mesa/main/context.h +++ b/src/mesa/main/context.h @@ -362,6 +362,13 @@ _mesa_has_texture_cube_map_array(const struct gl_context *ctx) _mesa_has_OES_texture_cube_map_array(ctx); } +static inline bool +_mesa_has_texture_view(const struct gl_context *ctx) +{ + return _mesa_has_ARB_texture_view(ctx) || + _mesa_has_OES_texture_view(ctx); +} + #ifdef __cplusplus } #endif diff --git a/src/mesa/main/extensions_table.h b/src/mesa/main/extensions_table.h index 945b462122..13d6c59427 100644 --- a/src/mesa/main/extensions_table.h +++ b/src/mesa/main/extensions_table.h @@ -421,6 +421,7 @@ EXT(OES_texture_mirrored_repeat , dummy_true EXT(OES_texture_npot , ARB_texture_non_power_of_two , x , x , ES1, ES2, 2005) EXT(OES_texture_stencil8 , ARB_texture_stencil8 , x , x , x , 30, 2014) EXT(OES_texture_storage_multisample_2d_array, ARB_texture_multisample , x , x , x , 31, 2014) +EXT(OES_texture_view , OES_texture_view , x , x , x , 31, 2014) EXT(OES_vertex_array_object , dummy_true , x , x , ES1, ES2, 2010) EXT(OES_vertex_half_float , ARB_half_float_vertex , x , x , x , ES2, 2005) EXT(OES_viewport_array , OES_viewport_array , x , x , x , 31, 2010) diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 2c87308dd7..90cc8a2d5e 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -4156,6 +4156,7 @@ struct gl_extensions GLboolean OES_standard_derivatives; GLboolean OES_texture_buffer; GLboolean OES_texture_cube_map_array; + GLboolean OES_texture_view; GLboolean OES_viewport_array; /* vendor extensions */ GLboolean AMD_performance_monitor; diff --git a/src/mesa/main/tests/dispatch_sanity.cpp b/src/mesa/main/tests/dispatch_sanity.cpp index b1413907de..99ff495a24 100644 --- a/src/mesa/main/tests/dispatch_sanity.cpp +++ b/src/mesa/main/tests/dispatch_sanity.cpp @@ -2749,6 +2749,9 @@ const struct function gles31_functions_possible[] = { /* GL_OES_texture_storage_multisample_2d_array */ { "glTexStorage3DMultisampleOES", 31, -1 }, + /* GL_OES_texture_view */ + { "glTextureViewOES", 31, -1 }, + /* GL_EXT_buffer_storage */ { "glBufferStorageEXT", 31, -1 }, diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c index 301407e738..b5d86d64d5 100644 --- a/src/mesa/main/texparam.c +++ b/src/mesa/main/texparam.c @@ -1979,33 +1979,32 @@ get_tex_parameterfv(struct gl_context *ctx, break; case GL_TEXTURE_IMMUTABLE_LEVELS: - if (_mesa_is_gles3(ctx) || - (_mesa_is_desktop_gl(ctx) && ctx->Extensions.ARB_texture_view)) + if (_mesa_is_gles3(ctx) || _mesa_has_texture_view(ctx)) *params = (GLfloat) obj->ImmutableLevels; else goto invalid_pname; break; case GL_TEXTURE_VIEW_MIN_LEVEL: - if (!ctx->Extensions.ARB_texture_view) + if (!_mesa_has_texture_view(ctx)) goto invalid_pname; *params = (GLfloat) obj->MinLevel; break; case GL_TEXTURE_VIEW_NUM_LEVELS: - if (!ctx->Extensions.ARB_texture_view) + if (!_mesa_has_texture_view(ctx)) goto invalid_pname; *params = (GLfloat) obj->NumLevels; break; case GL_TEXTURE_VIEW_MIN_LAYER: - if (!ctx->Extensions.ARB_texture_view) + if (!_mesa_has_texture_view(ctx)) goto invalid_pname; *params = (GLfloat) obj->MinLayer; break; case GL_TEXTURE_VIEW_NUM_LAYERS: - if (!ctx->Extensions.ARB_texture_view) + if (!_mesa_has_texture_view(ctx)) goto invalid_pname; *params = (GLfloat) obj->NumLayers; break; -- 2.13.6 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev