summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2008-10-22 17:19:12 -0600
committerBrian Paul <[email protected]>2008-10-22 17:19:12 -0600
commitabbbe876ac98596b143da295abf6887e0a4e50d2 (patch)
tree918f0582e9ba576b84d75aa2d0bf055409ec29e2 /src/gallium/auxiliary/draw
parent3026616c48487a7561d8545c08950539f0ad51d1 (diff)
gallium: new PPC built-in constants array
It's hard to form PPC vector immediates so load them from an array.
Diffstat (limited to 'src/gallium/auxiliary/draw')
-rw-r--r--src/gallium/auxiliary/draw/draw_vs_ppc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/draw/draw_vs_ppc.c b/src/gallium/auxiliary/draw/draw_vs_ppc.c
index fcc9cbfec54..8eff6d4fda3 100644
--- a/src/gallium/auxiliary/draw/draw_vs_ppc.c
+++ b/src/gallium/auxiliary/draw/draw_vs_ppc.c
@@ -55,7 +55,8 @@ typedef void (PIPE_CDECL *codegen_function) (float (*inputs)[4][4],
float (*outputs)[4][4],
float (*temps)[4][4],
float (*immeds)[4][4],
- float (*consts)[4]);
+ float (*consts)[4],
+ const float *builtins);
#if 0
const struct tgsi_exec_vector *input,
@@ -151,7 +152,8 @@ vs_ppc_run_linear( struct draw_vertex_shader *base,
#else
shader->func(inputs_soa, outputs_soa, temps_soa,
(float (*)[4][4]) shader->base.immediates,
- (float (*)[4]) constants);
+ (float (*)[4]) constants,
+ ppc_builtin_constants);
/*output[0][0] = input[0][0] * 0.5;*/
#endif
@@ -246,7 +248,9 @@ draw_create_vs_ppc(struct draw_context *draw,
return &vs->base;
fail:
+ /*
debug_error("tgsi_emit_ppc() failed, falling back to interpreter\n");
+ */
ppc_release_func( &vs->ppc_program );