Brian [Wed, 21 Feb 2007 22:22:17 +0000 (15:22 -0700)]
remove dead code
Brian [Wed, 21 Feb 2007 22:21:58 +0000 (15:21 -0700)]
Reimplement the _slang_alloc_statevar() function.
After several tries at making a table-based system for examining pre-defined
uniforms to find statevar indexes, give up and do it the simple way (lots of
strcmp() calls). Not terribly elegant, but perfectly functional.
Brian [Wed, 21 Feb 2007 18:08:21 +0000 (11:08 -0700)]
adjustments to STATE_ token layout/format so token[1] is always the array index
Brian [Wed, 21 Feb 2007 16:15:39 +0000 (09:15 -0700)]
checkpoint overhaul of pre-defined uniform code
Brian [Wed, 21 Feb 2007 00:00:16 +0000 (17:00 -0700)]
clean-up, move IR_ELEMENT code
Brian [Tue, 20 Feb 2007 23:56:49 +0000 (16:56 -0700)]
alloc IR_FIELD's Storage in codegen, like IR_ELEMENT
Brian [Tue, 20 Feb 2007 22:22:38 +0000 (15:22 -0700)]
work on struct/array handling
Brian [Tue, 20 Feb 2007 22:20:46 +0000 (15:20 -0700)]
forgot to return length in parse_array_len()
Brian [Tue, 20 Feb 2007 21:03:43 +0000 (14:03 -0700)]
implement support for pre-defined uniform structs (state vars)
Brian [Tue, 20 Feb 2007 21:03:10 +0000 (14:03 -0700)]
added slang_builtin.c
Brian [Tue, 20 Feb 2007 17:40:08 +0000 (10:40 -0700)]
added SWIZZLE_XXXX, SWIZZLE_YYYY, etc
Brian [Tue, 20 Feb 2007 15:05:29 +0000 (08:05 -0700)]
remove accidental check-in
Brian [Tue, 20 Feb 2007 15:04:40 +0000 (08:04 -0700)]
Merge branch 'glsl-compiler-1' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa into glsl-compiler-1
Brian [Sat, 17 Feb 2007 16:41:59 +0000 (09:41 -0700)]
s/PROG_PRINT_ARB/PROG_PRINT_DEBUG/
Brian [Sat, 17 Feb 2007 16:41:19 +0000 (09:41 -0700)]
info about stand-alone compiler
Brian [Sat, 17 Feb 2007 16:15:39 +0000 (09:15 -0700)]
stand-alone GLSL compiler
Brian [Sat, 17 Feb 2007 16:15:00 +0000 (09:15 -0700)]
Lots of changes to prog_print.c code.
Mainly, allow printing programs in either ARB, NV or "debug" formats.
Brian [Fri, 16 Feb 2007 16:59:27 +0000 (09:59 -0700)]
remove dead code
Brian [Fri, 16 Feb 2007 16:56:19 +0000 (09:56 -0700)]
s/_slang_link2/_slang_link/
Brian [Fri, 16 Feb 2007 16:31:35 +0000 (09:31 -0700)]
change all enum tokens to uppercase
Brian [Fri, 16 Feb 2007 16:06:09 +0000 (09:06 -0700)]
abort upon errors (temporary)
Brian [Fri, 16 Feb 2007 16:05:11 +0000 (09:05 -0700)]
added a comment
Brian [Fri, 16 Feb 2007 16:04:53 +0000 (09:04 -0700)]
Allow int->float argument conversion in _slang_locate_function().
Brian [Fri, 16 Feb 2007 15:58:42 +0000 (08:58 -0700)]
implement IR_I_TO_F
Brian [Tue, 13 Feb 2007 16:23:00 +0000 (09:23 -0700)]
remove dead code
Brian [Fri, 9 Feb 2007 22:40:15 +0000 (15:40 -0700)]
add prog_debug.c
Brian [Fri, 9 Feb 2007 22:40:00 +0000 (15:40 -0700)]
move GL_MESA_program_debug funcs to prog_debug.c
Brian [Fri, 9 Feb 2007 22:39:32 +0000 (15:39 -0700)]
Move experimental GL_MESA_program_debug functions into new file.
Brian [Fri, 9 Feb 2007 21:19:12 +0000 (14:19 -0700)]
comments, etc
Brian [Fri, 9 Feb 2007 21:18:41 +0000 (14:18 -0700)]
re-enable free'ing of IR trees
Brian [Fri, 9 Feb 2007 19:04:52 +0000 (12:04 -0700)]
always init param vars to silence valgrind warnings
Brian [Fri, 9 Feb 2007 03:39:42 +0000 (20:39 -0700)]
do full swizzled matching in _mesa_lookup_parameter_constant()
Brian [Fri, 9 Feb 2007 00:40:29 +0000 (17:40 -0700)]
Check for constant-valued while/do loop conditions.
Allows us to:
1. avoid generating constant-valued BRK test for while(1)..
2. discard entire loop for while(0).
3. detection infinite loops at compile-time.
Brian [Fri, 9 Feb 2007 00:11:18 +0000 (17:11 -0700)]
optimize conditional breaks/continues
Brian [Thu, 8 Feb 2007 22:09:47 +0000 (15:09 -0700)]
cont at top of loop, little clean-ups
Brian [Thu, 8 Feb 2007 22:08:16 +0000 (15:08 -0700)]
remove some cruft
Brian [Thu, 8 Feb 2007 21:10:54 +0000 (14:10 -0700)]
fix broken BRA for return stmts
Brian [Thu, 8 Feb 2007 21:10:19 +0000 (14:10 -0700)]
consolidate BRA with BRK, CONT
Brian [Thu, 8 Feb 2007 21:09:34 +0000 (14:09 -0700)]
change BranchTarget to GLint
Brian [Thu, 8 Feb 2007 20:23:17 +0000 (13:23 -0700)]
Use conditional break in for/do/while loops.
Brian [Thu, 8 Feb 2007 20:22:31 +0000 (13:22 -0700)]
Simplify code with eval_condition(). Implement conditional BRK.
Brian [Wed, 7 Feb 2007 23:19:19 +0000 (16:19 -0700)]
remove old loop break/cont stuff
Brian [Wed, 7 Feb 2007 23:11:00 +0000 (16:11 -0700)]
high vs. low level if/then/else code emit
Brian [Wed, 7 Feb 2007 23:09:13 +0000 (16:09 -0700)]
s/%f/%g/
Brian [Wed, 7 Feb 2007 22:14:20 +0000 (15:14 -0700)]
Remove old functions for generating BRA-based looping.
Brian [Wed, 7 Feb 2007 22:12:13 +0000 (15:12 -0700)]
Use IR_LOOP to represent do-while and for-loops.
Also, start moving high vs. low-level instruction selection into slang_emit.c
Brian [Wed, 7 Feb 2007 05:34:09 +0000 (22:34 -0700)]
BRK and CONT work the same
Brian [Wed, 7 Feb 2007 05:31:19 +0000 (22:31 -0700)]
Implement CONT, improve BRK.
IR_LOOP's BranchNode ptr is the head of a linked list of CONT and BRK nodes.
After emitting loop, walk over the linked list, filling in the CONT/BRK
instruction's BranchTarget field (location of the ENDLOOP instruction, or
one past).
Brian [Wed, 7 Feb 2007 04:33:29 +0000 (21:33 -0700)]
replace IR_BEGIN_LOOP/IR_END_LOOP with IR_LOOP
Brian [Wed, 7 Feb 2007 03:53:09 +0000 (20:53 -0700)]
new_node[0123]() functions
Brian [Wed, 7 Feb 2007 03:45:43 +0000 (20:45 -0700)]
redo IR_IF node, removing IR_ELSE, IR_ENDIF
Brian [Tue, 6 Feb 2007 01:04:35 +0000 (18:04 -0700)]
additional comments for BranchTarget
Brian [Tue, 6 Feb 2007 01:01:02 +0000 (18:01 -0700)]
BRK instruction's BranchTarget field now used for efficiently breaking out of loops.
BRK's BranchTarget field actually points to the top of the loop, not the
bottom, since we don't know the later's location yet. In the interpreter,
basically do an indirect jump to update the PC.
Brian [Tue, 6 Feb 2007 00:18:10 +0000 (17:18 -0700)]
Use IR node's BranchNode field for IF/ELSE/ENDIF instructions.
This allows us to back-patch the IF/ELSE instruction's BranchTarget field
to point to the location of the ELSE/ENDIF instructions. No longer have to
search for ELSE/ENDIF in the interpreter. Also makes it trivial to translate
IF/ELSE instructions into conditional/unconditional BRA instructions.
Brian [Mon, 5 Feb 2007 22:17:06 +0000 (15:17 -0700)]
minor formatting changes
Brian [Mon, 5 Feb 2007 22:00:48 +0000 (15:00 -0700)]
set UseHighLevelInstructions = false for now
Brian [Mon, 5 Feb 2007 22:00:07 +0000 (15:00 -0700)]
Initial implementation of high-level flow-control instructions.
IF/ELSE/ENDIF and BEGIN_LOOP/END_LOOP/BREAK instructions seem to work.
Disabled by default though until better tested.
Implemented IR_NOT, but needs optimization.
Brian [Mon, 5 Feb 2007 21:58:15 +0000 (14:58 -0700)]
indentation for program instructions (if/else, loops)
Brian [Mon, 5 Feb 2007 18:28:15 +0000 (11:28 -0700)]
Initial support of loop and subroutine instructions.
New high-level flow-control instructions, both at IR level and GPU instructions
for looping and subroutines.
Brian [Mon, 5 Feb 2007 17:10:01 +0000 (10:10 -0700)]
Merge SWvertex texcoord and varying fields into attrib[] array field.
Fragment texcoords and varying code is now unified in the point/line/triangle
rasterization code. In the future, merge color, fog, etc. attribs.
Brian [Sun, 4 Feb 2007 00:24:24 +0000 (17:24 -0700)]
Add literal_size field to slang_operation.
Used to track the number of components in a float/int/bool literal.
Helps with some typechecking things.
Fixes problems with calls such as "distance(v2, vec2(1.0, 2.0))"
Brian [Sun, 4 Feb 2007 00:21:33 +0000 (17:21 -0700)]
minor tweaks to distance() funcs
Brian [Sat, 3 Feb 2007 23:25:44 +0000 (16:25 -0700)]
remove unused slang_operation fields
Brian [Sat, 3 Feb 2007 18:36:16 +0000 (11:36 -0700)]
shading language texture demo/test
Brian [Sat, 3 Feb 2007 18:35:02 +0000 (11:35 -0700)]
added FLUSH_VERTICES() in _mesa_use_program()
Brian [Sat, 3 Feb 2007 18:33:13 +0000 (11:33 -0700)]
added texdemo1
Brian [Sat, 3 Feb 2007 17:31:16 +0000 (10:31 -0700)]
Add _NEW_PROGRAM flag to _MESA_NEW_NEED_EYE_COORDS.
This fixes a segfault in the texgen code that can occur after we've
disabled a vertex program.
Brian [Sat, 3 Feb 2007 01:05:43 +0000 (18:05 -0700)]
Only glUniform1i() can be used to set sampler uniforms. Generate error otherwise.
Brian [Sat, 3 Feb 2007 01:00:26 +0000 (18:00 -0700)]
add vec4_texcube to AsmInfo[]
Brian [Sat, 3 Feb 2007 01:00:03 +0000 (18:00 -0700)]
add _slang_multiply_swizzles()
Brian [Fri, 2 Feb 2007 23:46:50 +0000 (16:46 -0700)]
clean-ups
Brian [Fri, 2 Feb 2007 23:45:07 +0000 (16:45 -0700)]
clean-ups
Brian [Fri, 2 Feb 2007 23:41:52 +0000 (16:41 -0700)]
clean-ups
Brian [Fri, 2 Feb 2007 23:38:04 +0000 (16:38 -0700)]
remove slang_builtin_vec4.gc
Brian [Fri, 2 Feb 2007 23:38:00 +0000 (16:38 -0700)]
remove slang_builtin_vec4.gc
Brian [Fri, 2 Feb 2007 23:14:55 +0000 (16:14 -0700)]
remove slang_export.[ch]
Brian [Fri, 2 Feb 2007 23:12:20 +0000 (16:12 -0700)]
reformat, clean-up comments
Brian [Fri, 2 Feb 2007 23:10:02 +0000 (16:10 -0700)]
move _slang_locate_function()
Brian [Fri, 2 Feb 2007 23:08:45 +0000 (16:08 -0700)]
remove multibyte chars
Brian [Fri, 2 Feb 2007 22:33:16 +0000 (15:33 -0700)]
remove unused field
Brian [Fri, 2 Feb 2007 22:32:32 +0000 (15:32 -0700)]
remove slang_asm_string()
Brian [Fri, 2 Feb 2007 22:31:21 +0000 (15:31 -0700)]
s/SLANG_ASSEMBLE_TYPEINFO_H/SLANG_TYPEINFO_H/
Brian [Fri, 2 Feb 2007 22:30:50 +0000 (15:30 -0700)]
s/slang_assembly_typeinfo/slang_typeinfo/
Brian [Fri, 2 Feb 2007 22:29:48 +0000 (15:29 -0700)]
s/slang_assembly_name_space/slang_name_space/
Brian [Fri, 2 Feb 2007 22:23:38 +0000 (15:23 -0700)]
remove slang_library_texsample.[ch]
Brian [Fri, 2 Feb 2007 22:23:33 +0000 (15:23 -0700)]
remove slang_library_texsample.[ch]
Brian [Fri, 2 Feb 2007 22:22:05 +0000 (15:22 -0700)]
rename slang_link2.c slang_link.c
Brian [Fri, 2 Feb 2007 22:22:02 +0000 (15:22 -0700)]
rename slang_link2.c slang_link.c
Brian [Fri, 2 Feb 2007 22:19:58 +0000 (15:19 -0700)]
rename slang_assemble_typeinfo.[ch] to slang_typeinfo.[ch]
Brian [Fri, 2 Feb 2007 22:19:48 +0000 (15:19 -0700)]
rename slang_assemble_typeinfo.[ch] to slang_typeinfo.[ch]
Brian [Fri, 2 Feb 2007 22:17:46 +0000 (15:17 -0700)]
remove more slang assembly-related code
Brian [Fri, 2 Feb 2007 22:16:51 +0000 (15:16 -0700)]
remove more slang assembly-related files, codee
Brian [Fri, 2 Feb 2007 22:10:34 +0000 (15:10 -0700)]
removed obsolete shader assembly files
Brian [Fri, 2 Feb 2007 22:05:46 +0000 (15:05 -0700)]
remove more assembly-related code
Brian [Fri, 2 Feb 2007 21:51:34 +0000 (14:51 -0700)]
remove slang_assemble*.c files
Brian [Fri, 2 Feb 2007 21:51:09 +0000 (14:51 -0700)]
move some functions, disable some code in preparation for removing assembly code
Brian [Fri, 2 Feb 2007 21:47:03 +0000 (14:47 -0700)]
fix emit_tex() breakage
Brian [Fri, 2 Feb 2007 21:24:24 +0000 (14:24 -0700)]
remove slang_export.c and related code
Brian [Fri, 2 Feb 2007 21:05:55 +0000 (14:05 -0700)]
Remove old slang linker code.
Brian [Fri, 2 Feb 2007 21:05:25 +0000 (14:05 -0700)]
remove slang_link.c and slang_analyse.c