[Mesa-dev] [PATCH 04/19] mesa: Add glGet support for ARB_shader_subroutine implementation limits

2015-07-09 Thread Dave Airlie
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

2015-05-31 Thread Dave Airlie
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