Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | i915: Remove unnecessary header from i830_context.c. | Vinson Lee | 2010-08-19 | 1 | -1/+0 |
| | |||||
* | i965: Set the if stack pop count when breaking out of a loop inside an if. | Eric Anholt | 2010-08-18 | 1 | -5/+11 |
| | | | | | Otherwise, we might end up with the if stack pointing at the wrong place. Fixes GPU hang with glsl-vs-if-loop. | ||||
* | i965: Don't set the swizzle on an immediate value in the VS. | Eric Anholt | 2010-08-18 | 2 | -4/+11 |
| | | | | | | | Fixes glsl-vs-if-nested (70.0 is not <= 70.000648 thanks to the swizzle bits getting set). Some safety checks are added to make sure this doesn't happen again as we increase the usage of immediate values in program generation. | ||||
* | mesa: Fix the whining for link failures to actually be under MESA_GLSL=dump. | Eric Anholt | 2010-08-18 | 1 | -0/+5 |
| | |||||
* | mesa: Remove unnecessary heaaders from shaderapi.c. | Vinson Lee | 2010-08-18 | 1 | -2/+0 |
| | |||||
* | mesa: Don't try to free components of a NULL uniform list. | Eric Anholt | 2010-08-18 | 1 | -0/+4 |
| | | | | This might happen if we manage to trigger the right linker errors. | ||||
* | ir_to_mesa: Fix leak by improper freeing of a uniform list. | Eric Anholt | 2010-08-18 | 1 | -1/+1 |
| | |||||
* | glsl2: Free the shader compiler at dri screen destruction. | Eric Anholt | 2010-08-18 | 1 | -0/+2 |
| | | | | | | Hooray, we can valgrind again without adding suppressions. This also adds an interface for use by an implementation of glReleaseShaderCompiler(). | ||||
* | ir_to_mesa: Don't leak the whole linked assembly program. | Eric Anholt | 2010-08-18 | 1 | -0/+1 |
| | |||||
* | dri2: Clean up the common dri2 options at screen destroy. | Eric Anholt | 2010-08-18 | 2 | -3/+8 |
| | |||||
* | mesa: fpclassify is available on OpenSolaris. | Vinson Lee | 2010-08-18 | 1 | -1/+2 |
| | | | | | | | | | | There is no explicit predefined macro to distinguish between OpenSolaris and Solaris. This patch assumes that the difference is in the compilers. OpenSolaris uses GCC and not the Sun Studio compiler. Assume that the availability of fpclassify is due to GCC. This patch was not tested on Solaris. It would break the build on Solaris with GCC if GCC on Solaris does not have fpclassify. | ||||
* | ir_to_mesa: Fix leak of set_branchtargets temp data. | Eric Anholt | 2010-08-18 | 1 | -4/+2 |
| | |||||
* | ir_to_mesa: Stop leaking the ir_instruction * annotation of our compile. | Eric Anholt | 2010-08-18 | 1 | -2/+1 |
| | |||||
* | mesa: Free linked shaders when deleting the shader program. | Eric Anholt | 2010-08-18 | 1 | -0/+6 |
| | |||||
* | mesa: Free old linked shaders when relinking new shaders. | Eric Anholt | 2010-08-18 | 1 | -1/+1 |
| | |||||
* | ir_to_mesa: Free the ir_to_mesa temporary storage when we're done. | Eric Anholt | 2010-08-18 | 1 | -2/+2 |
| | |||||
* | mesa: Hang the compiled shader off the shader->ir, not the shader. | Eric Anholt | 2010-08-18 | 1 | -1/+2 |
| | | | | | Otherwise, with repeated program recompile, we never free the results of the previous compile. | ||||
* | mesa: Make MESA_GLSL=dump include when compile/link fails, and the info log. | Eric Anholt | 2010-08-18 | 1 | -5/+20 |
| | |||||
* | r600: implement SSG instruction | Andre Maasikas | 2010-08-18 | 2 | -0/+67 |
| | |||||
* | r600: implement DP2 opcode | Andre Maasikas | 2010-08-18 | 1 | -2/+10 |
| | |||||
* | ir_to_mesa: Allow ir_return in main(). | Eric Anholt | 2010-08-17 | 1 | -2/+2 |
| | | | | | | | | | I didn't expect that this would really work, but it turns out there are shaders in the wild that do it. Fixes: (with swrast) glsl-fs-main-return glsl-vs-main-return | ||||
* | i965: Throw a link error when we see a "return" in main(). | Eric Anholt | 2010-08-17 | 1 | -0/+8 |
| | | | | | We'll need to use the HALT instruction to do this right, like returns from other functions. | ||||
* | ir_to_mesa: Fix implementation of ir_binop_equal, ir_binop_notequal. | Eric Anholt | 2010-08-17 | 1 | -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 Anholt | 2010-08-17 | 1 | -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 Anholt | 2010-08-17 | 1 | -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 Anholt | 2010-08-17 | 1 | -0/+12 |
| | | | | Fixes glsl-fs-dot-vec2. | ||||
* | i915: Enable ARB_fragment_shader by default. | Eric Anholt | 2010-08-17 | 1 | -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) | ||||
* | r600c: Handle reads from PROGRAM_OUTPUT | Henri Verbeet | 2010-08-17 | 2 | -7/+20 |
| | | | | with glsl2, reads from outputs are legal | ||||
* | prog_optimize: Only merge writes to temporary registers | Benjamin Segovia | 2010-08-17 | 1 | -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. | ||||
* | i965: Add support for DP2 in the VS. | Eric Anholt | 2010-08-17 | 1 | -0/+4 |
| | | | | Fixes glsl-vs-dot-vec2. | ||||
* | mesa: Dump shader source before validating the shader. | Eric Anholt | 2010-08-17 | 1 | -9/+9 |
| | | | | | This will make extracting source to produce minimal testcases for shader compile issues easier. | ||||
* | r600c: fix dword miscount in blit emit code | Alex Deucher | 2010-08-17 | 1 | -1/+1 |
| | |||||
* | mesa: fix es1/2 build hopefully | Dave Airlie | 2010-08-17 | 1 | -0/+8 |
| | | | | needed to add cpp rules and includes properly for es1/es2 | ||||
* | i965: Use the implied move available in most brw_wm_emit brw_math() calls. | Eric Anholt | 2010-08-16 | 1 | -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 Anholt | 2010-08-16 | 1 | -1/+16 |
| | |||||
* | Merge branch 'glsl2' | Ian Romanick | 2010-08-16 | 39 | -121/+3241 |
|\ | | | | | | | | | Conflicts: src/mesa/program/prog_optimize.c | ||||
| * | ir_to_mesa: Silence unused variable warnings | Ian Romanick | 2010-08-16 | 1 | -3/+3 |
| | | |||||
| * | ir_to_mesa: Clean up assertions in ir_to_mesa_visitor::visit(ir_texture *) | Ian Romanick | 2010-08-16 | 1 | -1/+4 |
| | | |||||
| * | ir_to_mesa: Support texture rectangle targets | Ian Romanick | 2010-08-16 | 1 | -0/+3 |
| | | |||||
| * | st/mesa: remove output register reads inside shaders | Marek Olšák | 2010-08-16 | 1 | -0/+8 |
| | | | | | | | | This is a GLSL2 regression fix. | ||||
| * | mesa: Check that _XOPEN_SOURCE is defined before using it. | Vinson Lee | 2010-08-15 | 1 | -1/+1 |
| | | |||||
| * | mesa: Silence gcc warning "control reaches end of non-void function". | José Fonseca | 2010-08-14 | 1 | -0/+1 |
| | | |||||
| * | mesa: Silence gcc warning "missing initializer for member". | José Fonseca | 2010-08-14 | 1 | -28/+28 |
| | | |||||
| * | mesa: Recent versions of MSVC define the single precision functions already. | José Fonseca | 2010-08-14 | 1 | -1/+2 |
| | | |||||
| * | mesa: atan2f and powf need two args. | José Fonseca | 2010-08-14 | 1 | -2/+2 |
| | | |||||
| * | Merge branch 'master' into glsl2 | Ian Romanick | 2010-08-13 | 174 | -1158/+1654 |
| |\ | |||||
| * | | mesa: Work-arounds for platforms that lack C99 math functions | Ian Romanick | 2010-08-13 | 1 | -0/+28 |
| | | | |||||
| * | | mesa: Avoid using c++ keyword in dri_util.h when compiled with c++. | Eric Anholt | 2010-08-13 | 1 | -0/+4 |
| | | | |||||
| * | | intel: Remove include of texmem.h, since we haven't used it in ages. | Eric Anholt | 2010-08-13 | 4 | -4/+2 |
| | | | |||||
| * | | glsl2: Move ir_to_mesa handling to driver CompileShader and LinkShader hooks. | Eric Anholt | 2010-08-13 | 4 | -52/+99 |
| | | | | | | | | | | | | | | | This lets drivers override ir_to_mesa with their own codegen, or at least have a native alternative. |