summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers
diff options
context:
space:
mode:
authorAxel Davy <[email protected]>2016-09-25 02:05:28 +0200
committerAxel Davy <[email protected]>2016-10-10 23:43:50 +0200
commita3ddc80ec84533329af6540108230b079858c378 (patch)
tree6f2cb09e7cc4efc467ea1c61acd7cbb12f6b100b /src/gallium/state_trackers
parent0b5bed774b420c29c45e16a0d962e29a4d0ffb4e (diff)
st/nine: Enable passthrough only if positiont is used
Wine tests for the passthrough feature are for positiont. Nothing seems to indicate passthrough happens when positiont it not used. However having passthrough with positiont makes sense (to be used with ProcessVertices outputs). Signed-off-by: Axel Davy <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers')
-rw-r--r--src/gallium/state_trackers/nine/nine_ff.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/nine/nine_ff.c b/src/gallium/state_trackers/nine/nine_ff.c
index ce19b9ba3dd..d0a8361b673 100644
--- a/src/gallium/state_trackers/nine/nine_ff.c
+++ b/src/gallium/state_trackers/nine/nine_ff.c
@@ -1584,6 +1584,8 @@ nine_ff_get_vs(struct NineDevice9 *device)
key.passthrough &= ~((1 << NINE_DECLUSAGE_POSITION) | (1 << NINE_DECLUSAGE_PSIZE) |
(1 << NINE_DECLUSAGE_TEXCOORD) | (1 << NINE_DECLUSAGE_POSITIONT) |
(1 << NINE_DECLUSAGE_TESSFACTOR) | (1 << NINE_DECLUSAGE_SAMPLE));
+ if (!key.position_t)
+ key.passthrough = 0;
key.pointscale = !!state->rs[D3DRS_POINTSCALEENABLE];
key.lighting = !!state->rs[D3DRS_LIGHTING] && state->ff.num_lights_active;