summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Davy <[email protected]>2016-10-23 22:26:23 +0200
committerAxel Davy <[email protected]>2016-12-20 23:44:20 +0100
commitada0c2ceaa510550ad11f509016fc09f5a5e56d3 (patch)
tree8851a05f115972a42229a2a6e92b68367e5347be
parent8b021be769ae74ba0bf5d79b7faee693f5cd5807 (diff)
st/nine: Capture texturestage states in pixel stateblocks
pixels stateblocks need to capture these. Signed-off-by: Axel Davy <[email protected]>
-rw-r--r--src/gallium/state_trackers/nine/device9.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/nine/device9.c b/src/gallium/state_trackers/nine/device9.c
index 5b4d2ae0878..8b03e9bc033 100644
--- a/src/gallium/state_trackers/nine/device9.c
+++ b/src/gallium/state_trackers/nine/device9.c
@@ -2524,7 +2524,6 @@ NineDevice9_CreateStateBlock( struct NineDevice9 *This,
NINE_STATE_FF_OTHER | NINE_STATE_FF_PSSTAGES | NINE_STATE_PS_CONST |
NINE_STATE_FB | NINE_STATE_DSA | NINE_STATE_MULTISAMPLE |
NINE_STATE_RASTERIZER | NINE_STATE_STENCIL_REF;
- /* TODO: texture/sampler state */
memcpy(dst->changed.rs,
nine_render_states_pixel, sizeof(dst->changed.rs));
nine_ranges_insert(&dst->changed.ps_const_f, 0, This->max_ps_const_f,
@@ -2533,6 +2532,10 @@ NineDevice9_CreateStateBlock( struct NineDevice9 *This,
dst->changed.ps_const_b = 0xffff;
for (s = 0; s < NINE_MAX_SAMPLERS; ++s)
dst->changed.sampler[s] |= 0x1ffe;
+ for (s = 0; s < NINE_MAX_TEXTURE_STAGES; ++s) {
+ dst->ff.changed.tex_stage[s][0] |= 0xffffffff;
+ dst->ff.changed.tex_stage[s][1] |= 0xffffffff;
+ }
}
if (Type == D3DSBT_ALL) {
dst->changed.group |=