summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_extensions.c
diff options
context:
space:
mode:
authorLuca Barbieri <[email protected]>2010-09-05 18:49:54 +0200
committerIan Romanick <[email protected]>2010-09-08 20:36:37 -0700
commit6d3a2c97f4a78e85545286e0e126cd3a27bd1cbd (patch)
tree90583a2499c09d4211616dd2b36a3e9134092c2c /src/mesa/state_tracker/st_extensions.c
parentede4205b245ee58bacf866d298273ebbe31feacf (diff)
glsl: make compiler options per-target
This allows us to specify different options, especially useful for chips without unified shaders. Signed-off-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker/st_extensions.c')
-rw-r--r--src/mesa/state_tracker/st_extensions.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index acb9526c01c..82be1494338 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -68,6 +68,7 @@ void st_init_limits(struct st_context *st)
struct pipe_screen *screen = st->pipe->screen;
struct gl_constants *c = &st->ctx->Const;
struct gl_program_constants *pc;
+ unsigned i;
c->MaxTextureLevels
= _min(screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_2D_LEVELS),
@@ -136,8 +137,9 @@ void st_init_limits(struct st_context *st)
/* Is TGSI_OPCODE_CONT supported? */
/* XXX separate query for early function return? */
- st->ctx->Shader.EmitContReturn =
- screen->get_param(screen, PIPE_CAP_TGSI_CONT_SUPPORTED);
+ for(i = 0; i < MESA_SHADER_TYPES; ++i)
+ st->ctx->ShaderCompilerOptions[i].EmitContReturn =
+ screen->get_param(screen, PIPE_CAP_TGSI_CONT_SUPPORTED);
/* Quads always follow GL provoking rules. */
c->QuadsFollowProvokingVertexConvention = GL_FALSE;