summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers
diff options
context:
space:
mode:
authorXavier Bouchoux <[email protected]>2014-12-17 23:10:04 +0100
committerEmil Velikov <[email protected]>2015-01-22 23:41:08 +0000
commit41ca03a7b442b642a6768676dd6dede2a7f8edc5 (patch)
tree23c1ec195d37135b6886bd056f47787c6569e524 /src/gallium/state_trackers
parent18ac34825b0a2e4b237cebf1f834922e19b8173f (diff)
st/nine: Fix D3DRS_POINTSPRITE support
It's done by testing the existence of the point sprite output register *after* parsing the vertex shader. Reviewed-by: Ilia Mirkin <[email protected]> Reviewed-by: David Heidelberg <[email protected]> Reviewed-by: Axel Davy <[email protected]> Signed-off-by: Xavier Bouchoux <[email protected]> Cc: "10.4" <[email protected]> (cherry picked from commit dc8898918900a584b1783c99e77b6310f3834f11)
Diffstat (limited to 'src/gallium/state_trackers')
-rw-r--r--src/gallium/state_trackers/nine/nine_shader.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gallium/state_trackers/nine/nine_shader.c b/src/gallium/state_trackers/nine/nine_shader.c
index 9a4d3f71c19..fbf33f25f9e 100644
--- a/src/gallium/state_trackers/nine/nine_shader.c
+++ b/src/gallium/state_trackers/nine/nine_shader.c
@@ -2844,9 +2844,6 @@ nine_translate_shader(struct NineDevice9 *device, struct nine_shader_info *info)
ureg_property_fs_coord_pixel_center(tx->ureg, TGSI_FS_COORD_PIXEL_CENTER_INTEGER);
}
- if (!ureg_dst_is_undef(tx->regs.oPts))
- info->point_size = TRUE;
-
while (!sm1_parse_eof(tx))
sm1_parse_instruction(tx);
tx->parse++; /* for byte_size */
@@ -2862,6 +2859,9 @@ nine_translate_shader(struct NineDevice9 *device, struct nine_shader_info *info)
ureg_END(tx->ureg);
+ if (IS_VS && !ureg_dst_is_undef(tx->regs.oPts))
+ info->point_size = TRUE;
+
if (debug_get_bool_option("NINE_TGSI_DUMP", FALSE)) {
unsigned count;
const struct tgsi_token *toks = ureg_get_tokens(tx->ureg, &count);