summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* glsl2: Use as_constant some places instead of constant_expression_valueIan Romanick2010-09-032-3/+3
| | | | | | | | | | | The places where constant_expression_value are still used in loop analysis are places where a new expression tree is created and constant folding won't have happened. This is used, for example, when we try to determine the maximal loop iteration count. Based on review comments by Eric. "...rely on constant folding to have done its job, instead of going all through the subtree again when it wasn't a constant."
* glsl2: Allow copy / constant propagation into array indicesIan Romanick2010-09-032-32/+12
|
* glsl2: Add module to perform simple loop unrollingIan Romanick2010-09-037-3/+123
|
* glsl2: Track the number of ir_loop_jump instructions that are in a loopIan Romanick2010-09-033-0/+27
|
* ir_expression: Add static operator_string methodIan Romanick2010-09-032-3/+13
| | | | | I've used this in quite a few debug commits that never reached an up-stream tree.
* exec_node: Add insert_before that inserts an entire listIan Romanick2010-09-031-0/+23
|
* glsl2: Eliminate zero-iteration loopsIan Romanick2010-09-031-1/+7
|
* glsl2: Perform initial bits of loop analysis during compilationIan Romanick2010-09-032-0/+10
|
* glsl2: Add module to suss out loop control variables from loop analysis dataIan Romanick2010-09-034-1/+305
| | | | This is the next step on the road to loop unrolling
* glsl2: Add module to analyze variables used in loopsIan Romanick2010-09-034-1/+672
| | | | This is the first step eventually leading to loop unrolling.
* ir_to_mesa: Handle loops with loop controls setIan Romanick2010-09-031-4/+44
| | | | | | The downside of our talloc usage is that we can't really make static (i.e., not created with new) instances of our IR types. This leads to a lot of unnecessary dynamic allocation in this patch.
* ir_validate: Validate loop control fields in ir_loopIan Romanick2010-09-031-0/+35
|
* glsl2: Add cmp field to ir_loopIan Romanick2010-09-033-6/+34
| | | | | This reprents the type of comparison between the loop induction variable and the loop termination value.
* glsl2: Set a flag when visiting the assignee of an assignmentIan Romanick2010-09-034-0/+24
|
* exec_list: Add pop_headIan Romanick2010-09-031-0/+17
|
* ir_print_visitor: Print empty else blocks more compactlyIan Romanick2010-09-031-9/+13
|
* nvfx: fix division by zero in vp-ignore-inputLuca Barbieri2010-09-031-1/+1
|
* nvfx: report correct max lodbiasLuca Barbieri2010-09-031-1/+1
| | | | Fixes piglit lodbias
* nvfx: remove messageLuca Barbieri2010-09-031-13/+0
|
* nvfx: support indirect addressing in vpsLuca Barbieri2010-09-034-27/+96
| | | | Negative or huge offsets not yet supported.
* r600c: add proper returns for some evergreen functionsAlex Deucher2010-09-032-2/+8
| | | | | | | these weren't checked anyway. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=29999
* nvfx: fix support for more than 8 texture units (fixes etqw crash)Luca Barbieri2010-09-032-4/+3
|
* r600g: fix segfault in state after reworkDave Airlie2010-09-031-2/+2
| | | | probably can improve this a bit.
* r600c: emit DB_HTILE_DATA_BASE on evergreenAlex Deucher2010-09-031-4/+11
| | | | Make the hw happy.
* r600g: refactor sample states into a reusable struct.Dave Airlie2010-09-032-97/+78
| | | | | | I will not cut-n-paste. I will not cut-n-paste. I will not cut-n-paste.
* r600g: reduce size of r600 context structure to !insaneDave Airlie2010-09-032-3/+29
| | | | Its now about 7.8k, and might actually fit in a cache.
* r600g: add texture border state.Dave Airlie2010-09-032-2/+42
| | | | | | | Okay I finally wrapped my head around what r600_context_state is meant to be, maybe I should just rename all the structs so that have distinct names. I've no idea however why 16 is a good magic number for R600_MAX_RSTATE.
* r600g: deref old driver states for set entry points.Dave Airlie2010-09-031-0/+10
|
* r600g: drop r600_bind_state.Dave Airlie2010-09-031-75/+34
| | | | | | | This was another ugly function that really wasn't needed. The 3 calls to it from the gallium api were shorter than it, and all the calls from the set_ functions were pointless.
* r600g: kill r600_context_state functionDave Airlie2010-09-032-96/+63
| | | | | | having some sort of locality of code really matters, just create and setup state at time. Not sure if this is just further polishing of a bad thing, but at least it makes it more readable.
* r600g: move lots of state inline helpers to separate header.Dave Airlie2010-09-032-117/+120
| | | | this gets them out of sight of the main codeflow.
* draw: Include missing headers in draw_vs_aos.h.Vinson Lee2010-09-021-0/+2
| | | | | Include tgsi_exec.h for TGSI_EXEC_NUM_TEMPS. Include draw_vs.h for draw_vs_varient.
* r600g: drop magic numbers in depth state.Dave Airlie2010-09-032-3/+33
| | | | this also fixes occulsion queries.
* util: Include missing header in u_linear.h.Vinson Lee2010-09-021-0/+1
| | | | Include p_compiler.h for size_t and boolean symbols.
* mesa: Fix printf-like warning.Vinson Lee2010-09-022-2/+2
|
* mesa: Fix printf-like warnings.Vinson Lee2010-09-026-16/+16
|
* r600g: force unbind of previously bind sampler/sampler_viewJerome Glisse2010-09-022-86/+95
| | | | | | | | | | | | | | | | Previously bind sampler/sampler_view can be converted and endup overwritting the current state we want to schedule. Example : bind texA texB to sampler_view[0] & sampler_view[1], render, bind texB to sampler_view[0] render. Now state associated to texB are set to configure sampler_view slot 0, but as we don't unbind sampler_view[1] still point to texB state so we end up with sampler_view[1] overwritting sampler_view[0], which gives wrong rendering if next rendering bind texA to sampler_view[0], it will endup as texB is bound to sampler_view[0]. If you are not confuse at that point give me a call i will be buying you beer. Signed-off-by: Jerome Glisse <[email protected]>
* st/mesa: clamp gl_constants::MaxVarying against MAX_VARYINGBrian Paul2010-09-021-0/+1
| | | | | Don't try to use more generic varying vars than core Mesa supports. Fixes fd.o bug 29959.
* glsl2: Update TODO fileIan Romanick2010-09-021-19/+7
|
* r600g: fix memory/bo leakJerome Glisse2010-09-024-2/+21
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* mesa: fix code generation for ir_unop_sqrtBrian Paul2010-09-021-2/+3
| | | | | | | The CMP instruction needed to be flipped to properly handle operand==0. Fixes fd.o bug 29923.
* mesa: fix some printf warnings with castsBrian Paul2010-09-024-10/+10
|
* r600g: fix thinko in shadow code.Dave Airlie2010-09-021-1/+1
| | | | spotted by taiu on irc
* r600g: fix logicop, the 3d ROP is the 2D rop shifted twice.Dave Airlie2010-09-021-1/+1
|
* r600g: fix depth texture testsDave Airlie2010-09-021-2/+2
|
* glsl: Apply implicit conversions to structure constructor parameters.Kenneth Graunke2010-09-012-3/+10
| | | | | | | The code for handling implicit conversions should probably get refactored, but for now, this is easy. Fixes piglit test constructor-26.vert.
* glsl: Convert constant record constructor parameters to ir_constants.Kenneth Graunke2010-09-011-1/+3
| | | | I'm not sure if this is strictly necessary, but it seems wise.
* glsl: Reject structure constructors that have too many arguments.Kenneth Graunke2010-09-011-0/+6
| | | | Fixes piglit test constructor-27.vert.
* glsl2: Remove unnecessary glsl_symbol_table::get_function parameter ↵Ian Romanick2010-09-013-9/+4
| | | | | | | | return_constructors Now that constructors are not generated as functions or stored in the symbol table, there is no need to flag whether or not constructors should be returned.
* glsl2: Remove unused method glsl_type::generate_constructorIan Romanick2010-09-012-59/+0
|