diff options
author | Marek Olšák <[email protected]> | 2015-08-29 17:00:11 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2015-09-01 21:51:14 +0200 |
commit | e21418f221f645397847c867b5f368ad0753e6fe (patch) | |
tree | d17056e15a7091246ac13771201214d6ca2517bb /src/gallium/drivers/radeonsi/si_state.h | |
parent | c44de3097925e0d7b4f310432448a62a681189d5 (diff) |
radeonsi: convert stencil ref state into an atom
Reviewed-by: Alex Deucher <[email protected]>
Acked-by: Christian König <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state.h')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.h b/src/gallium/drivers/radeonsi/si_state.h index 68a7cf9c3b4..60483db19b5 100644 --- a/src/gallium/drivers/radeonsi/si_state.h +++ b/src/gallium/drivers/radeonsi/si_state.h @@ -60,13 +60,23 @@ struct si_state_rasterizer { bool poly_smooth; }; -struct si_state_dsa { - struct si_pm4_state pm4; - unsigned alpha_func; +struct si_dsa_stencil_ref_part { uint8_t valuemask[2]; uint8_t writemask[2]; }; +struct si_state_dsa { + struct si_pm4_state pm4; + unsigned alpha_func; + struct si_dsa_stencil_ref_part stencil_ref; +}; + +struct si_stencil_ref { + struct r600_atom atom; + struct pipe_stencil_ref state; + struct si_dsa_stencil_ref_part dsa_part; +}; + struct si_vertex_element { unsigned count; @@ -82,7 +92,6 @@ union si_state { struct si_state_dsa *dsa; struct si_pm4_state *fb_rs; struct si_pm4_state *fb_blend; - struct si_pm4_state *dsa_stencil_ref; struct si_pm4_state *ta_bordercolor_base; struct si_pm4_state *ls; struct si_pm4_state *hs; @@ -113,6 +122,7 @@ union si_state_atoms { struct r600_atom *shader_userdata; struct r600_atom *scissors; struct r600_atom *viewports; + struct r600_atom *stencil_ref; } s; struct r600_atom *array[0]; }; |