summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader/slang
Commit message (Collapse)AuthorAgeFilesLines
* generate a link error if the vertex shader references too many texturesBrian Paul2008-07-021-0/+6
|
* mesa: fix a GLSL vector subscript/writemask bugBrian Paul2008-07-011-47/+90
| | | | | | | | | This fixes a failure for cases like: vec4 v; v[1] *= 2.0; The v[1] actually acts like a writemask, equivalent to v.y The fix is a bit convoluted, but will do for now.
* mesa: move some functionsBrian Paul2008-07-011-99/+99
|
* mesa: make _slang_swizzle_swizzle() non-privateBrian Paul2008-07-012-9/+16
|
* mesa: better function inlining in the presence of 'return' statementsBrian Paul2008-07-011-23/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | Before, the presence of a 'return' statement always prevented inlining a function. This was because we didn't want to accidentally return from the _calling_ function. We still need the semantic of 'return' when inlining but we can't always use unconditional branches/jumps (GPUs don't always support arbitrary branching). Now, we allow inlining functions w/ return if the return is the last statement in the function. This fixes the common case of a function that returns a value, such as: vec4 square(const in vec4 x) { return x * x; } which effectively compiles into: vec4 square(const in vec4 x) { __retVal = x * x; return; } The 'return' can be no-op'd now and we can inline the function.
* mesa: add/fix some IrInfo entries for debugging purposesBrian Paul2008-07-011-3/+5
|
* glsl: make sure we replace all output reads with temporariesZack Rusin2008-06-121-1/+2
| | | | test in if.glsl
* glsl: fix array size initialiazers using const variablesZack Rusin2008-06-121-2/+26
| | | | | | e.g. const int kernelSize = 9; uniform vec2 kernel[kernelSize];
* glsl: implement variable array indexesZack Rusin2008-06-122-5/+12
|
* Set the attribute as used.Brian Paul2008-06-041-0/+3
| | | | cherry-picked from gallium-0.1
* fix incorrect sampler numbering/indexing.Brian Paul2008-05-203-6/+1
| | | | All samplers indexes were zero.
* Fix a program refcounting error, don't share program parameter lists.Brian Paul2008-05-161-22/+10
| | | | | | The refcounting bug was causing a memleak (unfreed programs). The old parameter list sharing is not needed since the change in how uniforms are handled.
* fix assertion typo: s/=/==/Brian Paul2008-05-161-1/+1
|
* Updated GLSL uniform/sampler handling from gallium-0.1 branchBrian Paul2008-05-146-184/+91
| | | | | | | | | | Previously, the shader linker combined the uniforms used by the vertex and fragment shaders into a combined set of uniforms. This made the implementation of glUniform*() simple, but was rather inefficient otherwise. Now each shader gets its own set of uniforms (no more modelview matrix showing up in the fragment shader uniforms, for example). cherry-picked by hand from gallium-0.1 branch
* fix some additional program refcounting bugsBrian Paul2008-05-141-2/+2
|
* Never fail `make clean'Dan Nicholson2008-05-071-1/+1
| | | | | | Mostly some pedantic changes such that `make clean' always ignores errors. Also changed the top clean target to do the `touch configs/current' dance instead of realclean.
* implement full reference counting for vertex/fragment programsBrian2008-05-061-6/+8
| | | | | Use _mesa_reference_vert/fragprog() wherever we assign program pointers. Fixes a memory corruption bug found with glean/api2 test.
* glcore: drop outdated sources files intented for xorgGeorge Sapountzis2008-04-231-44/+0
|
* fix GL_ARB_texture_rectangle breakageBrian Paul2008-04-141-3/+3
|
* define #extension GL_ARB_texture_rectangleDavid Flynn2008-04-141-0/+4
|
* rewrite some of the mat*mat, mat*vec intrinsicsBrian2008-04-033-567/+336
| | | | Also, remove obsolete matrix codegen code.
* init tmpNode to zerosBrian2008-03-141-0/+1
|
* mesa: fix emit_clamp() so that we don't use an output register as temporaryBrian2008-03-141-3/+12
| | | | | | IR_CLAMP is decomposed into OPCODE_MIN+OPCODE_MAX. Allocate a temporary register for the intermediate value so we don't inadvertantly use an output register (which are write-only on some GPUs).
* regenerate glsl library functionsRoland Scheidegger2008-01-311-41/+42
|
* fix w component of glsl vec4 asinRoland Scheidegger2008-01-311-0/+1
|
* Fix gl_FrontFacing compilation problemBrian2007-12-041-1/+2
|
* Merge branch 'master' of git+ssh://[email protected]/git/mesa/mesajoukj2007-11-302-7/+23
|\
| * set fp->UsesKill when emitting OPCODE_KILBrian2007-11-271-2/+8
| |
| * Fix parsing of gl_FrontLightModelProduct.sceneColor, don't segfault on ↵Brian2007-11-232-5/+15
| | | | | | | | variable array indexes.
* | Merge branch 'master' of git+ssh://[email protected]/git/mesa/mesaJouk2007-10-315-2/+127
|\|
| * Merge branch '965-glsl'Zou Nan hai2007-10-261-0/+1
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/drivers/dri/i965/brw_sf.h src/mesa/drivers/dri/i965/intel_context.c
| | * Merge branch 'master' of git+ssh://[email protected]/git/mesa/mesa ↵Zou Nan hai2007-07-1711-49/+50
| | |\ | | | | | | | | | | | | into 965-glsl
| | * \ Merge branch 'master' of git+ssh://[email protected]/git/mesa/mesa ↵Zou Nan hai2007-07-0426-1471/+2261
| | |\ \ | | | | | | | | | | | | | | | into 965-glsl
| | * | | Initial 965 GLSL supportZou Nan hai2007-04-121-0/+1
| | | | |
| * | | | add to gitBrian2007-10-242-0/+109
| | | | |
| * | | | Implement gl_PointCoord attribute for GLSL fragment shaders.Brian2007-10-242-1/+16
| | | | | | | | | | | | | | | | | | | | Contains the normalized fragment position within a point sprite.
| * | | | fix comment: s/branch/kill/Brian2007-10-021-1/+1
| | | | |
* | | | | Update of OpenVMS makefiles for the use of "new" include file conventionJouk2007-10-031-1/+4
| | | | |
* | | | | Merge branch 'master' of git+ssh://[email protected]/git/mesa/mesaJouk2007-10-026-33/+53
|\| | | |
| * | | | fix failure caused by undeclared variable (bug 11783)Brian2007-07-311-1/+2
| | | | |
| * | | | glGetAttribLocation always returned 1 (bug 11774)Brian2007-07-311-1/+3
| | | | |
| * | | | fix-up inlined/non-inlined function inconsistenciesBrian2007-07-262-9/+12
| | | | |
| * | | | Fix function call bug 11731. Also, fix up IR_CALL/IR_FUNC confusion.Brian2007-07-264-18/+29
| | | | |
| * | | | generate error upon writing to varying var in fragment program (bug 11733)Brian2007-07-261-5/+8
| | | | |
* | | | | Merge branch 'master' of git+ssh://[email protected]/git/mesa/mesaJouk2007-07-2513-104/+119
|\| | | |
| * | | | call ctx->Driver.NewProgram() instead of _mesa_new_program()Brian2007-07-241-1/+1
| | |_|/ | |/| |
| * | | fix swizzle-related bug 11534Brian2007-07-121-2/+3
| | | |
| * | | Be more consistant with paths in #includes. Eventually, eliminate a bunch ↵Brian2007-07-0411-47/+47
| | |/ | |/| | | | | | | of -I flags.
| * | added vec2(vec4) constructor, bug 11404Brian2007-07-032-54/+60
| | |
| * | add code for stpq, rgba writemasks in make_writemask(), bug 11404Brian2007-07-031-0/+8
| | |