summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers
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.
* 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).
* Remove remnants of the old glsl compiler.Eric Anholt2010-08-202-479/+0
|
* 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’
* 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.
* 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().
* dri2: Clean up the common dri2 options at screen destroy.Eric Anholt2010-08-182-3/+8
|
* r600: implement SSG instructionAndre Maasikas2010-08-182-0/+67
|
* r600: implement DP2 opcodeAndre Maasikas2010-08-181-2/+10
|
* 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.
* 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
* i965: Add support for DP2 in the VS.Eric Anholt2010-08-171-0/+4
| | | | Fixes glsl-vs-dot-vec2.
* r600c: fix dword miscount in blit emit codeAlex Deucher2010-08-171-1/+1
|
* 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-1616-25/+120
|\ | | | | | | | | Conflicts: src/mesa/program/prog_optimize.c
| * Merge branch 'master' into glsl2Ian Romanick2010-08-1348-743/+1034
| |\
| * | mesa: Avoid using c++ keyword in dri_util.h when compiled with c++.Eric Anholt2010-08-131-0/+4
| | |
| * | intel: Remove include of texmem.h, since we haven't used it in ages.Eric Anholt2010-08-134-4/+2
| | |
| * | osmesa: link with new libglsl.a libBrian Paul2010-08-111-2/+1
| | |
| * | i965: More s/stderr/stdout/ for program debug.Eric Anholt2010-08-093-3/+3
| | |
| * | i965: Settle on printing our program debug to stdout.Eric Anholt2010-08-043-10/+11
| | | | | | | | | | | | | | | | | | Mixing stderr (_mesa_print_program, _mesa_print_instruction, _mesa_print_alu) with stdout means that when writing both to a file, there isn't a consistent ordering between the two.
| * | Initialize a couple of HasIndex2 fields on Mesa IR src regs.Eric Anholt2010-08-021-0/+1
| | |
| * | ir_to_mesa: Respect the driver if it rejects a shader.Eric Anholt2010-07-281-4/+2
| | |
| * | Merge remote branch 'origin/master' into glsl2Eric Anholt2010-07-26102-889/+2348
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This pulls in multiple i965 driver fixes which will help ensure better testing coverage during development, and also gets past the conflicts of the src/mesa/shader -> src/mesa/program move. Conflicts: src/mesa/Makefile src/mesa/main/shaderapi.c src/mesa/main/shaderobj.h
| * | | i915: Ask the compiler to flatten out all the if statements that it can.Eric Anholt2010-07-191-0/+2
| | | |
| * | | i965: Add support for the DP2 opcode, which we use for dot(vec2, vec2).Eric Anholt2010-07-024-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The original glsl compiler would generate a.x * b.x + a.y * b.y, which we would do mul+mul+add for instead of this mul+mac. Fixes glsl-fs-dot-vec2.
| * | | i965: Add support for OPCODE_SSG.Eric Anholt2010-06-305-0/+54
| | | | | | | | | | | | | | | | | | | | The old compiler didn't use SSG, and instead emitted SGT/SGT/SUB. We can do a little better for SSG than we do for the SGT series.
| * | | glsl2: Replace the GLSL compiler with the glsl2 project.Eric Anholt2010-06-241-2/+2
| | | |
* | | | r600c: blit emit updatesAlex Deucher2010-08-161-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | - set VGT_MAX_VTX_INDX to a larger value - emit PA_SC_AA_CONFIG. The command checker in 2.6.36+ requires this reg.
* | | | dri/nouveau: test for FEATURE definesnobled2010-08-162-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'struct dd_function_table' only conditionally contains the function pointer NewFramebuffer and friends based on FEATURE_EXT_framebuffer_* defines. (See src/mesa/main/dd.h) Fixes the build when the features are disabled and the vfuncs don't exist.
* | | | dri/radeon: test for FEATURE definesnobled2010-08-161-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'struct dd_function_table' only conditionally contains the function pointer NewFramebuffer and friends based on FEATURE_EXT_framebuffer_* defines. (See src/mesa/main/dd.h) Fixes the build when the features are disabled and the vfuncs don't exist.
* | | | r300/compiler: implement DP2 opcodeMarek Olšák2010-08-163-9/+47
| | | |
* | | | r300/compiler: implement SSG opcodeMarek Olšák2010-08-163-0/+84
| | | |
* | | | r300/compiler: fix allocation of temporaries in radeonTransformTEXMarek Olšák2010-08-161-2/+6
| | | |
* | | | r600: add support for draw_elements_base_vertexAndre Maasikas2010-08-123-26/+30
| | | | | | | | | | | | | | | | | | | | use VTX_BASE_VTX_LOC for offset, last time using INDEX_OFFSET was probably a wrong register for this
* | | | r300/compiler: remove an unused variableMarek Olšák2010-08-121-1/+0
| | | |
* | | | r300/compiler: Implement the CONT opcode.Tom Stellard2010-08-114-7/+20
| | | |
* | | | r300/compiler: Handle loops in the register allocator.Tom Stellard2010-08-111-4/+34
| | | |
* | | | r300g: implement gl_FrontFacingMarek Olšák2010-08-112-0/+44
| | | |
* | | | r300/compiler: Use predicate bit for IF statements in r500 vertex shadersTom Stellard2010-08-103-3/+153
| | | |
* | | | r300/compiler: Implement hardware assisted loops for vertex shaders.Tom Stellard2010-08-108-20/+170
| | | | | | | | | | | | | | | | Single loops work, but nested loops do not.
* | | | r300/compiler: Correctly transform nested loops.Tom Stellard2010-08-101-16/+9
| | | |