summaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* i965: Adjust disasm of subreg numbers to be in units of the register type.Zhenyu Wang2010-08-201-6/+20
| | | | | This makes reading the code easier when matching up to the specs, which also use this format.
* i965: Fix DP write channel ordering on Sandybridge.Eric Anholt2010-08-201-2/+25
| | | | | The SIMD16 message no longer has the goofy interleaved format that made Compr4 compression necessary before.
* Delete more vestiges of the old shader compiler.Kenneth Graunke2010-08-202-45/+0
|
* glsl: Remove bogus "ambient" field from vec4 gl_TextureEnvColor.Kenneth Graunke2010-08-201-1/+1
|
* glsl: add missing ambient field to gl_LightModelLuca Barbieri2010-08-201-1/+1
| | | | | Again, this is a one-element struct that was incorrectly missing the field.
* glsl: don't crash if a field is specified for a non-struct uniformLuca Barbieri2010-08-201-1/+1
| | | | | This was triggered by the previous bug, but is a separate problem in the general sense.
* glsl: add missing sceneColor field to gl_{Front, Back}LightModelProductLuca Barbieri2010-08-201-2/+2
| | | | | | | According to both GLSL 1.20 and 4.0, these are a struct with one field called "sceneColor". Fixes a crash on loading in FlightGear.
* intel: Don't try to do work for BufferSubData with a size of 0.Eric Anholt2010-08-201-0/+6
| | | | | | | If we hit the linear blit path, we'd come up with a pitch of 0, then divide by zero. Fixes vbo-subdata-zero, made for bug #28931 (warsow).
* mesa: Fix GetUniformLocation while compiling display lists.Nick Bowler2010-08-201-1/+9
| | | | | | | | | | | | This function was apparently missing from the display list dispatch table, causing the generic no-op function to be called instead. To make matters worse, the no-op function is indistinguishable from a successful call to GetUniformLocation. GL specifies that GetUniformLocation is executed immediately when compiling display lists. Fixes fdo bug 29622. Signed-off-by: Nick Bowler <[email protected]>
* Remove remnants of the old glsl compiler.Eric Anholt2010-08-2052-28903/+0
|
* mesa: Add missing ES sources to SConscript.Chia-I Wu2010-08-201-0/+3
| | | | | | These sources compile to nothing when FEATURE_ES is not defined and thus were overlooked. Note that api_exec_es[12].c are still missing on the list. They should be added when they can be generated on the fly.
* mesa: Decorate functions with GL_APIENTRY in es_generator.py.Chia-I Wu2010-08-201-2/+2
| | | | Note that GLES headers use GL_APIENTRY, not GLAPIENTRY.
* mesa: Include compiler.h for ASSERT.Chia-I Wu2010-08-207-0/+14
| | | | | mfeatures.h defines ASSERT_NO_FEATURE to ASSERT, which is defined in compiler.h. Header files using the macro should include compiler.h.
* st/mesa: fix code/declaration mixingKeith Whitwell2010-08-201-3/+2
|
* mesa/st: use PIPE_TEXTURE_RECT for GL_TEXTURE_RECTANGLELuca Barbieri2010-08-202-3/+5
|
* mesa/st: support using PIPE_TEXTURE_RECT internallyLuca Barbieri2010-08-205-43/+32
| | | | | | | | | | Currently Gallium internals always use PIPE_TEXTURE_2D and normalized coordinates to access textures. However, PIPE_TEXTURE_2D is not always supported for NPOT textures, and PIPE_TEXTURE_RECT requires unnormalized coordinates. Hence, this change adds support for both kinds of normalization.
* gallium: make all checks for PIPE_TEXTURE_2D check for PIPE_TEXTURE_RECT tooLuca Barbieri2010-08-201-1/+1
| | | | | | | Searched for them with: git grep -E '[!=]=.*PIPE_TEXTURE_2D|PIPE_TEXTURE_2D.*[!=]=|case.*PIPE_TEXTURE_2D' Behavior hasn't been changed.
* i965: Fix compile warnings on 64-bit Linux.Kenneth Graunke2010-08-201-4/+4
| | | | format ‘%d’ expects type ‘int’, but argument 2 has type ‘long int’
* mesa: Silence uninitialized variable warnings in dummy_enum_func.Vinson Lee2010-08-191-10/+10
|
* i915: Remove unnecessary header from i830_context.c.Vinson Lee2010-08-191-1/+0
|
* i965: Set the if stack pop count when breaking out of a loop inside an if.Eric Anholt2010-08-181-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 Anholt2010-08-182-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 Anholt2010-08-181-0/+5
|
* mesa: Remove unnecessary heaaders from shaderapi.c.Vinson Lee2010-08-181-2/+0
|
* mesa: Don't try to free components of a NULL uniform list.Eric Anholt2010-08-181-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 Anholt2010-08-181-1/+1
|
* glsl2: Free the shader compiler at dri screen destruction.Eric Anholt2010-08-181-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 Anholt2010-08-181-0/+1
|
* dri2: Clean up the common dri2 options at screen destroy.Eric Anholt2010-08-182-3/+8
|
* mesa: fpclassify is available on OpenSolaris.Vinson Lee2010-08-181-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 Anholt2010-08-181-4/+2
|
* ir_to_mesa: Stop leaking the ir_instruction * annotation of our compile.Eric Anholt2010-08-181-2/+1
|
* mesa: Free linked shaders when deleting the shader program.Eric Anholt2010-08-181-0/+6
|
* mesa: Free old linked shaders when relinking new shaders.Eric Anholt2010-08-181-1/+1
|
* ir_to_mesa: Free the ir_to_mesa temporary storage when we're done.Eric Anholt2010-08-181-2/+2
|
* mesa: Hang the compiled shader off the shader->ir, not the shader.Eric Anholt2010-08-181-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 Anholt2010-08-181-5/+20
|
* r600: implement SSG instructionAndre Maasikas2010-08-182-0/+67
|
* r600: implement DP2 opcodeAndre Maasikas2010-08-181-2/+10
|
* ir_to_mesa: Allow ir_return in main().Eric Anholt2010-08-171-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 Anholt2010-08-171-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 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)
* r600c: Handle reads from PROGRAM_OUTPUTHenri Verbeet2010-08-172-7/+20
| | | | with glsl2, reads from outputs are legal
* 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.
* i965: Add support for DP2 in the VS.Eric Anholt2010-08-171-0/+4
| | | | Fixes glsl-vs-dot-vec2.
* 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.