Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | glsl2: Associate the GLenum for the type with builtin GLSL types. | Eric Anholt | 2010-06-25 | 2 | -61/+99 |
| | |||||
* | glsl2: Use the parser state as the talloc context for dead code elimination. | Eric Anholt | 2010-06-25 | 4 | -10/+15 |
| | | | | This cuts runtime by around 20% from talloc_parent() lookups. | ||||
* | glsl2: Emit OPCODE_END at the end of the Mesa program. | Eric Anholt | 2010-06-25 | 1 | -0/+2 |
| | | | | The 965 driver can now run a glsl2-generated shader! | ||||
* | glsl2: Hook up constant parameters in ir_to_mesa. | Eric Anholt | 2010-06-25 | 1 | -20/+16 |
| | |||||
* | glsl2: Set InputsRead and OutputsWritten on the generated programs. | Eric Anholt | 2010-06-25 | 1 | -0/+38 |
| | |||||
* | glsl2: Start integrating ir_to_mesa.cpp into shader_api.h | Eric Anholt | 2010-06-25 | 4 | -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 Anholt | 2010-06-25 | 1 | -78/+2 |
| | |||||
* | glsl2: Fix dependencies. (at least partially) | Eric Anholt | 2010-06-25 | 1 | -2/+7 |
| | |||||
* | glsl2: Replace the GLSL compiler with the glsl2 project. | Eric Anholt | 2010-06-24 | 8 | -36/+157 |
| | |||||
* | glsl2: Wrap includes of C interfaces with extern "C". | Eric Anholt | 2010-06-24 | 7 | -1/+14 |
| | |||||
* | glsl2: Remove files that had been imported for standalone. | Eric Anholt | 2010-06-24 | 11 | -3261/+0 |
| | |||||
* | glsl2: Stop .gitignoring the old standalone build system. | Eric Anholt | 2010-06-24 | 1 | -24/+0 |
| | |||||
* | glsl2: Move the Mesa IR codegen into mesa/shader/ | Eric Anholt | 2010-06-24 | 1 | -0/+0 |
| | |||||
* | Merge branch 'glsl2-head' into glsl2 | Eric Anholt | 2010-06-24 | 376 | -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 Anholt | 2010-06-24 | 1 | -0/+153 |
| | | |||||
| * | glsl2: Move the compiler to the subdirectory it will live in in Mesa. | Eric Anholt | 2010-06-24 | 375 | -0/+0 |
| | | |||||
| * | Merge branch 'mesa' | Eric Anholt | 2010-06-24 | 11 | -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 Anholt | 2010-06-24 | 1 | -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 Anholt | 2010-06-24 | 1 | -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 Anholt | 2010-06-24 | 1 | -9/+10 |
| | | | | | | | | | | | | Fixes CorrectParse2.vert assertion due to uninitialized values. | ||||
| | * | ir_to_mesa: Don't allocate temps for swizzles. | Eric Anholt | 2010-06-24 | 1 | -3/+2 |
| | | | | | | | | | | | | We do them in place by actually, you know, swizzling. | ||||
| | * | ir_to_mesa: Set up storage for uniform vars. | Eric Anholt | 2010-06-24 | 1 | -17/+44 |
| | | | |||||
| | * | ir_to_mesa: Move the classes into the file now that we don't have the burg. | Eric Anholt | 2010-06-24 | 3 | -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 Anholt | 2010-06-24 | 1 | -19/+0 |
| | | | |||||
| | * | ir_to_mesa: Restrict dst writemasks like we did in the monoburg setup. | Eric Anholt | 2010-06-24 | 1 | -1/+6 |
| | | | |||||
| | * | ir_to_mesa: Fix copy-and-wasted DIV instruction sequence. | Eric Anholt | 2010-06-24 | 1 | -1/+1 |
| | | | |||||
| | * | ir_to_mesa: Remove the BURG code. | Eric Anholt | 2010-06-24 | 4 | -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 Anholt | 2010-06-24 | 1 | -3/+16 |
| | | | |||||
| | * | ir_to_mesa: Try to fix up the dereference handling for the visitor rework. | Eric Anholt | 2010-06-24 | 1 | -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 Anholt | 2010-06-24 | 2 | -0/+11 |
| | | | | | | | | | | | | fixes glsl-orangebook-ch06-bump.frag. | ||||
| | * | ir_to_mesa: Don't assert over assignments with a constant-true condition. | Eric Anholt | 2010-06-24 | 1 | -1/+7 |
| | | | |||||
| | * | ir_to_mesa: Add support for trunc/ceil/floor. | Eric Anholt | 2010-06-24 | 2 | -3/+22 |
| | | | |||||
| | * | ir_to_mesa: Implement neg expression. | Eric Anholt | 2010-06-24 | 2 | -1/+7 |
| | | | |||||
| | * | ir_to_mesa: Add sin/cos. | Eric Anholt | 2010-06-24 | 2 | -0/+22 |
| | | | |||||
| | * | ir_to_mesa: Start trying to support struct storage. | Eric Anholt | 2010-06-24 | 1 | -15/+75 |
| | | | |||||
| | * | ir_to_mesa: Fix up array indexing. | Eric Anholt | 2010-06-24 | 1 | -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 Anholt | 2010-06-24 | 1 | -4/+0 |
| | | | |||||
| | * | ir_to_mesa: Add support for variable indexing of temporary arrays. | Eric Anholt | 2010-06-24 | 3 | -7/+38 |
| | | | | | | | | | | | | Fixes loop-01.vert, loop-02.vert. | ||||
| | * | ir_to_mesa: Clean up some handling of builtins and arrays. | Eric Anholt | 2010-06-24 | 1 | -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 Anholt | 2010-06-24 | 1 | -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 Anholt | 2010-06-24 | 1 | -3/+5 |
| | | | |||||
| | * | ir_to_mesa: Add logic_or and logic_and to get CorrectFunction1.vert working. | Eric Anholt | 2010-06-24 | 1 | -0/+13 |
| | | | |||||
| | * | ir_to_mesa: add logic_xor to get CorrectParse2.vert working. | Eric Anholt | 2010-06-24 | 1 | -0/+1 |
| | | | |||||
| | * | ir_to_mesa: add logic_not and f2b to get CorrectParse2.frag working. | Eric Anholt | 2010-06-24 | 2 | -0/+32 |
| | | | |||||
| | * | ir_to_mesa: Add support for ir_if. | Eric Anholt | 2010-06-24 | 3 | -30/+125 |
| | | | |||||
| | * | ir_to_mesa: Add support for comparison operations. | Eric Anholt | 2010-06-24 | 3 | -0/+36 |
| | | | |||||
| | * | ir_to_mesa: Introduce shorthand for common Mesa IR emit patterns. | Eric Anholt | 2010-06-24 | 3 | -65/+59 |
| | | | |||||
| | * | ir_to_mesa: Add ir_unop_f2i -> OPCODE_TRUNC. | Eric Anholt | 2010-06-24 | 2 | -1/+12 |
| | | | |||||
| | * | ir_to_mesa: Add codegen for rsq expression operation. | Eric Anholt | 2010-06-24 | 2 | -0/+11 |
| | | | |||||
| | * | ir_to_mesa: Add exp/log expression operations. | Eric Anholt | 2010-06-24 | 2 | -0/+44 |
| | | |