diff options
author | Axel Davy <axel.davy@ens.fr> | 2016-09-25 02:05:28 +0200 |
---|---|---|
committer | Axel Davy <axel.davy@ens.fr> | 2016-10-10 23:43:50 +0200 |
commit | a3ddc80ec84533329af6540108230b079858c378 (patch) | |
tree | 6f2cb09e7cc4efc467ea1c61acd7cbb12f6b100b /src/gallium/state_trackers/nine | |
parent | 0b5bed774b420c29c45e16a0d962e29a4d0ffb4e (diff) | |
download | external_mesa3d-a3ddc80ec84533329af6540108230b079858c378.zip external_mesa3d-a3ddc80ec84533329af6540108230b079858c378.tar.gz external_mesa3d-a3ddc80ec84533329af6540108230b079858c378.tar.bz2 |
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 <axel.davy@ens.fr>
Diffstat (limited to 'src/gallium/state_trackers/nine')
-rw-r--r-- | src/gallium/state_trackers/nine/nine_ff.c | 2 |
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 ce19b9b..d0a8361 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; |