Commit Graph

9315 Commits

Author SHA1 Message Date
Brian d434019633 additional comments for BranchTarget 2007-02-05 18:04:35 -07:00
Brian 2755c798f3 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.
2007-02-05 18:01:02 -07:00
Brian 8608079647 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.
2007-02-05 17:18:10 -07:00
Brian d9731b26e7 minor formatting changes 2007-02-05 15:17:06 -07:00
Brian 5e73284cee set UseHighLevelInstructions = false for now 2007-02-05 15:00:48 -07:00
Brian cf92c72797 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.
2007-02-05 15:00:07 -07:00
Brian 5db088d70f indentation for program instructions (if/else, loops) 2007-02-05 14:58:15 -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 dd34fe8679 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.
2007-02-05 10:10:01 -07:00
Brian 93b975a1d9 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))"
2007-02-03 17:24:24 -07:00
Brian 5ee684cba9 minor tweaks to distance() funcs 2007-02-03 17:21:33 -07:00
Brian 82f53f45d9 remove unused slang_operation fields 2007-02-03 16:25:44 -07:00
Brian edf24e699e shading language texture demo/test 2007-02-03 11:36:16 -07:00
Brian 00d63aafc6 added FLUSH_VERTICES() in _mesa_use_program() 2007-02-03 11:35:02 -07:00
Brian 8e0c6fc0be added texdemo1 2007-02-03 11:33:13 -07:00
Brian 68fc4ff1d7 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.
2007-02-03 10:31:16 -07:00
Brian fee9bbe475 Only glUniform1i() can be used to set sampler uniforms. Generate error otherwise. 2007-02-02 18:05:43 -07:00
Brian a90e4c3ddf add vec4_texcube to AsmInfo[] 2007-02-02 18:00:26 -07:00
Brian 1b3092e4bb add _slang_multiply_swizzles() 2007-02-02 18:00:03 -07:00
Brian bf823b6b77 clean-ups 2007-02-02 16:46:50 -07:00
Brian 670e900719 clean-ups 2007-02-02 16:45:07 -07:00
Brian 31d2a00192 clean-ups 2007-02-02 16:41:52 -07:00
Brian b4f38a4d60 remove slang_builtin_vec4.gc 2007-02-02 16:38:04 -07:00
Brian 4bbef7a644 remove slang_builtin_vec4.gc 2007-02-02 16:38:00 -07:00
Brian d9dbb3e154 remove slang_export.[ch] 2007-02-02 16:14:55 -07:00
Brian e1b47b68ec reformat, clean-up comments 2007-02-02 16:12:20 -07:00
Brian 1f9def3163 move _slang_locate_function() 2007-02-02 16:10:02 -07:00
Brian 9cfee527f6 remove multibyte chars 2007-02-02 16:08:45 -07:00
Brian 3f71282850 remove unused field 2007-02-02 15:33:16 -07:00
Brian 72c3672857 remove slang_asm_string() 2007-02-02 15:32:32 -07:00
Brian 0d1cd6d41c s/SLANG_ASSEMBLE_TYPEINFO_H/SLANG_TYPEINFO_H/ 2007-02-02 15:31:21 -07:00
Brian 1bc71e32ea s/slang_assembly_typeinfo/slang_typeinfo/ 2007-02-02 15:30:50 -07:00
Brian fe45343df9 s/slang_assembly_name_space/slang_name_space/ 2007-02-02 15:29:48 -07:00
Brian 884fdfeb22 remove slang_library_texsample.[ch] 2007-02-02 15:23:38 -07:00
Brian 4a2ef4fd88 remove slang_library_texsample.[ch] 2007-02-02 15:23:33 -07:00
Brian 6c52dd3852 rename slang_link2.c slang_link.c 2007-02-02 15:22:05 -07:00
Brian 5c1763e7b5 rename slang_link2.c slang_link.c 2007-02-02 15:22:02 -07:00
Brian f65091c947 rename slang_assemble_typeinfo.[ch] to slang_typeinfo.[ch] 2007-02-02 15:19:58 -07:00
Brian 7ace638da2 rename slang_assemble_typeinfo.[ch] to slang_typeinfo.[ch] 2007-02-02 15:19:48 -07:00
Brian 4f22bdf3e5 remove more slang assembly-related code 2007-02-02 15:17:46 -07:00
Brian 640afdf4f2 remove more slang assembly-related files, codee 2007-02-02 15:16:51 -07:00
Brian 452217e29a removed obsolete shader assembly files 2007-02-02 15:10:34 -07:00
Brian 11e92390f6 remove more assembly-related code 2007-02-02 15:05:46 -07:00
Brian b94c14114f remove slang_assemble*.c files 2007-02-02 14:51:34 -07:00
Brian 8d39610037 move some functions, disable some code in preparation for removing assembly code 2007-02-02 14:51:09 -07:00
Brian fa1fe5f6f3 fix emit_tex() breakage 2007-02-02 14:47:03 -07:00
Brian 1b24e2d5a7 remove slang_export.c and related code 2007-02-02 14:24:24 -07:00
Brian 5072fd3a64 Remove old slang linker code. 2007-02-02 14:05:55 -07:00
Brian 8b60787e85 remove slang_link.c and slang_analyse.c 2007-02-02 14:05:25 -07:00
Brian d79fd74871 remove old linker stuff 2007-02-02 14:04:58 -07:00