summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_state.h
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2015-08-29 17:00:11 +0200
committerMarek Olšák <[email protected]>2015-09-01 21:51:14 +0200
commite21418f221f645397847c867b5f368ad0753e6fe (patch)
treed17056e15a7091246ac13771201214d6ca2517bb /src/gallium/drivers/radeonsi/si_state.h
parentc44de3097925e0d7b4f310432448a62a681189d5 (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.h18
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];
};