diff options
author | Roland Scheidegger <sroland@vmware.com> | 2010-02-12 21:39:29 +0100 |
---|---|---|
committer | Roland Scheidegger <sroland@vmware.com> | 2010-02-12 21:39:29 +0100 |
commit | 6602889d82d1402338f5d23e37a9f46db99e86c6 (patch) | |
tree | de80ae0d9607b02252043852fe385418e4c5379a /src/gallium/drivers/cell/ppu/cell_pipe_state.c | |
parent | af1052e2804ee5fbcde3c8f8618feeb2c17b51fd (diff) | |
parent | 0087f9dc0690e5de139f89ea4577b1824b918757 (diff) |
Merge branch 'gallium-dynamicstencilref'
Diffstat (limited to 'src/gallium/drivers/cell/ppu/cell_pipe_state.c')
-rw-r--r-- | src/gallium/drivers/cell/ppu/cell_pipe_state.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/gallium/drivers/cell/ppu/cell_pipe_state.c b/src/gallium/drivers/cell/ppu/cell_pipe_state.c index 3259c58687..3d8b4409c7 100644 --- a/src/gallium/drivers/cell/ppu/cell_pipe_state.c +++ b/src/gallium/drivers/cell/ppu/cell_pipe_state.c @@ -113,6 +113,19 @@ cell_delete_depth_stencil_alpha_state(struct pipe_context *pipe, void *dsa) static void +cell_set_stencil_ref(struct pipe_context *pipe, + const struct pipe_stencil_ref *stencil_ref) +{ + struct cell_context *cell = cell_context(pipe); + + draw_flush(cell->draw); + + cell->stencil_ref = *stencil_ref; + + cell->dirty |= CELL_NEW_DEPTH_STENCIL; +} + +static void cell_set_clip_state(struct pipe_context *pipe, const struct pipe_clip_state *clip) { @@ -397,6 +410,7 @@ cell_init_state_functions(struct cell_context *cell) cell->pipe.delete_rasterizer_state = cell_delete_rasterizer_state; cell->pipe.set_blend_color = cell_set_blend_color; + cell->pipe.set_stencil_ref = cell_set_stencil_ref; cell->pipe.set_clip_state = cell_set_clip_state; cell->pipe.set_framebuffer_state = cell_set_framebuffer_state; |