summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/failover
diff options
context:
space:
mode:
authorZack Rusin <zack@tungstengraphics.com>2007-09-18 13:24:44 -0400
committerZack Rusin <zack@tungstengraphics.com>2007-09-18 13:24:44 -0400
commitccd63b54cfbb6bb241d55f7ac95afcd14819f469 (patch)
tree3ea07838de79877e6d441506cdd6f805fcb9d308 /src/mesa/pipe/failover
parent498a1b5dc4ca431bb1de45d04140bfb2ac319ab2 (diff)
Convert shader to an immutable state object.
Diffstat (limited to 'src/mesa/pipe/failover')
-rw-r--r--src/mesa/pipe/failover/fo_context.h4
-rw-r--r--src/mesa/pipe/failover/fo_state.c19
-rw-r--r--src/mesa/pipe/failover/fo_state_emit.c4
3 files changed, 13 insertions, 14 deletions
diff --git a/src/mesa/pipe/failover/fo_context.h b/src/mesa/pipe/failover/fo_context.h
index b05ceb88ad..9556a17e4d 100644
--- a/src/mesa/pipe/failover/fo_context.h
+++ b/src/mesa/pipe/failover/fo_context.h
@@ -70,14 +70,14 @@ struct failover_context {
const struct pipe_sampler_state *sampler[PIPE_MAX_SAMPLERS];
const struct pipe_depth_stencil_state *depth_stencil;
const struct pipe_rasterizer_state *rasterizer;
+ const struct pipe_shader_state *fragment_shader;
+ const struct pipe_shader_state *vertex_shader;
struct pipe_alpha_test_state alpha_test;
struct pipe_blend_color blend_color;
struct pipe_clear_color_state clear_color;
struct pipe_clip_state clip;
struct pipe_framebuffer_state framebuffer;
- struct pipe_shader_state fragment_shader;
- struct pipe_shader_state vertex_shader;
struct pipe_poly_stipple poly_stipple;
struct pipe_scissor_state scissor;
struct pipe_mipmap_tree *texture[PIPE_MAX_SAMPLERS];
diff --git a/src/mesa/pipe/failover/fo_state.c b/src/mesa/pipe/failover/fo_state.c
index 8e2b649590..04ebd33d0d 100644
--- a/src/mesa/pipe/failover/fo_state.c
+++ b/src/mesa/pipe/failover/fo_state.c
@@ -125,28 +125,27 @@ failover_set_framebuffer_state(struct pipe_context *pipe,
}
static void
-failover_set_fs_state(struct pipe_context *pipe,
- const struct pipe_shader_state *fs)
+failover_bind_fs_state(struct pipe_context *pipe,
+ const struct pipe_shader_state *fs)
{
struct failover_context *failover = failover_context(pipe);
- failover->fragment_shader = *fs;
+ failover->fragment_shader = fs;
failover->dirty |= FO_NEW_FRAGMENT_SHADER;
- failover->hw->set_fs_state( failover->hw, fs );
+ failover->hw->bind_fs_state( failover->hw, fs );
}
static void
-failover_set_vs_state(struct pipe_context *pipe,
+failover_bind_vs_state(struct pipe_context *pipe,
const struct pipe_shader_state *vs)
{
struct failover_context *failover = failover_context(pipe);
- failover->vertex_shader = *vs;
+ failover->vertex_shader = vs;
failover->dirty |= FO_NEW_VERTEX_SHADER;
- failover->hw->set_vs_state( failover->hw, vs );
+ failover->hw->bind_vs_state( failover->hw, vs );
}
-
static void
failover_set_polygon_stipple( struct pipe_context *pipe,
const struct pipe_poly_stipple *stipple )
@@ -258,14 +257,14 @@ failover_init_state_functions( struct failover_context *failover )
failover->pipe.bind_sampler_state = failover_bind_sampler_state;
failover->pipe.bind_depth_stencil_state = failover_bind_depth_stencil_state;
failover->pipe.bind_rasterizer_state = failover_bind_rasterizer_state;
+ failover->pipe.bind_fs_state = failover_bind_fs_state;
+ failover->pipe.bind_vs_state = failover_bind_vs_state;
failover->pipe.set_alpha_test_state = failover_set_alpha_test_state;
failover->pipe.set_blend_color = failover_set_blend_color;
failover->pipe.set_clip_state = failover_set_clip_state;
failover->pipe.set_clear_color_state = failover_set_clear_color_state;
failover->pipe.set_framebuffer_state = failover_set_framebuffer_state;
- failover->pipe.set_fs_state = failover_set_fs_state;
- failover->pipe.set_vs_state = failover_set_vs_state;
failover->pipe.set_polygon_stipple = failover_set_polygon_stipple;
failover->pipe.set_scissor_state = failover_set_scissor_state;
failover->pipe.set_texture_state = failover_set_texture_state;
diff --git a/src/mesa/pipe/failover/fo_state_emit.c b/src/mesa/pipe/failover/fo_state_emit.c
index 1c9573a7b0..9d304074d0 100644
--- a/src/mesa/pipe/failover/fo_state_emit.c
+++ b/src/mesa/pipe/failover/fo_state_emit.c
@@ -77,10 +77,10 @@ failover_state_emit( struct failover_context *failover )
failover->sw->set_framebuffer_state( failover->sw, &failover->framebuffer );
if (failover->dirty & FO_NEW_FRAGMENT_SHADER)
- failover->sw->set_fs_state( failover->sw, &failover->fragment_shader );
+ failover->sw->bind_fs_state( failover->sw, failover->fragment_shader );
if (failover->dirty & FO_NEW_VERTEX_SHADER)
- failover->sw->set_vs_state( failover->sw, &failover->vertex_shader );
+ failover->sw->bind_vs_state( failover->sw, failover->vertex_shader );
if (failover->dirty & FO_NEW_STIPPLE)
failover->sw->set_polygon_stipple( failover->sw, &failover->poly_stipple );