summaryrefslogtreecommitdiff
path: root/src/mesa
AgeCommit message (Collapse)Author
2010-09-04r300/compiler: Remove stray break statementTom Stellard
This fixes glsl-fs-loop-nested.
2010-09-05r300/compiler: fix the instruction limit in vertex shadersMarek Olšák
Broken with commit d774b0c710bb7d833d17bd12f5151a0176baad96. Reported by Chris Rankin.
2010-09-04Revert "ir_to_mesa: Load all the STATE_VAR elements of a builtin uniform to ↵Marek Olšák
a temp." This reverts commit 5ad74779cea07cc6a19a52874cdaef8b018e2f1b. Sorry, but I had to revert this. Any commit which needlessly increases the number of temporaries is wrong. More temporaries mean less shader performance because of reduced parallelism and therefore less efficient latency hiding. In this case, there is possible performance degradation of every shader which uses GL state variables. I cannot accept this.
2010-09-04r300/compiler: indent printed instructions according to the branch depthMarek Olšák
2010-09-04r300/compiler: use limits from the compiler input instead of inline constantsMarek Olšák
2010-09-04r300/compiler: improve register allocation with indexable temporaries for VSMarek Olšák
Register allocation can now reallocate temporaries right after the last indexed source operand, instead of being disabled for the whole shader.
2010-09-04r300/compiler: fix handling of indexed temporaries in peepholeMarek Olšák
2010-09-04r300/compiler: disable deadcode elimination for indexed dst operandsMarek Olšák
2010-09-04r300/compiler: allocate at least FS inputs if register allocation is disabledMarek Olšák
2010-09-04r300g: add a new debug option which disables compiler optimizationsMarek Olšák
Those are: - dead-code elimination - constant folding - peephole (mainly copy propagation) - register allocation There are some bugs which I need to track down. Also fix up the descriptions of all the debug options.
2010-09-04r300/compiler: compute the final number of temporaries during translationMarek Olšák
And not during the register allocation, which may be skipped for debugging purposes. Also the predicate register is now added to the number of temps.
2010-09-04r300/compiler: make optimizations not use 0.5 swizzles in vertex shadersMarek Olšák
2010-09-04r300/compiler: use peephole and constant folding for vertex shaders tooMarek Olšák
2010-09-04r300/compiler: remove unused enum OPCODE_REPL_ALPHAMarek Olšák
We use RC_OPCODE_REPL_ALPHA instead.
2010-09-04r300/compiler: refactor fragment shader compilationMarek Olšák
This cleans up the mess in r3xx_compile_fragment_program.
2010-09-04r300/compiler: add new compiler parameter max_constantsMarek Olšák
2010-09-04r300/compiler: refactor vertex shader compilationMarek Olšák
First list compiler passes in an array, then run the new function rc_run_compiler. Every backend may need a different set of passes. This cleans up the mess in r3xx_compile_vertex_program.
2010-09-04r300/compiler: remove a redundant parameter in rc_pair_regallocMarek Olšák
2010-09-04r300/compiler: remove a redundant parameter in rc_dataflow_deadcodeMarek Olšák
&c->Base == c.
2010-09-04r300/compiler: use null-terminated array of transformation functionsMarek Olšák
I need to reduce the number of parameters of each compiler pass function. This is part of a larger cleanup.
2010-09-04r300/compiler: add new compiler parameter max_alu_instsMarek Olšák
2010-09-04r300/compiler: put emulate_loop_state in radeon_compilerMarek Olšák
2010-09-04mesa/st: add missing _mesa_set_fetch_functions in st_get_tex_imageLuca Barbieri
Fixes piglit fdo25614-genmipmap.
2010-09-03mesa: fix up a commentBrian Paul
2010-09-03ir_to_mesa: Handle loops with loop controls setIan Romanick
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.
2010-09-03r600c: add proper returns for some evergreen functionsAlex Deucher
these weren't checked anyway. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=29999
2010-09-03r600c: emit DB_HTILE_DATA_BASE on evergreenAlex Deucher
Make the hw happy.
2010-09-02mesa: Fix printf-like warning.Vinson Lee
2010-09-02mesa: Fix printf-like warnings.Vinson Lee
2010-09-02st/mesa: clamp gl_constants::MaxVarying against MAX_VARYINGBrian Paul
Don't try to use more generic varying vars than core Mesa supports. Fixes fd.o bug 29959.
2010-09-02mesa: fix code generation for ir_unop_sqrtBrian Paul
The CMP instruction needed to be flipped to properly handle operand==0. Fixes fd.o bug 29923.
2010-09-02mesa: fix some printf warnings with castsBrian Paul
2010-09-01ir_to_mesa: Load all the STATE_VAR elements of a builtin uniform to a temp.Eric Anholt
Like the constant handling and the handling of other uniforms, we add the whole thing to the Parameters, avoiding messy, incomplete logic for adding just the elements of a builting uniform that get used. This means that a driver that relies only on ParameterValues[] for its parameters will have an increased parameter load, but drivers generally don't do that (since they have other params they need to handle, too). Fixes glsl-fs-statevar-call (testcase for Ember). Bug #29687. Regresses glsl-vs-array-04 on 965. Thanks to a slight change in register allocation, this test of undefined behavior now wraps around the register space and unexpectedly reads the constant value it's trying to compare to. The test should probably not look at the resulting color, since behavior is undefined.
2010-09-01ir_to_mesa: Add a little helper for emitting link failure messages.Eric Anholt
2010-09-01mesa: Fix many printf-like warnings.Eric Anholt
Most of these are just typecasting to long to match the arg type. I don't really care too much about getting a GLsizei or whatever appropriate type in. However, there were a number of real bugs, like missing arguments or passing floats to integer format specifiers. My favorite: printflike("%s, argument") is missing an argument.
2010-09-01mesa: Add __printf__ attribute to printf-like functions to get warnings.Eric Anholt
2010-09-02mesa/st: remove check for buffer/elements = 0Dave Airlie
shown by the glsl-vs-point-size failing on r600g. the test passes on softpipe and I get a full piglit test run completing on r600g.
2010-09-01mesa: fix out of bounds memory read in mipmap gen codeBrian Paul
Out of bounds reads could happen for reducing WxH to WxH/2 or WxH to W/2xH. Fixes fd.o bug 29918.
2010-09-01mesa: more prog_execute.c debug codeBrian Paul
2010-09-01i965: DP2 produces a scalar result like DP3, DP4, etc.Eric Anholt
Fixes glsl-fs-dot-vec2-2.
2010-09-01mesa: initialize dummy framebuffer and renderbuffer mutexesVladimir Vukicevic
See fd.o bug 29909. Signed-off-by: Brian Paul <brianp@vmware.com>
2010-09-01r600: cube mipmap levels are aligned to 8 faces only starting from r7xxAndre Maasikas
2010-08-31ir_to_mesa: When emitting a pixel kill, flag that we did so.Eric Anholt
Both i965 and swrast rely on UsesKill to determine whether to do early depth writes. Fixes glsl-fs-discard-02. Bug #29835.
2010-08-31ir_to_mesa: Sort the uniform list we're adding to Parameters[] order.Eric Anholt
Fixes glsl-uniform-linking-1 and failure to link a shader in Unigine. An alternative here would be to just ditch using _mesa_add_parameter and build the initial params list on our own, but that would require two walks of the list as well. Bug #29822
2010-08-31ir_to_mesa: Fix struct/class confusionnobled
2010-08-31ir_to_mesa: Set up our instruction nodes with zeroed data.Eric Anholt
cond_update wasn't being set by emit_op3, leading to valgrind complaints, and failures in several piglit tests when built with clang.
2010-08-31ir_to_mesa: use RSQ+MUL instead of RSQ+RCP for SQRTMarek Olšák
sqrt(x) = 1/rsq(x) = x*rsq(x) This optimization already was in the old GLSL compiler. Acked on irc by Eric Anholt.
2010-08-31i965: fix depth test on sandybridgeZhenyu Wang
This includes several corrections for fixing depth test on sandybridge. Fix wrong bits definition in depth stencil state. Fix wrong order of state buffer offset in 3DSTATE_CC_STATE_POINTERS command. Correctly use buffer width parameter in depth buffer setting. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
2010-08-30Add talloc to osmesa library dependenciesJon TURNEY
also link osmesa with C++ standard libraries, as it now contains C++ code Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2010-08-30Fix inverted version checks in check_extra.Kenneth Graunke
Previously, if an attribute was enabled by either a specific GL version or an extension, the check would require -both- to be enabled. This bug was not discovered earlier because version checks are currently only ever used on their own. Signed-off-by: Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>