Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-06-25 | glsl2: Start trying to hook up uniforms. | Eric Anholt | |
This should be resolved with linker.cpp's location assignment, as currently we drop that location assignment on the ground. However, this gets basic programs using uniforms working for now. | |||
2010-06-25 | glsl2: Associate the GLenum for the type with builtin GLSL types. | Eric Anholt | |
2010-06-25 | glsl2: Use the parser state as the talloc context for dead code elimination. | Eric Anholt | |
This cuts runtime by around 20% from talloc_parent() lookups. | |||
2010-06-25 | glsl2: Emit OPCODE_END at the end of the Mesa program. | Eric Anholt | |
The 965 driver can now run a glsl2-generated shader! | |||
2010-06-25 | glsl2: Hook up constant parameters in ir_to_mesa. | Eric Anholt | |
2010-06-25 | glsl2: Set InputsRead and OutputsWritten on the generated programs. | Eric Anholt | |
2010-06-25 | glsl2: Start integrating ir_to_mesa.cpp into shader_api.h | Eric Anholt | |
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. | |||
2010-06-25 | glsl2: Use Mesa types instead of duping them into our program.h. | Eric Anholt | |
2010-06-25 | glsl2: Fix dependencies. (at least partially) | Eric Anholt | |
2010-06-24 | glsl2: Replace the GLSL compiler with the glsl2 project. | Eric Anholt | |
2010-06-24 | glsl2: Wrap includes of C interfaces with extern "C". | Eric Anholt | |
2010-06-24 | glsl2: Remove files that had been imported for standalone. | Eric Anholt | |
2010-06-24 | glsl2: Stop .gitignoring the old standalone build system. | Eric Anholt | |
2010-06-24 | glsl2: Move the Mesa IR codegen into mesa/shader/ | Eric Anholt | |
2010-06-24 | Merge branch 'glsl2-head' into glsl2 | Eric Anholt | |
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. | |||
2010-06-24 | glsl2: Add a README file for the new compiler. | Eric Anholt | |
2010-06-24 | glsl2: Move the compiler to the subdirectory it will live in in Mesa. | Eric Anholt | |
2010-06-24 | Merge branch 'mesa' | Eric Anholt | |
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. | |||
2010-06-24 | Move the talloc_parent lookup down in a few hot paths. | Eric Anholt | |
talloc_parent is still 80% of our runtime, but likely talloc_parent lookups will be reduced as we improve the handling of memory ownership. | |||
2010-06-24 | Merge remote branch 'cworth/master' | Eric Anholt | |
Conflicts: ast_to_hir.cpp ir.cpp This brings in the talloc-based memory management work, so that the compiler (almost) no longer leaks memory. | |||
2010-06-24 | ir_to_mesa: Handle a limited subset of matrix multiplication. | Eric Anholt | |
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... | |||
2010-06-24 | ir_to_mesa: Handle constant matrices. | Eric Anholt | |
There's not much to it since we're not actually storing constant data yet. | |||
2010-06-24 | ir_to_mesa: Fix copy-and-wasted second argument to compare expresssion ops. | Eric Anholt | |
Fixes CorrectParse2.vert assertion due to uninitialized values. | |||
2010-06-24 | ir_to_mesa: Don't allocate temps for swizzles. | Eric Anholt | |
We do them in place by actually, you know, swizzling. | |||
2010-06-24 | ir_to_mesa: Set up storage for uniform vars. | Eric Anholt | |
2010-06-24 | ir_to_mesa: Move the classes into the file now that we don't have the burg. | Eric Anholt | |
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. | |||
2010-06-24 | ir_to_mesa: Remove old monoburg structure. | Eric Anholt | |
2010-06-24 | ir_to_mesa: Restrict dst writemasks like we did in the monoburg setup. | Eric Anholt | |
2010-06-24 | ir_to_mesa: Fix copy-and-wasted DIV instruction sequence. | Eric Anholt | |
2010-06-24 | ir_to_mesa: Remove the BURG code. | Eric Anholt | |
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. | |||
2010-06-24 | ir_to_mesa: Fix mapping of FS texcoord inputs and color output. | Eric Anholt | |
2010-06-24 | ir_to_mesa: Try to fix up the dereference handling for the visitor rework. | Eric Anholt | |
One of the gstreamer shaders I play with now compiles, but input mappings are wrong. | |||
2010-06-24 | ir_to_mesa: Implement min and max expressions. | Eric Anholt | |
fixes glsl-orangebook-ch06-bump.frag. | |||
2010-06-24 | ir_to_mesa: Don't assert over assignments with a constant-true condition. | Eric Anholt | |
2010-06-24 | ir_to_mesa: Add support for trunc/ceil/floor. | Eric Anholt | |
2010-06-24 | ir_to_mesa: Implement neg expression. | Eric Anholt | |
2010-06-24 | ir_to_mesa: Add sin/cos. | Eric Anholt | |
2010-06-24 | ir_to_mesa: Start trying to support struct storage. | Eric Anholt | |
2010-06-24 | ir_to_mesa: Fix up array indexing. | Eric Anholt | |
The grammar for array_reference_vec4_vec4 was set up wrong, so we weren't generating instructions if necessary for the array index. | |||
2010-06-24 | ir_to_mesa: Remove stale comment about monoburg. | Eric Anholt | |
2010-06-24 | ir_to_mesa: Add support for variable indexing of temporary arrays. | Eric Anholt | |
Fixes loop-01.vert, loop-02.vert. | |||
2010-06-24 | ir_to_mesa: Clean up some handling of builtins and arrays. | Eric Anholt | |
Constant-index dereferences of arrays should work now. One test is regressed, but it should have been failing before this commit, too. | |||
2010-06-24 | ir_to_mesa: Add support for loops. | Eric Anholt | |
Fixes CorrectParse1 and the glsl2 loop tests that don't use arrays. | |||
2010-06-24 | Make loop jump mode public so I can switch on it. | Eric Anholt | |
2010-06-24 | ir_to_mesa: Add logic_or and logic_and to get CorrectFunction1.vert working. | Eric Anholt | |
2010-06-24 | ir_to_mesa: add logic_xor to get CorrectParse2.vert working. | Eric Anholt | |
2010-06-24 | ir_to_mesa: add logic_not and f2b to get CorrectParse2.frag working. | Eric Anholt | |
2010-06-24 | ir_to_mesa: Add support for ir_if. | Eric Anholt | |
2010-06-24 | ir_to_mesa: Add support for comparison operations. | Eric Anholt | |
2010-06-24 | ir_to_mesa: Introduce shorthand for common Mesa IR emit patterns. | Eric Anholt | |