From ada0c2ceaa510550ad11f509016fc09f5a5e56d3 Mon Sep 17 00:00:00 2001 From: Axel Davy Date: Sun, 23 Oct 2016 22:26:23 +0200 Subject: [PATCH] st/nine: Capture texturestage states in pixel stateblocks pixels stateblocks need to capture these. Signed-off-by: Axel Davy --- src/gallium/state_trackers/nine/device9.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 |= -- 2.30.2