summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2008-10-22 16:58:05 -0600
committerBrian Paul <brian.paul@tungstengraphics.com>2008-10-22 16:58:05 -0600
commitae81aeb12868db219cbdc02437c481714cfed3f5 (patch)
tree949b5d3f7323c732c6603524215bbda5083772e0 /src
parent9e3ee82305b4602feca0253dc0e0c27f9bc9b05e (diff)
gallium: GALLIUM_NOPPC debug var to disable PPC codegen
Diffstat (limited to 'src')
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_ppc.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_ppc.c b/src/gallium/auxiliary/tgsi/tgsi_ppc.c
index edd535a884..9d7de41fe7 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_ppc.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_ppc.c
@@ -776,15 +776,21 @@ tgsi_emit_ppc(const struct tgsi_token *tokens,
float (*immediates)[4],
boolean do_swizzles )
{
+ static int use_ppc_asm = -1;
struct tgsi_parse_context parse;
/*boolean instruction_phase = FALSE;*/
unsigned ok = 1;
uint num_immediates = 0;
struct gen_context gen;
- util_init_math();
+ if (use_ppc_asm < 0) {
+ /* If GALLIUM_NOPPC is set, don't use PPC codegen */
+ use_ppc_asm = !debug_get_bool_option("GALLIUM_NOPPC", FALSE);
+ }
+ if (!use_ppc_asm)
+ return FALSE;
- tgsi_parse_init( &parse, tokens );
+ util_init_math();
gen.f = func;
gen.inputs_reg = ppc_reserve_register(func, 3); /* first function param */
@@ -797,6 +803,8 @@ tgsi_emit_ppc(const struct tgsi_token *tokens,
emit_prologue(func);
+ tgsi_parse_init( &parse, tokens );
+
while (!tgsi_parse_end_of_tokens(&parse) && ok) {
tgsi_parse_token(&parse);