summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'mesa_7_7_branch'Brian Paul2009-12-318-295/+390
|\ | | | | | | | | | | | | | | Conflicts: configs/darwin src/gallium/auxiliary/util/u_clear.h src/gallium/state_trackers/xorg/xorg_exa_tgsi.c src/mesa/drivers/dri/i965/brw_draw_upload.c
| * glsl: added uniform initializer checkBrian Paul2009-12-293-0/+12
| | | | | | | | | | | | | | | | | | GLSL 1.10 disallows initializers for uniforms but GLSL 1.20 and later allows them. This patch uses the #version directive to allow/disallow uniform initializers. This addresses bug 25807, but piglit also needs to be fixed to specify the GLSL version in the shader.
| * ARB prog parser: use _mesa_add_unnamed_constant() to use fewer constant slotsBrian Paul2009-12-294-295/+377
| | | | | | | | | | | | | | | | | | This function will search the constant parameters in an effort to re-use constant slots. For example, {1,2,3,4} and {4,1,1,2} can be stored in one constant slot and accessed with different swizzles. The swizzle info must be propogated though the parsing code in a few places. Fixes Piglit "vpfp-generic tests/shaders/generic/big-param.vpfp" failure.
| * Merge branch 'mesa_7_6_branch' into mesa_7_7_branchBrian Paul2009-12-271-0/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/util/u_network.c src/gallium/auxiliary/util/u_network.h src/gallium/drivers/i915/i915_state.c src/gallium/drivers/trace/tr_rbug.c src/gallium/state_trackers/vega/bezier.c src/gallium/state_trackers/vega/vg_context.c src/gallium/state_trackers/xorg/xorg_crtc.c src/gallium/state_trackers/xorg/xorg_driver.c src/gallium/winsys/xlib/xlib_brw_context.c src/mesa/main/mtypes.h
| | * glsl: Initialize member a_obj of struct slang_operation.Vinson Lee2009-12-231-0/+1
| | |
| | * mesa: Include <unistd.h> only when one is available.Michal Krol2009-12-212-0/+8
| | | | | | | | | | | | (cherry picked from commit 970823978c2f7d2cf0757aa6ddbd6289b34c476f)
* | | mesa: remove gratuitous stores I added in remove_instructions.Eric Anholt2009-12-281-1/+0
| | |
* | | Merge branch 'mesa_7_7_branch'Brian Paul2009-12-271-3/+5
|\| |
| * | mesa: fix binary() function, printf format stringBrian Paul2009-12-221-3/+5
| | | | | | | | | | | | | | | Need to use the constant 1ULL and 0xllx format string. This fixes incorrect results and a NULL pointer/parameter bug.
* | | mesa: Fix a NULL deref in glDeleteFragmentShaderATI(badname);Eric Anholt2009-12-221-3/+5
| | | | | | | | | | | | Fixes piglit ati-fs-bad-delete. Caught by clang.
* | | mesa: adjust OPCODE_IF/ELSE BranchTarget fields to point to ELSE/ENDIF instr.Brian Paul2009-12-222-7/+25
| | | | | | | | | | | | This is a little more logical. Suggested in bug report 25654.
* | | mesa: adjust BRK/CONT BranchTarget to always point to ENDLOOP instructionBrian Paul2009-12-222-6/+20
| | | | | | | | | | | | To be more consistant.
* | | mesa: added some assertions in BNGLOOP/ENDLOOP casesBrian Paul2009-12-221-0/+4
| | |
* | | glsl: assorted clean-ups in slang_compile.cBrian Paul2009-12-211-36/+9
| | |
* | | Merge branch 'mesa_7_7_branch'Brian Paul2009-12-212-11/+14
|\| | | | | | | | | | | | | | | | | Conflicts: src/mesa/main/version.h src/mesa/state_tracker/st_atom_shader.c
| * | Merge branch 'mesa_7_6_branch' into mesa_7_7_branchBrian Paul2009-12-211-11/+13
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure.ac progs/demos/morph3d.c progs/demos/textures.c progs/glsl/shtest.c progs/glsl/texaaline.c progs/tests/packedpixels.c progs/xdemos/corender.c src/mesa/main/version.h
| | * glsl: clear out shader code before compilingBrian Paul2009-12-181-11/+13
| | | | | | | | | | | | | | | | | | | | | When we start compiling a shader, first free the existing gl_program. This (mostly) fixes the piglit glsl-reload-source test. Without this change, we were actually appending the new GPU code onto the previous program.
| | * mesa: remove //-style commentsBrian Paul2009-12-161-1/+1
| | |
| * | Merge branch 'mesa_7_6_branch' into mesa_7_7_branchIan Romanick2009-12-151-0/+1
| |\| | | | | | | | | | | | | Conflicts: src/gallium/drivers/softpipe/sp_quad_blend.c
| | * glsl: Initialize member label of struct slang_operation to NULL.Vinson Lee2009-12-121-0/+1
| | |
* | | slang: Update after glsl cl interface changes.Michal Krol2009-12-201-77/+0
| | |
* | | slang: Add gitignore for autogenerated files.Michal Krol2009-12-201-0/+1
| | |
* | | slang: Update after glsl pp changes.Michal Krol2009-12-201-22/+11
| | |
* | | Remove grammar module -- no dependencies left.Michal Krol2009-12-1211-4319/+2
| | |
* | | slang: Delete a file that is now autogenerated.Michal Krol2009-12-121-880/+0
| | | | | | | | | | | | | | | | | | This file has been modified in master and removed in feature branch. This gave a merge conflict I couldn't resolve by removing and git adding it to index.
* | | Merge branch 'master' into glsl-pp-rework-2Michal Krol2009-12-1237-2407/+5019
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: progs/perf/drawoverhead.c progs/perf/teximage.c progs/perf/vbo.c progs/perf/vertexrate.c src/mesa/shader/slang/library/slang_common_builtin_gc.h
| * | | Merge branch 'mesa_7_7_branch'Brian Paul2009-12-116-19/+29
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/state_trackers/xorg/xorg_xv.c src/mesa/drivers/dri/intel/intel_span.c
| | * | Merge branch 'mesa_7_6_branch' into mesa_7_7_branchBrian Paul2009-12-111-9/+5
| | |\|
| | | * mesa: remove unnecessary loop in _mesa_remove_output_reads()Brian Paul2009-12-111-9/+5
| | | |
| | * | Merge branch 'mesa_7_6_branch' into mesa_7_7_branchBrian Paul2009-12-115-10/+24
| | |\|
| | | * mesa: check dst reg in _mesa_find_free_register()Brian Paul2009-12-111-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a register was only being used as a destination (as will happen when generated condition-codes) we missed its use. So we'd errantly return a register index that was really in-use, not free. Fixes bug 25579.
| | | * mesa: Initialize variable in MatchInstruction.Vinson Lee2009-12-101-1/+7
| | | |
| | | * mesa: Assign _mesa_lookup_parameter_index return value to GLint.Vinson Lee2009-12-101-1/+1
| | | |
| | | * glsl: Increase size of array in_slang_lookup_constant from 4 to 16.Vinson Lee2009-12-101-1/+1
| | | | | | | | | | | | | | | | For some cases, _mesa_GetIntegerv reads up to params[15].
| | | * glsl: Fix array out-of-bounds access by _slang_lookup_constant.Vinson Lee2009-12-101-4/+5
| | | |
| | | * glsl: Remove unused member x from struct slang_operation.Vinson Lee2009-12-091-1/+0
| | | |
| * | | mesa: fix shader prog_execute strict aliasing violationsRoland Scheidegger2009-12-071-18/+32
| | | | | | | | | | | | | | | | use unions instead of pointer casts.
| * | | slang: Fix allocation size.Michal Krol2009-11-241-2/+2
| | | | | | | | | | | | | | | | We don't need 16K+ to store a single pointer.
| * | | Merge commit 'origin/mesa_7_7_branch'Maciej Cencora2009-11-231-1/+1
| |\| |
| | * | mesa: Fix NULL deref in optimizer when NumInstructions == 0.Eric Anholt2009-11-201-1/+1
| | | | | | | | | | | | | | | | Bug #24984.
| * | | slang: Check return value from emit_instruction().Michal Krol2009-11-231-6/+67
| | | |
| * | | slang: Be more robust with memory in concat_shaders().Michal Krol2009-11-231-3/+19
| | | |
| * | | mesa: Remove gratuitous padding in prog_dst_register.Eric Anholt2009-11-191-1/+0
| |/ / | | | | | | | | | | | | | | | | | | The padding was there to indicate the amount of space left from the number of expected bytes in the struct minus allocated bits. But uint bitfields get packed so that they don't cross uint boundaries, and we ended up allocating an extra dword to hold the pad field!
| * | Merge branch 'outputswritten64'Ian Romanick2009-11-175-19/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a GLbitfield64 type and several macros to operate on 64-bit fields. The OutputsWritten field of gl_program is changed to use that type. This results in a fair amount of fallout in drivers that use programs. No changes are strictly necessary at this point as all bits used are below the 32-bit boundary. Fairly soon several bits will be added for clip distances written by a vertex shader. This will cause several bits used for varyings to be pushed above the 32-bit boundary. This will affect any drivers that support GLSL. At this point, only the i965 driver has been modified to support this eventuality. I did this as a "squash" merge. There were several places through the outputswritten64 branch where things were broken. I foresee this causing difficulties later for bisecting. The history is still available in the branch. Conflicts: src/mesa/drivers/dri/i965/brw_wm.h
| * | mesa: fix assorted compiler warningsBrian Paul2009-11-172-2/+2
| | |
| * | mesa: Improve the eliminate-move-use to work across multiple instructions.Eric Anholt2009-11-131-41/+85
| | | | | | | | | | | | | | | | | | This shaves more instructions off of the VS of my GL demo, but no performance difference this time at n=6. This also fixes a regression that was in this path, which is now piglit's glsl-vs-mov-after-deref.
| * | Merge remote branch 'origin/mesa_7_6_branch'Eric Anholt2009-11-102-7/+66
| |\|
| | * prog parse: Handle GL_VERTEX_PROGRAM_ARB in glLoadProgramNVIan Romanick2009-11-071-1/+13
| | |
| | * prog parse: Handle GL_VERTEX_PROGRAM_NV in glProgramStringARBIan Romanick2009-11-071-1/+23
| | | | | | | | | | | | | | | Handle both NV vertex programs and NV vertex state programs passed to glProgramStringARB.
| | * prog parse: Handle GL_FRAGMENT_PROGRAM_ARB in glLoadProgramNVIan Romanick2009-11-071-0/+15
| | |