summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* glsl_type: All glsl_type objects live in their own talloc contextIan Romanick2010-06-292-4/+17
|
* glsl_type: Record type constructors are privateIan Romanick2010-06-292-12/+16
|
* glsl_type: Add get_record_instance methodIan Romanick2010-06-293-2/+86
|
* glsl_type: Vector, matrix, and sampler type constructors are privateIan Romanick2010-06-292-34/+42
|
* glsl_type: Make all static objects be class privateIan Romanick2010-06-293-39/+72
|
* glsl2: Use talloc_strdup when generating constructor temporary namesIan Romanick2010-06-291-8/+13
|
* glsl_type: Remove vector and matrix constructor generatorsIan Romanick2010-06-293-370/+0
| | | | | | All scalar, vector, and matrix constructors are generated in-line during AST-to-HIR translation. There is no longer any need to generate function versions of the constructors.
* glsl2: Don't flatten constructor parameters to scalarsIan Romanick2010-06-291-129/+59
| | | | | | | | Now that all scalar, vector, and matrix constructors are emitted in-line, the parameters to these constructors should not be flattened to a pile of scalars. Instead, the functions that emit the in-line constructor bodies can directly write the parameters to the correct locations in the objects being constructed.
* glsl2: Always emit matrix constructors inlineIan Romanick2010-06-291-1/+321
|
* glsl2: Always emit vector constructors inlineIan Romanick2010-06-291-1/+100
|
* 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
|