st/nine: Add Render state validation layer
authorAxel Davy <axel.davy@ens.fr>
Sat, 16 May 2015 12:28:41 +0000 (14:28 +0200)
committerAxel Davy <axel.davy@ens.fr>
Thu, 4 Feb 2016 21:12:17 +0000 (22:12 +0100)
commit56b4222b299ff08da4eda63fcc608dc77fc585f1
treee0a93b2ffe710ebecab5fe84ccb6e9004a8be753
parent7132617436dda072f874f6f206847e62038ce39e
st/nine: Add Render state validation layer

Testing Win behaviour seems to show wrong states
are accepted, but then depending on the states
some specific 'good' behaviours happen.

This adds some validation to catch invalid
states and have these 'good' behaviours
when it happens.

Also reorders SetRenderState to match the expected
optimisation:
(Value == previous Value) => return immediately,
which affects D3D9 hacks too.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
src/gallium/state_trackers/nine/device9.c
src/gallium/state_trackers/nine/nine_limits.h [new file with mode: 0644]
src/gallium/state_trackers/nine/nine_state.c
src/gallium/state_trackers/nine/nine_state.h
src/gallium/state_trackers/nine/stateblock9.c