summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2011-12-10 04:14:46 +0100
committerMarek Olšák <[email protected]>2011-12-13 17:49:00 +0100
commitdf809ae92343bb83c162ea4c807cefb67686717d (patch)
treeb4d6e1eea8c6c445948f88be30783afa6ba8c4e9 /src/mesa
parent8a11d40c4e8d3338571a8d85638d0100e1a2aafb (diff)
mesa: add const flags to skip MaxVarying and MaxUniform linker checks (v2)
This is only temporary until a better solution is available. v2: print warnings and add gallium CAPs Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
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);
}