diff options
author | Marek Olšák <maraeo@gmail.com> | 2010-09-01 03:19:05 +0200 |
---|---|---|
committer | Marek Olšák <maraeo@gmail.com> | 2010-09-04 18:56:21 +0200 |
commit | 0b9f8361470564563dc54e6b13879e73182d353b (patch) | |
tree | 937017f9442d42ef14a638c8f151b146304c90b8 /src/mesa/drivers/dri/r300/compiler/radeon_program.c | |
parent | 9a9aa7daa84341daae6a18dd6c13b958979d2343 (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.c | 6 |
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) { |