summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/main/mtypes.h9
-rw-r--r--src/mesa/state_tracker/st_extensions.c6
2 files changed, 15 insertions, 0 deletions
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 1e06cd55c6b..19343497689 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -2830,6 +2830,15 @@ struct gl_constants
* Texture borders are deprecated in GL 3.0.
**/
GLboolean StripTextureBorder;
+
+ /**
+ * For drivers which can do a better job at eliminating unused varyings
+ * and uniforms than the GLSL compiler.
+ *
+ * XXX Remove these as soon as a better solution is available.
+ */
+ GLboolean GLSLSkipStrictMaxVaryingLimitCheck;
+ GLboolean GLSLSkipStrictMaxUniformLimitCheck;
};
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index 9e39729e9d4..457d5d62a8e 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -222,6 +222,12 @@ void st_init_limits(struct st_context *st)
c->UniformBooleanTrue = ~0;
c->StripTextureBorder = GL_TRUE;
+
+ c->GLSLSkipStrictMaxUniformLimitCheck =
+ screen->get_param(screen, PIPE_CAP_TGSI_CAN_COMPACT_CONSTANTS);
+
+ c->GLSLSkipStrictMaxVaryingLimitCheck =
+ screen->get_param(screen, PIPE_CAP_TGSI_CAN_COMPACT_VARYINGS);
}