summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/compiler/radeon_program.c
diff options
context:
space:
mode:
authorMarek Olšák <maraeo@gmail.com>2010-09-01 03:19:05 +0200
committerMarek Olšák <maraeo@gmail.com>2010-09-04 18:56:21 +0200
commit0b9f8361470564563dc54e6b13879e73182d353b (patch)
tree937017f9442d42ef14a638c8f151b146304c90b8 /src/mesa/drivers/dri/r300/compiler/radeon_program.c
parent9a9aa7daa84341daae6a18dd6c13b958979d2343 (diff)
r300/compiler: refactor vertex shader compilation
First list compiler passes in an array, then run the new function rc_run_compiler. Every backend may need a different set of passes. This cleans up the mess in r3xx_compile_vertex_program.
Diffstat (limited to 'src/mesa/drivers/dri/r300/compiler/radeon_program.c')
-rw-r--r--src/mesa/drivers/dri/r300/compiler/radeon_program.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/r300/compiler/radeon_program.c b/src/mesa/drivers/dri/r300/compiler/radeon_program.c
index 9ab52b64ea..24b685fbeb 100644
--- a/src/mesa/drivers/dri/r300/compiler/radeon_program.c
+++ b/src/mesa/drivers/dri/r300/compiler/radeon_program.c
@@ -47,10 +47,12 @@
* \note The transform is called 'local' because it can only look at
* one instruction at a time.
*/
-void radeonLocalTransform(
+void rc_local_transform(
struct radeon_compiler * c,
- struct radeon_program_transformation* transformations)
+ void *user)
{
+ struct radeon_program_transformation *transformations =
+ (struct radeon_program_transformation*)user;
struct rc_instruction * inst = c->Program.Instructions.Next;
while(inst != &c->Program.Instructions) {