summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* glsl2: Associate the GLenum for the type with builtin GLSL types.Eric Anholt2010-06-252-61/+99
|
* glsl2: Use the parser state as the talloc context for dead code elimination.Eric Anholt2010-06-254-10/+15
| | | | This cuts runtime by around 20% from talloc_parent() lookups.
* glsl2: Emit OPCODE_END at the end of the Mesa program.Eric Anholt2010-06-251-0/+2
| | | | The 965 driver can now run a glsl2-generated shader!
* glsl2: Hook up constant parameters in ir_to_mesa.Eric Anholt2010-06-251-20/+16
|
* glsl2: Set InputsRead and OutputsWritten on the generated programs.Eric Anholt2010-06-251-0/+38
|
* glsl2: Start integrating ir_to_mesa.cpp into shader_api.hEric Anholt2010-06-254-20/+206
| | | | | | The compiler is now called by the driver, and generates program instructions. Parameter lists are still not set up, so the driver chokes on it shortly thereafter.
* glsl2: Use Mesa types instead of duping them into our program.h.Eric Anholt2010-06-251-78/+2
|
* glsl2: Fix dependencies. (at least partially)Eric Anholt2010-06-251-2/+7
|
* glsl2: Replace the GLSL compiler with the glsl2 project.Eric Anholt2010-06-248-36/+157
|
* glsl2: Wrap includes of C interfaces with extern "C".Eric Anholt2010-06-247-1/+14
|
* glsl2: Remove files that had been imported for standalone.Eric Anholt2010-06-2411-3261/+0
|
* glsl2: Stop .gitignoring the old standalone build system.Eric Anholt2010-06-241-24/+0
|
* glsl2: Move the Mesa IR codegen into mesa/shader/Eric Anholt2010-06-241-0/+0
|
* Merge branch 'glsl2-head' into glsl2Eric Anholt2010-06-24376-0/+38300
|\ | | | | | | | | | | This brings in the standalone GLSL compiler that we are planning on replacing the existing Mesa GLSL compiler. It currently targets GLSL 1.20 and the Mesa IR.
| * glsl2: Add a README file for the new compiler.Eric Anholt2010-06-241-0/+153
| |
| * glsl2: Move the compiler to the subdirectory it will live in in Mesa.Eric Anholt2010-06-24375-0/+0
| |
| * Merge branch 'mesa'Eric Anholt2010-06-2411-6/+3270
| |\ | | | | | | | | | | | | | | | This brings in the ir_to_mesa.cpp code I've been developing to codegen to the Mesa IR. It does not actually generate a complete Mesa fragment/vertex program yet.
| | * ir_to_mesa: Handle a limited subset of matrix multiplication.Eric Anholt2010-06-241-116/+137
| | | | | | | | | | | | | | | glsl-mvp.vert now generates believable code, and mesa mode fails only 5 tests that master doesn't. I must have left out some asserts...
| | * ir_to_mesa: Handle constant matrices.Eric Anholt2010-06-241-3/+3
| | | | | | | | | | | | There's not much to it since we're not actually storing constant data yet.
| | * ir_to_mesa: Fix copy-and-wasted second argument to compare expresssion ops.Eric Anholt2010-06-241-9/+10
| | | | | | | | | | | | Fixes CorrectParse2.vert assertion due to uninitialized values.
| | * ir_to_mesa: Don't allocate temps for swizzles.Eric Anholt2010-06-241-3/+2
| | | | | | | | | | | | We do them in place by actually, you know, swizzling.
| | * ir_to_mesa: Set up storage for uniform vars.Eric Anholt2010-06-241-17/+44
| | |
| | * ir_to_mesa: Move the classes into the file now that we don't have the burg.Eric Anholt2010-06-243-159/+115
| | | | | | | | | | | | | | | | | | At 1kloc, it doesn't look like I'll want to split the ir_to_mesa file up even once it's feature-complete. Move definitions closer to usage, and prevent rebuilding the world when changing the definitions.
| | * ir_to_mesa: Remove old monoburg structure.Eric Anholt2010-06-241-19/+0
| | |
| | * ir_to_mesa: Restrict dst writemasks like we did in the monoburg setup.Eric Anholt2010-06-241-1/+6
| | |
| | * ir_to_mesa: Fix copy-and-wasted DIV instruction sequence.Eric Anholt2010-06-241-1/+1
| | |
| | * ir_to_mesa: Remove the BURG code.Eric Anholt2010-06-244-623/+258
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The promise of the BURG was to recognize multi-instruction sequences and emit reduced sequences for them. It would have worked well for recognizing MUL+ADD -> MAD and possibly even MIN(MAX(val, 0), 1) -> MOV_SAT with some grammar changes. However, that potential benefit in making those optimizations easy is outweighed by the fragility of monoburg, the amount of (incorrect, as I wrote it) code for using it, and the burden it was going to cause for handling operations on aggregate types.
| | * ir_to_mesa: Fix mapping of FS texcoord inputs and color output.Eric Anholt2010-06-241-3/+16
| | |
| | * ir_to_mesa: Try to fix up the dereference handling for the visitor rework.Eric Anholt2010-06-241-24/+15
| | | | | | | | | | | | | | | One of the gstreamer shaders I play with now compiles, but input mappings are wrong.
| | * ir_to_mesa: Implement min and max expressions.Eric Anholt2010-06-242-0/+11
| | | | | | | | | | | | fixes glsl-orangebook-ch06-bump.frag.
| | * ir_to_mesa: Don't assert over assignments with a constant-true condition.Eric Anholt2010-06-241-1/+7
| | |
| | * ir_to_mesa: Add support for trunc/ceil/floor.Eric Anholt2010-06-242-3/+22
| | |
| | * ir_to_mesa: Implement neg expression.Eric Anholt2010-06-242-1/+7
| | |
| | * ir_to_mesa: Add sin/cos.Eric Anholt2010-06-242-0/+22
| | |
| | * ir_to_mesa: Start trying to support struct storage.Eric Anholt2010-06-241-15/+75
| | |
| | * ir_to_mesa: Fix up array indexing.Eric Anholt2010-06-241-7/+2
| | | | | | | | | | | | | | | The grammar for array_reference_vec4_vec4 was set up wrong, so we weren't generating instructions if necessary for the array index.
| | * ir_to_mesa: Remove stale comment about monoburg.Eric Anholt2010-06-241-4/+0
| | |
| | * ir_to_mesa: Add support for variable indexing of temporary arrays.Eric Anholt2010-06-243-7/+38
| | | | | | | | | | | | Fixes loop-01.vert, loop-02.vert.
| | * ir_to_mesa: Clean up some handling of builtins and arrays.Eric Anholt2010-06-241-16/+41
| | | | | | | | | | | | | | | Constant-index dereferences of arrays should work now. One test is regressed, but it should have been failing before this commit, too.
| | * ir_to_mesa: Add support for loops.Eric Anholt2010-06-241-17/+70
| | | | | | | | | | | | Fixes CorrectParse1 and the glsl2 loop tests that don't use arrays.
| | * Make loop jump mode public so I can switch on it.Eric Anholt2010-06-241-3/+5
| | |
| | * ir_to_mesa: Add logic_or and logic_and to get CorrectFunction1.vert working.Eric Anholt2010-06-241-0/+13
| | |
| | * ir_to_mesa: add logic_xor to get CorrectParse2.vert working.Eric Anholt2010-06-241-0/+1
| | |
| | * ir_to_mesa: add logic_not and f2b to get CorrectParse2.frag working.Eric Anholt2010-06-242-0/+32
| | |
| | * ir_to_mesa: Add support for ir_if.Eric Anholt2010-06-243-30/+125
| | |
| | * ir_to_mesa: Add support for comparison operations.Eric Anholt2010-06-243-0/+36
| | |
| | * ir_to_mesa: Introduce shorthand for common Mesa IR emit patterns.Eric Anholt2010-06-243-65/+59
| | |
| | * ir_to_mesa: Add ir_unop_f2i -> OPCODE_TRUNC.Eric Anholt2010-06-242-1/+12
| | |
| | * ir_to_mesa: Add codegen for rsq expression operation.Eric Anholt2010-06-242-0/+11
| | |
| | * ir_to_mesa: Add exp/log expression operations.Eric Anholt2010-06-242-0/+44
| | |