[Mesa-dev] [PATCH 04/19] mesa: Add glGet support for ARB_shader_subroutine implementation limits
From: Chris Forbes chr...@ijw.co.nz Reviewed-by: Tapani Pälli tapani.pa...@intel.com Reviewed-by: Kenneth Graunke kenn...@whitecape.org Signed-off-by: Chris Forbes chr...@ijw.co.nz Signed-off-by: Dave Airlie airl...@redhat.com --- src/mesa/main/config.h | 6 ++ src/mesa/main/get.c | 1 + src/mesa/main/get_hash_params.py | 4 src/mesa/main/tests/enum_strings.cpp | 9 + 4 files changed, 20 insertions(+) diff --git a/src/mesa/main/config.h b/src/mesa/main/config.h index 9c3baf4..07c3474 100644 --- a/src/mesa/main/config.h +++ b/src/mesa/main/config.h @@ -272,6 +272,12 @@ #define MAX_VERTEX_STREAMS 4 /*@}*/ +/** For GL_ARB_shader_subroutine */ +/*@{*/ +#define MAX_SUBROUTINES 256 +#define MAX_SUBROUTINE_UNIFORM_LOCATIONS 1024 +/*@}*/ + /** For GL_INTEL_performance_query */ /*@{*/ #define MAX_PERFQUERY_QUERY_NAME_LENGTH 256 diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index 3d6d639..ac9cba3 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -401,6 +401,7 @@ EXTRA_EXT(ARB_explicit_uniform_location); EXTRA_EXT(ARB_clip_control); EXTRA_EXT(EXT_polygon_offset_clamp); EXTRA_EXT(ARB_framebuffer_no_attachments); +EXTRA_EXT(ARB_shader_subroutine); static const int extra_ARB_color_buffer_float_or_glcore[] = { diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py index c25e1b6..842ed6c 100644 --- a/src/mesa/main/get_hash_params.py +++ b/src/mesa/main/get_hash_params.py @@ -824,6 +824,10 @@ descriptor=[ [ MIN_FRAGMENT_INTERPOLATION_OFFSET, CONTEXT_FLOAT(Const.MinFragmentInterpolationOffset), extra_ARB_gpu_shader5 ], [ MAX_FRAGMENT_INTERPOLATION_OFFSET, CONTEXT_FLOAT(Const.MaxFragmentInterpolationOffset), extra_ARB_gpu_shader5 ], [ FRAGMENT_INTERPOLATION_OFFSET_BITS, CONST(FRAGMENT_INTERPOLATION_OFFSET_BITS), extra_ARB_gpu_shader5 ], + +# GL_ARB_shader_subroutine + [ MAX_SUBROUTINES, CONST(MAX_SUBROUTINES), extra_ARB_shader_subroutine ], + [ MAX_SUBROUTINE_UNIFORM_LOCATIONS, CONST(MAX_SUBROUTINE_UNIFORM_LOCATIONS), extra_ARB_shader_subroutine ], ]} ] diff --git a/src/mesa/main/tests/enum_strings.cpp b/src/mesa/main/tests/enum_strings.cpp index dc5fe75..d40b82a 100644 --- a/src/mesa/main/tests/enum_strings.cpp +++ b/src/mesa/main/tests/enum_strings.cpp @@ -1731,6 +1731,10 @@ const struct enum_info everything[] = { { 0x8DDF, GL_MAX_GEOMETRY_UNIFORM_COMPONENTS }, { 0x8DE0, GL_MAX_GEOMETRY_OUTPUT_VERTICES }, { 0x8DE1, GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS }, + { 0x8DE5, GL_ACTIVE_SUBROUTINES }, + { 0x8DE6, GL_ACTIVE_SUBROUTINE_UNIFORMS }, + { 0x8DE7, GL_MAX_SUBROUTINES }, + { 0x8DE8, GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS }, { 0x8DF0, GL_LOW_FLOAT }, { 0x8DF1, GL_MEDIUM_FLOAT }, { 0x8DF2, GL_HIGH_FLOAT }, @@ -1759,6 +1763,11 @@ const struct enum_info everything[] = { { 0x8E44, GL_TEXTURE_SWIZZLE_B }, { 0x8E45, GL_TEXTURE_SWIZZLE_A }, { 0x8E46, GL_TEXTURE_SWIZZLE_RGBA }, + { 0x8E47, GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS }, + { 0x8E48, GL_ACTIVE_SUBROUTINE_MAX_LENGTH }, + { 0x8E49, GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH }, + { 0x8E4A, GL_NUM_COMPATIBLE_SUBROUTINES }, + { 0x8E4B, GL_COMPATIBLE_SUBROUTINES }, { 0x8E4C, GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION }, { 0x8E4D, GL_FIRST_VERTEX_CONVENTION }, { 0x8E4E, GL_LAST_VERTEX_CONVENTION }, -- 2.4.3 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 04/19] mesa: Add glGet support for ARB_shader_subroutine implementation limits
From: Chris Forbes chr...@ijw.co.nz Signed-off-by: Chris Forbes chr...@ijw.co.nz --- src/mesa/main/config.h | 6 ++ src/mesa/main/get.c | 1 + src/mesa/main/get_hash_params.py | 4 src/mesa/main/tests/enum_strings.cpp | 9 + 4 files changed, 20 insertions(+) diff --git a/src/mesa/main/config.h b/src/mesa/main/config.h index 5a66a4e..fd19877 100644 --- a/src/mesa/main/config.h +++ b/src/mesa/main/config.h @@ -281,6 +281,12 @@ #define MAX_VERTEX_STREAMS 4 /*@}*/ +/** For GL_ARB_shader_subroutine */ +/*@{*/ +#define MAX_SUBROUTINES 256 +#define MAX_SUBROUTINE_UNIFORM_LOCATIONS 1024 +/*@}*/ + /** For GL_INTEL_performance_query */ /*@{*/ #define MAX_PERFQUERY_QUERY_NAME_LENGTH 256 diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index 8a6c81a..b8b8127 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -393,6 +393,7 @@ EXTRA_EXT(INTEL_performance_query); EXTRA_EXT(ARB_explicit_uniform_location); EXTRA_EXT(ARB_clip_control); EXTRA_EXT(EXT_polygon_offset_clamp); +EXTRA_EXT(ARB_shader_subroutine); static const int extra_ARB_color_buffer_float_or_glcore[] = { diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py index 41cb2c1..3dba672 100644 --- a/src/mesa/main/get_hash_params.py +++ b/src/mesa/main/get_hash_params.py @@ -798,6 +798,10 @@ descriptor=[ [ MIN_FRAGMENT_INTERPOLATION_OFFSET, CONTEXT_FLOAT(Const.MinFragmentInterpolationOffset), extra_ARB_gpu_shader5 ], [ MAX_FRAGMENT_INTERPOLATION_OFFSET, CONTEXT_FLOAT(Const.MaxFragmentInterpolationOffset), extra_ARB_gpu_shader5 ], [ FRAGMENT_INTERPOLATION_OFFSET_BITS, CONST(FRAGMENT_INTERPOLATION_OFFSET_BITS), extra_ARB_gpu_shader5 ], + +# GL_ARB_shader_subroutine + [ MAX_SUBROUTINES, CONST(MAX_SUBROUTINES), extra_ARB_shader_subroutine ], + [ MAX_SUBROUTINE_UNIFORM_LOCATIONS, CONST(MAX_SUBROUTINE_UNIFORM_LOCATIONS), extra_ARB_shader_subroutine ], ]}, # Enums restricted to OpenGL Core profile diff --git a/src/mesa/main/tests/enum_strings.cpp b/src/mesa/main/tests/enum_strings.cpp index dc5fe75..d40b82a 100644 --- a/src/mesa/main/tests/enum_strings.cpp +++ b/src/mesa/main/tests/enum_strings.cpp @@ -1731,6 +1731,10 @@ const struct enum_info everything[] = { { 0x8DDF, GL_MAX_GEOMETRY_UNIFORM_COMPONENTS }, { 0x8DE0, GL_MAX_GEOMETRY_OUTPUT_VERTICES }, { 0x8DE1, GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS }, + { 0x8DE5, GL_ACTIVE_SUBROUTINES }, + { 0x8DE6, GL_ACTIVE_SUBROUTINE_UNIFORMS }, + { 0x8DE7, GL_MAX_SUBROUTINES }, + { 0x8DE8, GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS }, { 0x8DF0, GL_LOW_FLOAT }, { 0x8DF1, GL_MEDIUM_FLOAT }, { 0x8DF2, GL_HIGH_FLOAT }, @@ -1759,6 +1763,11 @@ const struct enum_info everything[] = { { 0x8E44, GL_TEXTURE_SWIZZLE_B }, { 0x8E45, GL_TEXTURE_SWIZZLE_A }, { 0x8E46, GL_TEXTURE_SWIZZLE_RGBA }, + { 0x8E47, GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS }, + { 0x8E48, GL_ACTIVE_SUBROUTINE_MAX_LENGTH }, + { 0x8E49, GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH }, + { 0x8E4A, GL_NUM_COMPATIBLE_SUBROUTINES }, + { 0x8E4B, GL_COMPATIBLE_SUBROUTINES }, { 0x8E4C, GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION }, { 0x8E4D, GL_FIRST_VERTEX_CONVENTION }, { 0x8E4E, GL_LAST_VERTEX_CONVENTION }, -- 2.1.0 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev