summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader/slang
Commit message (Collapse)AuthorAgeFilesLines
* glsl: fix typo: s/vec4_tex1d_proj/vec4_tex_1d_proj/Brian Paul2009-03-102-24/+24
| | | | This regression came from commit c0b59420eec5ffdf22a5919d38851c3620b97c09.
* mesa: gl_register_file enum typedefBrian Paul2009-03-074-14/+14
|
* glsl: call the program optimizerBrian Paul2009-03-061-0/+5
| | | | This still needs more testing bug glean and Mesa GLSL tests seem OK.
* mesa: rename, reorder FRAG_RESULT_x tokensBrian Paul2009-02-282-3/+3
| | | | | | | s/FRAG_RESULT_DEPR/FRAG_RESULT_DEPTH/ s/FRAG_RESULT_COLR/FRAG_RESULT/COLOR/ Remove FRAG_RESULT_COLH (NV half-precision) output since we never used it. Next, we might merge the COLOR and DATA outputs (COLOR0, COLOR1, etc).
* glsl: silence warningBrian Paul2009-02-241-1/+1
|
* glsl: yet another swizzled expression fixBrian Paul2009-02-231-2/+5
| | | | This fixes swizzled conditional expressions such "(b ? p : q).x"
* glsl: fix another swizzle-related bugBrian Paul2009-02-231-13/+8
| | | | | | | This fixes the case of "infinitely" nested swizzles such as EXPR.wzyx.yxwz.xxyz This doesn't appear in typical shaders but with function inlining and the compiler's internal use of swizzles it can happen. New glean glsl1 test case added for this.
* glsl: use new IR opcodes for TEX instructions with shadow comparisonBrian Paul2009-02-2011-171/+213
| | | | | | Such TEX instructions will have the TexShadow flag set. The gl_program::ShadowSamplers field is now set in the linker. We missed that before.
* glsl: rename GLSL texture assembly instructions to be more legibleBrian Paul2009-02-207-321/+327
|
* glsl: fix vec4_texp_rect IR code (need projective version)Brian Paul2009-02-201-1/+1
|
* glsl: fix link failure for variable-indexed varying output arraysBrian Paul2009-02-181-0/+25
| | | | | | | | | | | | | | | If the vertex shader writes to a varying array with a variable index, mark all the elements of that array as being written. For example, if the vertex shader does: for (i = 0; i < 4; i++) gl_TexCoord[i] = expr; Mark all texcoord outputs as being written, not just the first. Linking will fail if a fragment shader tries to read an input that's not written by the vertex shader. Before this fix, this linker test could fail.
* glsl: fix a swizzle-related regressionBrian Paul2009-02-181-1/+1
| | | | This new issue was exposed by commit 6eabfc27f19a10dfc2663e99f9560966ba1ff697
* glsl: fix mistake in a commentBrian Paul2009-02-171-1/+1
|
* glsl: fix an array indexing bugBrian Paul2009-02-171-10/+43
| | | | | This fixes a bug found with swizzled array indexes such as in "array[index.z]" where "index" is an ivec4.
* glsl: silence some uninit var warningsBrian Paul2009-02-162-2/+2
|
* mesa: merge gallium-0.2 into gallium-master-mergeBrian Paul2009-02-092-65/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge commit 'origin/gallium-0.2' into gallium-master-merge Conflicts: Makefile docs/relnotes-7.4.html docs/relnotes.html src/mesa/drivers/dri/i965/brw_wm.h src/mesa/main/imports.c src/mesa/main/mtypes.h src/mesa/main/texcompress.c src/mesa/main/texenvprogram.c src/mesa/main/version.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_save_draw.c
| * Merge commit 'origin/master' into gallium-0.2Alan Hourihane2009-01-221-0/+2
| |\ | | | | | | | | | | | | | | | | | | Conflicts: windows/VC8/mesa/osmesa/osmesa.vcproj windows/VC8/progs/demos/gears.vcproj windows/VC8/progs/progs.sln
| * \ Merge commit 'origin/master' into gallium-0.2Alan Hourihane2009-01-165-10/+24
| |\ \ | | | | | | | | | | | | | | | | Conflicts: src/mesa/shader/slang/slang_compile.c
| * | | mesa: Fix merge conflictsJakob Bornecrantz2009-01-151-15/+0
| | | |
| * | | Merge commit 'origin/master' into gallium-0.2Alan Hourihane2009-01-1413-60/+226
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: docs/install.html docs/relnotes-7.3.html src/mesa/shader/slang/slang_codegen.c src/mesa/shader/slang/slang_compile.c src/mesa/shader/slang/slang_emit.c src/mesa/shader/slang/slang_preprocess.c src/mesa/shader/slang/slang_preprocess.h
| * | | | glsl: fix regression from sampler arrays commitAlan Hourihane2009-01-141-3/+1
| | | | |
| * | | | glsl: fix a comment typoAlan Hourihane2009-01-131-1/+1
| | | | |
| * | | | glsl: support sampler arrays.Alan Hourihane2009-01-133-11/+49
| | | | |
| * | | | glsl: fix typo in the vec2 += operator functionBrian Paul2009-01-092-2/+2
| | | | |
| * | | | glsl: fix broken +=, -=, *=, /= operatorsBrian Paul2009-01-092-737/+786
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These functions need to return the final computed value. Now expressions such as a = (b += c) work properly. Also, no need to use __asm intrinsics in these functions. The resulting code is the same when using ordinary arithmetic operators and is more legible.
| * | | | glsl: pass GLcontext::Extension info down into GLSL preprocessorBrian Paul2009-01-093-35/+65
| | | | | | | | | | | | | | | | | | | | Now the #extension directives can be handled properly.
| * | | | glsl: bump up MAX_FOR_LOOP_UNROLL_COMPLEXITYBrian Paul2009-01-091-1/+1
| | | | |
| * | | | glsl: check that the fragment shader does not write both gl_FragColor and ↵Brian Paul2009-01-091-0/+11
| | | | | | | | | | | | | | | | | | | | gl_FragData[]
| * | | | glsl: disable some unused functions (but don't remove just yet)Brian Paul2009-01-091-1/+8
| | | | |
| * | | | glsl: also unroll loops with variable declarations such as "for (int i = 0; ..."Brian Paul2009-01-091-24/+58
| | | | |
| * | | | glsl: remove dead codeBrian Paul2009-01-091-13/+2
| | | | |
| * | | | glsl: loop unroll adjustmentsBrian Paul2009-01-091-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a "max complexity" heuristic to allow unrolling long loops with small bodies and short loops with large bodies. The loop unroll limits may need further tweaking...
| * | | | glsl: implement loop unrolling for simple 'for' loopsBrian Paul2009-01-091-24/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Loops such as this will be unrolled: for (i = 0; i < 4; ++i) { body; } where 'body' isn't too large. This also helps to fix the issue reported in bug #19190. The problem there is indexing vector types with a variable index. For example: vec4 v; v[2] = 1.0; // equivalent to v.z = 1.0 v[i] = 2.0; // variable index into vector!! Since the for-i loop can be unrolled, we can avoid the problems associated with variable indexing into a vector (at least in this case).
| * | | | mesa: Move var declaration to top of scope.Brian Paul2009-01-091-0/+8
| | | | | | | | | | | | | | | | | | | | (cherry picked from commit 3740a06e28f4cd09e2a3dce2da60320aa9304df1)
| * | | | mesa: Add _mesa_snprintf.José Fonseca2009-01-083-7/+7
| | | | | | | | | | | | | | | | | | | | On Windows snprintf is renamed as _snprintf.
| * | | | mesa: Move var declaration to top of scope.José Fonseca2009-01-081-1/+1
| | | | |
| * | | | Merge commit 'origin/master' into gallium-0.2Brian Paul2009-01-062-8/+22
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/drivers/dri/common/dri_util.c
| * \ \ \ \ Merge commit 'origin/master' into gallium-0.2Brian Paul2009-01-024-23/+56
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/main/ffvertex_prog.c src/mesa/main/texenvprogram.c
| * \ \ \ \ \ Merge commit 'origin/master' into gallium-0.2Brian Paul2008-12-306-95/+381
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/main/config.h
| * | | | | | | glsl: Fix handling of nested parens in macro actual arguments.Michal Krol2008-12-181-2/+15
| | | | | | | |
| * | | | | | | Merge commit 'origin/master' into gallium-0.2Brian Paul2008-12-1629-4062/+3916
| |\ \ \ \ \ \ \
| * \ \ \ \ \ \ \ Merge commit 'origin/master' into gallium-0.2Alan Hourihane2008-11-283-2/+17
| |\ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ Merge commit 'origin/master' into gallium-0.2Alan Hourihane2008-11-2515-2642/+2888
| |\ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ Merge commit 'origin/master' into gallium-0.2Brian Paul2008-11-241-16/+26
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: progs/glsl/Makefile
| * | | | | | | | | | | mesa: copy centroid/invariance/precision info in parse_init_declarator()Brian Paul2008-11-241-1/+4
| | | | | | | | | | | |
| * | | | | | | | | | | mesa: check that varying variable qualifiers agreeBrian Paul2008-11-241-3/+28
| | | | | | | | | | | |
| * | | | | | | | | | | mesa: copy precision/variant/centroid info in slang_fully_specified_type_copy()Brian Paul2008-11-241-0/+3
| | | | | | | | | | | |
| * | | | | | | | | | | mesa: set flags for varying varsBrian Paul2008-11-241-4/+13
| | | | | | | | | | | |
| * | | | | | | | | | | mesa: dump/debug varying vars listBrian Paul2008-11-241-0/+5
| | | | | | | | | | | |
| * | | | | | | | | | | mesa: add Flags field to gl_program_parameterBrian Paul2008-11-242-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only one flag defined so far: PROG_PARAM_CENTROID_BIT