Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | Make loop jump mode public so I can switch on it. | Eric Anholt | |
2010-06-24 | ir_to_mesa: Add (almost) the rest of the builtin varyings. | Eric Anholt | |
2010-06-23 | Close memory leak in ir_call::get_error_instruction. | Carl Worth | |
By propagating a 'ctx' parameter through these calls. This fix happens to have no impact on glsl-orangebook-ch06-bump.frag, (since it doesn't trigger any errors). | |||
2010-06-23 | glsl_symbol_table: Add new talloc-based new() | Carl Worth | |
We take advantage of overloading of the new operator (with an additional parameter!) to make this look as "C++ like" as possible. This closes 507 memory leaks when compiling glsl-orangebook-ch06-bump.frag when measured with: valgrind ./glsl glsl-orangebook-ch06-bump.frag as seen here: total heap usage: 55,623 allocs, 14,389 frees (was 13,882 frees before) | |||
2010-06-23 | Fix typos of "variable" as "varaible" | Carl Worth | |
One of these was just in a comment. But ther other was in an enum tag, (which is apparently not being used anywhere yet). | |||
2010-06-23 | Add a virtual clone() method to ir_instruction. | Eric Anholt | |
This will be used by function inlining, the linker, and avoiding double usage of the LHS deref chains in ++, *=, and similar operations. | |||
2010-06-23 | ir_variable: Add query to get number of slots used by a variable | Ian Romanick | |
2010-06-23 | ir_variable: Track the location of uniforms, varings, attributes, etc. | Ian Romanick | |
2010-06-23 | ir_variable: Add method to get string representing interpolation qualifier | Ian Romanick | |
2010-06-23 | ir_constant: Add method to determine if two constants have the same value | Ian Romanick | |
2010-06-22 | ir_validate: New pass for checking our invariants. | Eric Anholt | |
2010-06-22 | ir: Give ir_instruction a print visitor helper. | Eric Anholt | |
This avoids spamming each file with includes of ir_print_visitor.h because someone was doing debugging at some point, and is less typing when doing debugging. | |||
2010-06-22 | Include stdio.h and stdlib.h everywhere, and don't cook our own #define NULL. | Eric Anholt | |
2010-06-11 | ir_constant: Eliminate 'void *' constructor | Ian Romanick | |
All of the places that had been using the (glsl_type *, void *) constructor were actually passing an ir_constant_data for the 'void *'. The code can be greatly simplified by replacing this constructor with a (glsl_type *, ir_constant_data *) constructor. This should also help prevent one class of invalid uses of the old constructor. | |||
2010-06-11 | Matrix and vector constructors with a single constant scalar are constant | Ian Romanick | |
2010-06-11 | ir_constant: Add get_record_field query | Ian Romanick | |
2010-06-11 | ir_constant: Support constant structures in clone | Ian Romanick | |
2010-06-11 | ir_constant: Add storage for multiple constants for arrays and records | Ian Romanick | |
2010-06-11 | Construct an ir_constant from a list of ir_constant values | Ian Romanick | |
2010-06-11 | Add methods to ir_constant to get scalar components in a particular type | Ian Romanick | |
2010-06-11 | Construct an ir_constant from a scalar component of another ir_constant | Ian Romanick | |
2010-06-09 | Implement dFdx, dFdy, and fwidth via new expression opcodes. | Kenneth Graunke | |
2010-06-09 | ir_function_cloning_visitor: Add support for ir_texture. | Kenneth Graunke | |
2010-06-09 | Set the type of ir_texture properly; infer it from the sampler type. | Kenneth Graunke | |
2010-06-09 | Add stub visitor support for ir_texture. | Kenneth Graunke | |
2010-06-09 | Add mappings between ir_texture_opcode and strings. | Kenneth Graunke | |
2010-06-09 | Define IR instruction for texture look-ups | Ian Romanick | |
2010-06-02 | There is no class ir_label, so there's no need for ir_instruction::as_label | Ian Romanick | |
2010-06-01 | ir_vec_index_to_swizzle: Pass to convert indexing of vectors to swizzles. | Eric Anholt | |
This should remove the burden of handling constant vector indexing well from backend codegen, and could help with swizzle optimizations. | |||
2010-05-26 | ir_dereference::mode is no longer used, kill with fire | Ian Romanick | |
2010-05-26 | Refactor whole-variable assigment checking into member function | Ian Romanick | |
2010-05-26 | Refactor ir_dereference data fields to subclasses | Ian Romanick | |
2010-05-26 | Refactor ir_dereference support for ir_visitor | Ian Romanick | |
Move the accept method for visitors from ir_dereference to the derived classes. | |||
2010-05-26 | Refactor ir_dereference support for ir_hierarchical_visitor | Ian Romanick | |
Move the accept method for hierarchical visitors from ir_dereference to the derived classes. This was mostly straight-forward, but I suspect that ir_dead_code_local may be broken now. | |||
2010-05-26 | Begin refactoring ir_dereference | Ian Romanick | |
Create separate subclasses of ir_dereference for variable, array, and record dereferences. As a side effect, array and record dereferences no longer point to ir_variable objects directly. Instead they each point to an ir_dereference_variable object. This is the first of several steps in the refactoring process. The intention is that ir_dereference will eventually become an abstract base class. | |||
2010-05-17 | Add ir_hierarchical_visitor base class and associated infrastructure | Ian Romanick | |
This type of visitor should eventually replace all or almost all current uses of ir_visitor. | |||
2010-05-14 | Add ir_rvalue::variable_referenced | Ian Romanick | |
2010-05-14 | Implement "sin" and "cos" builtins via new expression operators. | Kenneth Graunke | |
2010-05-14 | Implement "sign" builtin via a new expression operator. | Kenneth Graunke | |
2010-05-04 | ir_copy_propagation: New pass to rewrite dereferences to avoid copies. | Eric Anholt | |
This is pretty basic. Right now it only handles pure assignments -- same type on each side, no swizzling, and only within basic blocks. | |||
2010-05-03 | ir_to_mesa.cpp: Fix missing types on some ir_swizzles. | Eric Anholt | |
Debugging this took forever as I only looked at constructors in ir.cpp to find who wasn't setting up ->type. I dislike hiding code (as opposed to prototypes and definitions) in C++ header files, but in this case I have only myself to blame. | |||
2010-04-28 | Add ir_dereference constructor for structure field dereferences | Ian Romanick | |
2010-04-28 | Move array of operator strings out of ir_print_visitor.cpp. | Kenneth Graunke | |
Also implement a reverse-lookup function for use in the IR reader. | |||
2010-04-28 | Factor out parameter list replacement for later reuse. | Kenneth Graunke | |
2010-04-28 | Factor out parameter list matching from ast_function::hir for later reuse. | Kenneth Graunke | |
Unfortunately, we still have two kinds of matching - one, with implicit conversions (for use in calls) and another without them (for finding a prototype to overwrite when processing a function body). This commit does not attempt to coalesce the two. | |||
2010-04-28 | Factor out qualifier checking code for later reuse. | Kenneth Graunke | |
2010-04-28 | Refactor ir_expression::get_num_operands. | Kenneth Graunke | |
A new static version takes an ir_expression_operation enum, and the original non-static version now uses it. This will make it easier to read operations (where the ir_expression doesn't yet exist). | |||
2010-04-21 | Fix ir_dead_code for function refactoring. | Kenneth Graunke | |
2010-04-21 | Remove ir_label since it is no longer used. | Kenneth Graunke | |