Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | ir_swizzle: Add new constructor, refactor constructors | Ian Romanick | 2010-06-29 | 2 | -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 Graunke | 2010-06-29 | 1 | -4/+1 |
| | |||||
* | glsl2: Check for non-void functions that don't have a return statement. | Kenneth Graunke | 2010-06-29 | 2 | -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 Graunke | 2010-06-29 | 1 | -1/+10 |
| | | | | Fixes piglit test return-qualifier.frag. | ||||
* | glsl2: Add a method for querying if an AST type has any qualifiers. | Kenneth Graunke | 2010-06-29 | 2 | -0/+11 |
| | |||||
* | glsl2: Check that returned expressions match the function return type. | Kenneth Graunke | 2010-06-29 | 1 | -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 proper | Ian Romanick | 2010-06-29 | 1 | -3/+11 |
| | |||||
* | ir_to_mesa: Actually initialize the undef register for scalar_op1. | Eric Anholt | 2010-06-28 | 1 | -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 Anholt | 2010-06-28 | 1 | -8/+22 |
| | | | | Fixes glsl-reload-source. | ||||
* | ir_to_mesa: Actually add the header file for the interface. | Eric Anholt | 2010-06-28 | 1 | -0/+36 |
| | |||||
* | ir_to_mesa: Fix binop_sqrt for multi-channel and negative source channels. | Eric Anholt | 2010-06-28 | 1 | -1/+4 |
| | | | | Fixes glsl-fs-sqrt-branch. | ||||
* | ir_to_mesa: Fix indexes of temps used in expressions. | Eric Anholt | 2010-06-28 | 1 | -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 Anholt | 2010-06-28 | 1 | -0/+4 |
| | | | | Fixes glsl-fs-if-*. | ||||
* | ir_to_mesa: Add support for the pow expression. | Eric Anholt | 2010-06-28 | 1 | -9/+39 |
| | | | | Fixes glsl-algebraic-pow-two. | ||||
* | ir_to_mesa: Fix EmitCondCodes for boolean vars as condition. | Eric Anholt | 2010-06-28 | 1 | -0/+14 |
| | | | | Fixes glsl-vs-if-bool. | ||||
* | ir_to_mesa: Respect EmitCondCodes for IF statements. | Eric Anholt | 2010-06-28 | 1 | -5/+19 |
| | | | | Fixes glsl-vs-if-* for the 965 driver. | ||||
* | ir_to_mesa: Traverse the "else" instrs after "else", instead of "then" again. | Eric Anholt | 2010-06-28 | 1 | -1/+1 |
| | |||||
* | ir_to_mesa: Fix matrix * scalar multiplication. | Eric Anholt | 2010-06-28 | 1 | -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 Anholt | 2010-06-28 | 1 | -1/+1 |
| | |||||
* | glsl2: Add support for some builtin matrices. | Eric Anholt | 2010-06-28 | 1 | -0/+86 |
| | |||||
* | ir_to_mesa: Fix copy and wasted InputsRead/OutputsWritten setup. | Eric Anholt | 2010-06-28 | 1 | -2/+2 |
| | |||||
* | Use a more sensible context in copy propagation. | Kenneth Graunke | 2010-06-28 | 1 | -3/+4 |
| | |||||
* | Use more sensible contexts in ir_dead_code_local. | Kenneth Graunke | 2010-06-28 | 1 | -3/+4 |
| | |||||
* | glsl2: Add option to stand-alone GLSL compiler to dump IR before optimizations | Ian Romanick | 2010-06-28 | 1 | -0/+7 |
| | |||||
* | glsl2: Use i2b and f2b IR opcodes for casting int or float to bool | Ian Romanick | 2010-06-28 | 1 | -9/+9 |
| | |||||
* | glsl2: Add support for non-float constants in Mesa IR. | Eric Anholt | 2010-06-25 | 1 | -14/+33 |
| | | | | Fixes glsl-vs-vec4-indexing-4. | ||||
* | glsl2: Take out the spamming of debug flags I'd added. | Eric Anholt | 2010-06-25 | 1 | -1/+0 |
| | |||||
* | glsl2: Don't clear swizzles for Mesa IR constants after fetching them. | Eric Anholt | 2010-06-25 | 1 | -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 Graunke | 2010-06-25 | 1 | -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 Anholt | 2010-06-25 | 1 | -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 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 | 7 | -35/+154 |
| | |||||
* | 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/+38147 |
| | |||||
* | Make sure that symbols aren't multiply defined in the same scope. | Ian Romanick | 2010-06-24 | 2 | -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 work | Zack Rusin | 2010-06-22 | 8 | -3/+180 |
| | |||||
* | gallium: add a timestamp disjoint query | Zack Rusin | 2010-06-22 | 3 | -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 query | Zack Rusin | 2010-06-22 | 2 | -3/+12 |
| | | | | to figure out if gpu is finished with all of the previously issues commands |