aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300/r300_tgsi_to_rc.h
diff options
context:
space:
mode:
authorCorbin Simpson <[email protected]>2010-02-10 18:38:53 -0800
committerCorbin Simpson <[email protected]>2010-02-10 18:40:12 -0800
commit229db2b8ade33571e4cece1d838234895db220c2 (patch)
tree37831eb0fc978d15574b7efdc6bfbc8f3f96f94c /src/gallium/drivers/r300/r300_tgsi_to_rc.h
parent218590f70723ce0683f70a0c7aab229f9bbd89a6 (diff)
r300g: Work around "defect" in r300compiler.
r300compiler doesn't handle half swizzles for vert shaders, which don't have them. So, for now, disable them.
Diffstat (limited to 'src/gallium/drivers/r300/r300_tgsi_to_rc.h')
-rw-r--r--src/gallium/drivers/r300/r300_tgsi_to_rc.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/r300_tgsi_to_rc.h b/src/gallium/drivers/r300/r300_tgsi_to_rc.h
index 39b473c7bf5..97641a954b9 100644
--- a/src/gallium/drivers/r300/r300_tgsi_to_rc.h
+++ b/src/gallium/drivers/r300/r300_tgsi_to_rc.h
@@ -23,6 +23,8 @@
#ifndef R300_TGSI_TO_RC_H
#define R300_TGSI_TO_RC_H
+#include "pipe/p_compiler.h"
+
struct radeon_compiler;
struct tgsi_full_declaration;
@@ -41,6 +43,10 @@ struct tgsi_to_rc {
int immediate_offset;
struct swizzled_imms * imms_to_swizzle;
unsigned imms_to_swizzle_count;
+
+ /* Vertex shaders have no half swizzles, and no way to handle them, so
+ * until rc grows proper support, indicate if they're safe to use. */
+ boolean use_half_swizzles;
};
void r300_tgsi_to_rc(struct tgsi_to_rc * ttr, const struct tgsi_token * tokens);