diff options
author | Kenneth Graunke <[email protected]> | 2013-06-08 12:58:17 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2013-06-11 15:42:16 -0700 |
commit | da1a896b0f95611e506df46e37a8d2b07e1ddd78 (patch) | |
tree | 5be2ce02c80afe3dcece81a4eea77c7561d986e6 /include | |
parent | babe35a067d1610d9032cc28eec8e16b18685621 (diff) |
i965: Emit the BLEND_STATE pointer directly rather than via atoms.
Previously, we would:
1. Emit the new indirect state.
2. Flag CACHE_NEW_BLEND_STATE.
3. Rely on later state atoms to notice CACHE_NEW_BLEND_STATE and emit a
pointer to the new indirect state.
This is rather cumbersome: it requires two state atoms instead of one,
and there's a strict ordering dependency in the list. Plus, the code
gets spread across two functions (or even files in the case of Gen7+).
Gen7+ has a packet to update just the blend state pointer, so it makes a
lot of sense to simply emit that right away. Gen6 has a combined packet
which updates blending, the color calculator, and depth/stencil state;
however, each can still be modified independently.
This drops the Gen6 micro-optimization where we tried to only emit one
packet that changed all three states. State updates are pretty cheap.
CACHE_NEW_BLEND_STATE is no longer necessary, so drop it.
Signed-off-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions