summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* i965: Throw a link error when we see a "return" in main().Eric Anholt2010-08-171-0/+8
| | | | | We'll need to use the HALT instruction to do this right, like returns from other functions.
* r600g: fixup pitch alignment like r600c.Dave Airlie2010-08-182-3/+7
| | | | This still needs work, passes tex3d, fbo-scissor-bitmap, scissor-bitmap
* translate_sse: don't overwrite source buffer pointerLuca Barbieri2010-08-181-5/+5
| | | | | We were putting the source pointer in a register used as a temporary, breaking all paths that don't read the data in a single instruction.
* glcpp: Add testcase for #if handling bug that breaks Savage2.Eric Anholt2010-08-172-0/+11
|
* r600g: fix height calcs for miptreeDave Airlie2010-08-181-0/+1
| | | | | | | h needs to be rounded up, this probably needs revisiting when we get to tiling etc. fixes fbo-generatemipmap-npot
* r600g: emit texture level offset in CB/DB setup.Dave Airlie2010-08-181-2/+2
| | | | | | | 8 more piglit tests pass, fbo-clearmipmap, fbo-copyteximage, fbo-generatemipmap, fbo-generatemipmap-nonsquare, fbo-generatemipmap-scissor, fbo-generatemipmap-viewport, gen-teximage, gen-texsubimage
* ir_to_mesa: Fix implementation of ir_binop_equal, ir_binop_notequal.Eric Anholt2010-08-171-2/+26
| | | | | | | | | | | | | These binops are the vector-to-bool comparisons, not vec-to-bvec. We likely want both operations avilable as expression, since 915 and 965 FS naturally does the vector version, while 965 VS can also naturally do the scalar version. However, we can save that until later. Fixes: glsl-fs-vec4-operator-equal.shader_test glsl-fs-vec4-operator-notequal.shader_test glsl-vs-vec4-operator-equal.shader_test glsl-vs-vec4-operator-notequal.shader_test
* i915: Add support for SSG opcode.Eric Anholt2010-08-171-0/+35
| | | | Fixes glsl-fs-sign and many of the tests of trig builtins.
* i915: Add support for reading output regs in the FS.Eric Anholt2010-08-171-0/+14
| | | | | Fixes glsl-unused-varying and many others, since we produce an output reg read any time gl_FragColor is written inside an if statement.
* i915: Add support for OPCODE_DP2.Eric Anholt2010-08-171-0/+12
| | | | Fixes glsl-fs-dot-vec2.
* i915: Enable ARB_fragment_shader by default.Eric Anholt2010-08-171-1/+1
| | | | | | | | | | | | | | | | Now that we have glsl2 with if flattening in place, most shaders will just work. Remaining failing shaders will mostly be due to loop unrolling (in progress), some possible if flattening failures in inlining functions (planning on fixing), and the register/instruction count limits. While the GLSL and GLSL-ES specs say that shaders shouldn't fail to compile/link due to register/instruction limits, in practice we're not the first vendor to expose GLSL on hardware with these limitations. The benefit to application developers of providing a better language for GPU programming is greater than the pain of having to handle instruction limits (which they had to for ARB_fp on this hardware anyway)
* glsl2: Fix transpose of rows and colsIan Romanick2010-08-171-2/+2
| | | | | | | | | This error led to an assertion failure for some constructors of non-square matrices. It only occured in matrices where the number of columns was greater than the number of rows. It didn't even always occur on those. Fixes piglit glslparsertest case constructor-16.vert.
* r600c: Handle reads from PROGRAM_OUTPUTHenri Verbeet2010-08-172-7/+20
| | | | with glsl2, reads from outputs are legal
* linker: Demote user-defined varyings in the VS-only caseIan Romanick2010-08-171-14/+28
| | | | Fixes piglit test case glsl-vs-ff-frag and bugzilla #29623.
* prog_optimize: Only merge writes to temporary registersBenjamin Segovia2010-08-171-1/+5
| | | | | | In one optimization pass, register files may have been messed therefore merging instructions which use the same index in two different register files.
* r600g: fix fake pixel outputJerome Glisse2010-08-171-1/+1
| | | | Signed-off-by: Jerome Glisse <[email protected]>
* i965: Add support for DP2 in the VS.Eric Anholt2010-08-171-0/+4
| | | | Fixes glsl-vs-dot-vec2.
* glsl: When doing algebraic simplification, make sure the type still matches.Eric Anholt2010-08-171-12/+34
| | | | | | | | | | | | When simplifying (vec4(1.0) / (float(x))) to rcp(float(x)), we forgot to produce a vec4, angering ir_validate when starting alien-arena. Fixes: glsl-algebraic-add-zero-2 glsl-algebraic-div-one-2 glsl-algebraic-mul-one-2 glsl-algebraic-sub-zero-3 glsl-algebraic-rcp-sqrt-2
* glsl: Make ir_algebraic new expressions allocate out of the parent.Eric Anholt2010-08-171-16/+22
| | | | | This could reduce the amount of memory used by a shader tree after optimization, and increases consistency with other passes.
* ir_constant: Don't assert on out-of-bounds array accessesIan Romanick2010-08-171-1/+15
| | | | | | | | | Several optimization paths, including constant folding, can lead to accessing an ir_constant array with an out of bounds index. The GLSL spec lets us produce "undefined" results, but it does not let us crash. Fixes piglit test case glsl-array-bounds-01 and glsl-array-bounds-03.
* mesa: Dump shader source before validating the shader.Eric Anholt2010-08-171-9/+9
| | | | | This will make extracting source to produce minimal testcases for shader compile issues easier.
* r600c: fix dword miscount in blit emit codeAlex Deucher2010-08-171-1/+1
|
* targets/egl: Link with DRI_LIB_DEPS.Chia-I Wu2010-08-171-3/+3
| | | | | Use DRI_LIB_DEPS when linking GL/GLES state trackers. This fixes missing talloc symbol errors, and is hopefully more future proof.
* gallivm: Fix and re-enable MMX-disabling codenobled2010-08-171-5/+1
| | | | Signed-off-by: José Fonseca <[email protected]>
* mesa: fix es1/2 build hopefullyDave Airlie2010-08-171-0/+8
| | | | needed to add cpp rules and includes properly for es1/es2
* r300g: fix context destroy under hyperzDave Airlie2010-08-171-3/+3
| | | | | | we were destroying the mm before unrefing all the objects, so segfault. Signed-off-by: Dave Airlie <[email protected]>
* r600g: kill event type magic number in winsysDave Airlie2010-08-172-3/+5
| | | | these events have names, use them.
* r600g: add user clip plane support.Dave Airlie2010-08-175-13/+89
| | | | | | | | | Apart from the fact that the radeon.h/r600_states.h editing is a nightmare, this wasn't so bad. passes piglit user-clip test now also trivial tests. Signed-off-by: Dave Airlie <[email protected]>
* i965: Use the implied move available in most brw_wm_emit brw_math() calls.Eric Anholt2010-08-161-16/+4
| | | | | | | | This saves an extra message reg move in the program, though I'm not clear on whether it will have any performance impact other than cache footprint. It will also fix those math calls on Sandybridge, where the brw_eu_emit.c brw_math() support relies on the implied move being used.
* i965: Add disasm for Compr4 instruction compression.Eric Anholt2010-08-161-1/+16
|
* Merge branch 'glsl2'Ian Romanick2010-08-16468-177/+85351
|\ | | | | | | | | Conflicts: src/mesa/program/prog_optimize.c
| * glsl2: Refresh autogenerated file builtin_function.cpp.Kenneth Graunke2010-08-161-1952/+11534
| |
| * glsl2: Add builtins profile for GLSL 1.30.Kenneth Graunke2010-08-162-0/+1986
| | | | | | | | | | Many functions are currently wrapped with #if 0 since we haven't implemented them yet.
| * linker: Include compiler.h to avoid spurious warnings about INLINEIan Romanick2010-08-161-0/+1
| |
| * glsl2: Silence unused variable warningIan Romanick2010-08-161-0/+1
| |
| * glcpp: Refresh autogenerated lexer and parser.Kenneth Graunke2010-08-162-60/+44
| |
| * glcpp: Remove spurious newline generated by #version handling.Kenneth Graunke2010-08-162-4/+2
| | | | | | | | | | | | This was causing line numbering to be off by one. The newline comes from the NEWLINE token at the end of the line; there's no need to insert one.
| * ir_to_mesa: Silence unused variable warningsIan Romanick2010-08-161-3/+3
| |
| * ir_to_mesa: Clean up assertions in ir_to_mesa_visitor::visit(ir_texture *)Ian Romanick2010-08-161-1/+4
| |
| * ir_to_mesa: Support texture rectangle targetsIan Romanick2010-08-161-0/+3
| |
| * st/mesa: remove output register reads inside shadersMarek Olšák2010-08-161-0/+8
| | | | | | | | This is a GLSL2 regression fix.
| * mesa: Check that _XOPEN_SOURCE is defined before using it.Vinson Lee2010-08-151-1/+1
| |
| * Revert "glsl2: Use stdint.h instead of inttypes.h"José Fonseca2010-08-144-4/+4
| | | | | | | | This reverts commit a77a6bc008b3146c56431fa520a00e1f8dfa3938.
| * glsl: Standardize a few more uses of struct vs class keyword.José Fonseca2010-08-145-12/+13
| |
| * scons: Link talloc.José Fonseca2010-08-141-0/+1
| |
| * glsl: Silence gcc warning "control reaches end of non-void function".José Fonseca2010-08-141-1/+1
| |
| * mesa: Silence gcc warning "control reaches end of non-void function".José Fonseca2010-08-141-0/+1
| |
| * mesa: Silence gcc warning "missing initializer for member".José Fonseca2010-08-141-28/+28
| |
| * mesa: Recent versions of MSVC define the single precision functions already.José Fonseca2010-08-141-1/+2
| |
| * scons: Add new source files.José Fonseca2010-08-141-0/+2
| |