Commit Graph

21 Commits

Author SHA1 Message Date
Brian Paul
ade508312c Updated GLSL uniform/sampler handling from gallium-0.1 branch
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
2008-05-14 16:09:46 -06:00
Brian Paul
bff695b926 sync up with gallium-0.1 changes
New _mesa_num_inst_dst_regs(), _mesa_is_tex_instruction() functions
2008-05-14 13:00:27 -06:00
Brian Paul
450136d368 mesa: added _mesa_free_instructions()
cherry-picked from gallium-0.1
2008-05-14 12:37:07 -06:00
Brian
3e7d43cd48 Get rid of BRK0, BRK1, CONT0, CONT1 instructions. 2007-03-28 14:23:33 -06:00
Brian
63556fa994 Add the ability to generate programs that doesn't use condition codes.
ctx->Shader.EmitCondCodes determines if we use condition codes.
If not, IF statement uses first operand's X component as the condition.
Added OPCODE_BRK0, OPCODE_BRK1, OPCODE_CONT0, OPCODE_CONT1 to handle
the common cases of conditional break/continue.
2007-03-23 14:47:46 -06:00
Brian
fe20a619cf updated comment 2007-03-22 16:07:43 -06:00
Brian
629ec2b06b added SWIZZLE_XYZW 2007-03-21 15:40:54 -06:00
Brian
23d31efc16 merge from master 2007-03-21 11:57:30 -06:00
Brian
bd894c4705 added SWIZZLE_XXXX, SWIZZLE_YYYY, etc 2007-02-20 10:40:08 -07:00
Brian
3d001b81c2 Merge branch 'glsl-compiler-1' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into glsl-compiler-1 2007-02-20 08:04:40 -07:00
Brian
c81aedeaec change BranchTarget to GLint 2007-02-08 14:09:34 -07:00
Brian
d434019633 additional comments for BranchTarget 2007-02-05 18:04:35 -07:00
Brian
01001d80e2 Initial support of loop and subroutine instructions.
New high-level flow-control instructions, both at IR level and GPU instructions
for looping and subroutines.
2007-02-05 11:28:15 -07:00
Brian
b63c100677 Overhaul handling of writemasks/swizzling. This fixes two problem cases:
vec2 v;  v.x = v.y = 1.0;  // chained assignment
vec4 v;  v.zx = vec2(a,b);  // swizzled writemask
2007-01-31 16:34:54 -07:00
Brian
7aece10039 noise functions 2007-01-28 19:01:35 -07:00
Brian
c920d201c2 updated comment 2007-01-23 17:41:25 -07:00
Brian
6d4e561e39 indicate which opcodes are used by Mesa GLSL, updated comments 2007-01-23 17:39:25 -07:00
Brian
5ae49cf3ed Initial implementation of OPCODE_IF/ELSE/ENDIF instructions. 2007-01-20 09:27:40 -07:00
Brian
0bad236cfb Added OPCODE_INT to convert 4 floats to 4 ints. 2007-01-17 15:54:14 -07:00
Brian
eef70ff79a added Sampler field to prog_instruction struct 2007-01-05 16:01:26 -07:00
Brian
00cdc0a472 Split the program.[ch] files into several new files. 2006-12-14 15:01:06 -07:00