st/nine: Add missing changed states to pixel stateblocks
authorAxel Davy <axel.davy@ens.fr>
Sun, 23 Oct 2016 10:16:38 +0000 (12:16 +0200)
committerAxel Davy <axel.davy@ens.fr>
Tue, 20 Dec 2016 22:44:20 +0000 (23:44 +0100)
Some states were not properly recorded in pixel stateblocks.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
src/gallium/state_trackers/nine/device9.c

index 1796fa3ce7461d34ffb2fa0fae08d46802f868e7..5b4d2ae08786307cb4223f2c071a11619f9fae68 100644 (file)
@@ -2520,7 +2520,10 @@ NineDevice9_CreateStateBlock( struct NineDevice9 *This,
     }
     if (Type == D3DSBT_ALL || Type == D3DSBT_PIXELSTATE) {
        dst->changed.group |=
-          NINE_STATE_PS | NINE_STATE_PS_CONST;
+          NINE_STATE_PS | NINE_STATE_PS_CONST | NINE_STATE_BLEND |
+          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));