aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* ir_swizzle: Add new constructor, refactor constructorsIan Romanick2010-06-292-18/+56
| | | | | Adds a new constructor that takes an array of component values. Refactors the meat of the two constructors to an init_mask method.
* glsl2: Update TODO.Kenneth Graunke2010-06-291-4/+1
|
* glsl2: Check for non-void functions that don't have a return statement.Kenneth Graunke2010-06-292-0/+13
| | | | | | | This doesn't do any control flow analysis to ensure that the return statements are actually reached. Fixes piglit tests function5.frag and function-07.vert.
* glsl2: Reject return types with qualifiers.Kenneth Graunke2010-06-291-1/+10
| | | | Fixes piglit test return-qualifier.frag.
* glsl2: Add a method for querying if an AST type has any qualifiers.Kenneth Graunke2010-06-292-0/+11
|
* glsl2: Check that returned expressions match the function return type.Kenneth Graunke2010-06-291-3/+11
| | | | | From my reading of the specification, implicit conversions are not allowed. ATI seems to agree, though nVidia allows it without warning.
* glsl2: Invoke preprocessor before calling the compiler properIan Romanick2010-06-291-3/+11
|
* ir_to_mesa: Actually initialize the undef register for scalar_op1.Eric Anholt2010-06-281-1/+1
| | | | | Fixes glsl-sin, glsl-cos on 965, where we rely on unused src arguments in the VS having a file of PROGRAM_UNDEFINED.
* ir_to_mesa: Support user-defined varyings using the linker's locations.Eric Anholt2010-06-281-8/+22
| | | | Fixes glsl-reload-source.
* ir_to_mesa: Actually add the header file for the interface.Eric Anholt2010-06-281-0/+36
|
* ir_to_mesa: Fix binop_sqrt for multi-channel and negative source channels.Eric Anholt2010-06-281-1/+4
| | | | Fixes glsl-fs-sqrt-branch.
* ir_to_mesa: Fix indexes of temps used in expressions.Eric Anholt2010-06-281-29/+30
| | | | | | | It looks like I managed to horribly mangle this in some rebase of the branch. Fixes: glsl-fs-fragcoord glsl-fs-mix
* ir_to_mesa: Notify the driver when we generate new Mesa programs for GLSL.Eric Anholt2010-06-281-0/+4
| | | | Fixes glsl-fs-if-*.
* ir_to_mesa: Add support for the pow expression.Eric Anholt2010-06-281-9/+39
| | | | Fixes glsl-algebraic-pow-two.
* ir_to_mesa: Fix EmitCondCodes for boolean vars as condition.Eric Anholt2010-06-281-0/+14
| | | | Fixes glsl-vs-if-bool.
* ir_to_mesa: Respect EmitCondCodes for IF statements.Eric Anholt2010-06-281-5/+19
| | | | Fixes glsl-vs-if-* for the 965 driver.
* ir_to_mesa: Traverse the "else" instrs after "else", instead of "then" again.Eric Anholt2010-06-281-1/+1
|
* ir_to_mesa: Fix matrix * scalar multiplication.Eric Anholt2010-06-281-7/+13
| | | | | | | | | | | | We're accessing in terms of columns, so we need to do MUL/MAD/MAD/MAD instead of DP4s. Fixes: glsl-fs-exp2 glsl-fs-log2 glsl-fs-mix-constant glsl-fs-sqrt-zero glsl-vs-sqrt-zero
* ir_to_mesa: Check the right element for matrix * scalar multiplication.Eric Anholt2010-06-281-1/+1
|
* glsl2: Add support for some builtin matrices.Eric Anholt2010-06-281-0/+86
|
* ir_to_mesa: Fix copy and wasted InputsRead/OutputsWritten setup.Eric Anholt2010-06-281-2/+2
|
* Use a more sensible context in copy propagation.Kenneth Graunke2010-06-281-3/+4
|
* Use more sensible contexts in ir_dead_code_local.Kenneth Graunke2010-06-281-3/+4
|
* glsl2: Add option to stand-alone GLSL compiler to dump IR before optimizationsIan Romanick2010-06-281-0/+7
|
* glsl2: Use i2b and f2b IR opcodes for casting int or float to boolIan Romanick2010-06-281-9/+9
|
* glsl2: Add support for non-float constants in Mesa IR.Eric Anholt2010-06-251-14/+33
| | | | Fixes glsl-vs-vec4-indexing-4.
* glsl2: Take out the spamming of debug flags I'd added.Eric Anholt2010-06-251-1/+0
|
* glsl2: Don't clear swizzles for Mesa IR constants after fetching them.Eric Anholt2010-06-251-2/+0
| | | | | | | | Missed this while hacking in constants support. Fixes: glsl-algebraic-mul-* glsl-algebraic-rcp-* glsl-vs-swizzle-swizzle-lhs glsl-vs-vec4-indexing-6
* ir_reader: Free memory for S-Expressions earlier.Kenneth Graunke2010-06-251-2/+2
| | | | | | There's no point in keeping it around once we've read the IR. Also, remove an unnecessary talloc_parent call.
* glsl2: Start trying to hook up uniforms.Eric Anholt2010-06-251-11/+41
| | | | | | 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.
* 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-247-35/+154
|
* 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/+38147
|
* Make sure that symbols aren't multiply defined in the same scope.Ian Romanick2010-06-242-1/+54
| | | | | The assembly parser is already checking this, but we're relying on the symbol table handling it in glsl2.
* llvmpipe: make geometry shaders and stream output workZack Rusin2010-06-228-3/+180
|
* gallium: add a timestamp disjoint queryZack Rusin2010-06-223-3/+21
| | | | | | allows application to not only request the frequency of the TIME_ELAPSED clock but also to detect if that frequency was consistent throughout the entire bracketed range of graphics commands.
* gallium: add a new queryZack Rusin2010-06-222-3/+12
| | | | to figure out if gpu is finished with all of the previously issues commands