diff options
author | Christian König <[email protected]> | 2012-09-14 17:05:34 +0200 |
---|---|---|
committer | Christian König <[email protected]> | 2012-09-26 11:04:36 +0200 |
commit | 04473db38ade5902a6ad49dba8ca8215599d57be (patch) | |
tree | 32a45fcbaff0db2f2c42d3b49649e9cf6cbce337 /src/gallium/drivers/radeonsi/si_state.h | |
parent | 112caa853d53467a9c0ef171f272505db0278c6a (diff) |
radeonsi: start reworking inferred state handling
Instead of tracking the inferred state changes separately
just check if queued and emitted states are the same.
This patch just reworks the update of the SPI map between
vs and ps, but there are probably more cases like this.
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state.h')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.h b/src/gallium/drivers/radeonsi/si_state.h index d59624cd8e6..5c908a701ce 100644 --- a/src/gallium/drivers/radeonsi/si_state.h +++ b/src/gallium/drivers/radeonsi/si_state.h @@ -101,6 +101,9 @@ union si_state { #define si_pm4_block_idx(member) \ (offsetof(union si_state, named.member) / sizeof(struct si_pm4_state *)) +#define si_pm4_state_changed(rctx, member) \ + ((rctx)->queued.named.member != (rctx)->emitted.named.member) + #define si_pm4_bind_state(rctx, member, value) \ do { \ (rctx)->queued.named.member = (value); \ |