summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader
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
|
* s/GL_INVALID_VALUE/GL_INVALID_OPERATION/ in _mesa_get_uniformfv()Brian Paul2008-06-281-4/+6
|
* mesa: added null ptr checksBrian Paul2008-06-281-2/+2
|
* silly bug: it's PROGRAM_VARYINGZack Rusin2008-06-121-1/+1
|
* glsl: make sure we replace all output reads with temporariesZack Rusin2008-06-123-7/+10
| | | | test in if.glsl
* glsl: allow uniformsZack Rusin2008-06-121-1/+2
|
* glsl: fix array size initialiazers using const variablesZack Rusin2008-06-121-2/+26
| | | | | | e.g. const int kernelSize = 9; uniform vec2 kernel[kernelSize];
* almost forgot - RelAddr is a boolean so use it hereZack Rusin2008-06-121-1/+1
|
* shaders: fix allocation of arrays of parametersZack Rusin2008-06-121-1/+23
|
* glsl: implement variable array indexesZack Rusin2008-06-124-12/+24
|
* Set the attribute as used.Brian Paul2008-06-041-0/+3
| | | | cherry-picked from gallium-0.1
* updated for latest sourcesJouk Jansen2008-05-271-3/+4
|
* copy StateFlags in _mesa_clone_parameter_list()Brian Paul2008-05-201-0/+2
|
* fix incorrect sampler numbering/indexing.Brian Paul2008-05-205-14/+15
| | | | All samplers indexes were zero.
* fix tempReg test in _mesa_combine_programs()Brian Paul2008-05-191-1/+1
|
* Move _mesa_init_glsl_driver_functions() into shader_api.cBrian Paul2008-05-182-127/+69
| | | | | | | This allows making a bunch of functions static, and removes a state tracker dependency on driverfuncs.c cherry-picked from gallium-0.1
* additional fog/color matrix changes from gallium-0.1Brian Paul2008-05-181-3/+12
|
* add state vars for color matrix, pixel transfer scale&biasBrian Paul2008-05-182-0/+5
| | | | cherry-picked from gallium-0.1 (068c7bd912283e051a55b2fd5c4568685d10f3ed)
* mesa: added internal post color matrix scale/bias varsBrian Paul2008-05-182-0/+34
| | | | cherry-picked from gallium-0.1 (302daeb2ec62c59bd28d0c53cdc0fb07dc9d0f58)
* fixes to _mesa_combine_programs(), from gallium-0.1Brian Paul2008-05-182-6/+46
|
* added div by zero check for Fog.End/Start (from gallium-0.1)Brian Paul2008-05-181-1/+2
|
* clean-ups / additions from gallium-0.1 branchBrian Paul2008-05-181-7/+35
|
* bring in fixes/changes from gallium-0.1Brian Paul2008-05-161-80/+32
|
* silence warning, new assertionBrian Paul2008-05-161-3/+6
|
* Fix a program refcounting error, don't share program parameter lists.Brian Paul2008-05-162-41/+20
| | | | | | 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.
* minor changes to aid debuggingBrian Paul2008-05-161-7/+15
|
* remove stray, left-over RefCount++Brian Paul2008-05-161-1/+0
|
* whitespace/formattingBrian Paul2008-05-161-2/+0
|
* init SamplersUsed bits in _mesa_parse_arb_fragment_programBrian Paul2008-05-161-1/+4
|
* fix assertion typo: s/=/==/Brian Paul2008-05-161-1/+1
|
* Fix DRI buildBrian Paul2008-05-161-2/+1
|
* Updated GLSL uniform/sampler handling from gallium-0.1 branchBrian Paul2008-05-1412-404/+316
| | | | | | | | | | 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
* mesa: new functions for managing list/index of uniformsBrian Paul2008-05-142-0/+248
| | | | cherry-picked from gallium-0.1
* clean-up swizzle fields in fog code, fix NegateBaseBrian Paul2008-05-141-11/+10
| | | | cherry-picked from gallium-0.1
* sync up with gallium-0.1 changesBrian Paul2008-05-142-85/+115
| | | | New _mesa_num_inst_dst_regs(), _mesa_is_tex_instruction() functions
* added _mesa_combine_parameter_lists()Brian Paul2008-05-146-2/+296
| | | | cherry-picked from gallium-0.1
* mesa: added _mesa_insert_instructions()Brian Paul2008-05-142-10/+52
| | | | | | Also, use new _mesa_free_instructions() in a few places. cherry-picked from gallium-0.1
* mesa: added _mesa_free_instructions()Brian Paul2008-05-142-0/+20
| | | | cherry-picked from gallium-0.1
* fix some additional program refcounting bugsBrian Paul2008-05-143-22/+13
|
* disable debug printfsBrian Paul2008-05-081-2/+2
|
* fix refcounting bugs in tnl/tex program cachesBrian Paul2008-05-071-3/+3
|
* 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-064-44/+102
| | | | | 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-233-80/+0
|
* revert part of the previous cleanup - it only appliesAlan Hourihane2008-04-221-1/+1
| | | | to the 7.0 branch