mesa.git
17 years agoUse IR node's BranchNode field for IF/ELSE/ENDIF instructions.
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.

17 years agominor formatting changes
Brian [Mon, 5 Feb 2007 22:17:06 +0000 (15:17 -0700)]
minor formatting changes

17 years agoset UseHighLevelInstructions = false for now
Brian [Mon, 5 Feb 2007 22:00:48 +0000 (15:00 -0700)]
set UseHighLevelInstructions = false for now

17 years agoInitial implementation of high-level flow-control instructions.
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.

17 years agoindentation for program instructions (if/else, loops)
Brian [Mon, 5 Feb 2007 21:58:15 +0000 (14:58 -0700)]
indentation for program instructions (if/else, loops)

17 years agoInitial support of loop and subroutine instructions.
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.

17 years agoMerge SWvertex texcoord and varying fields into attrib[] array field.
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.

17 years agoAdd literal_size field to slang_operation.
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))"

17 years agominor tweaks to distance() funcs
Brian [Sun, 4 Feb 2007 00:21:33 +0000 (17:21 -0700)]
minor tweaks to distance() funcs

17 years agoremove unused slang_operation fields
Brian [Sat, 3 Feb 2007 23:25:44 +0000 (16:25 -0700)]
remove unused slang_operation fields

17 years agoshading language texture demo/test
Brian [Sat, 3 Feb 2007 18:36:16 +0000 (11:36 -0700)]
shading language texture demo/test

17 years agoadded FLUSH_VERTICES() in _mesa_use_program()
Brian [Sat, 3 Feb 2007 18:35:02 +0000 (11:35 -0700)]
added FLUSH_VERTICES() in _mesa_use_program()

17 years agoadded texdemo1
Brian [Sat, 3 Feb 2007 18:33:13 +0000 (11:33 -0700)]
added texdemo1

17 years agoAdd _NEW_PROGRAM flag to _MESA_NEW_NEED_EYE_COORDS.
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.

17 years agoOnly glUniform1i() can be used to set sampler uniforms. Generate error otherwise.
Brian [Sat, 3 Feb 2007 01:05:43 +0000 (18:05 -0700)]
Only glUniform1i() can be used to set sampler uniforms.  Generate error otherwise.

17 years agoadd vec4_texcube to AsmInfo[]
Brian [Sat, 3 Feb 2007 01:00:26 +0000 (18:00 -0700)]
add vec4_texcube to AsmInfo[]

17 years agoadd _slang_multiply_swizzles()
Brian [Sat, 3 Feb 2007 01:00:03 +0000 (18:00 -0700)]
add _slang_multiply_swizzles()

17 years agoclean-ups
Brian [Fri, 2 Feb 2007 23:46:50 +0000 (16:46 -0700)]
clean-ups

17 years agoclean-ups
Brian [Fri, 2 Feb 2007 23:45:07 +0000 (16:45 -0700)]
clean-ups

17 years agoclean-ups
Brian [Fri, 2 Feb 2007 23:41:52 +0000 (16:41 -0700)]
clean-ups

17 years agoremove slang_builtin_vec4.gc
Brian [Fri, 2 Feb 2007 23:38:04 +0000 (16:38 -0700)]
remove slang_builtin_vec4.gc

17 years agoremove slang_builtin_vec4.gc
Brian [Fri, 2 Feb 2007 23:38:00 +0000 (16:38 -0700)]
remove slang_builtin_vec4.gc

17 years agoremove slang_export.[ch]
Brian [Fri, 2 Feb 2007 23:14:55 +0000 (16:14 -0700)]
remove slang_export.[ch]

17 years agoreformat, clean-up comments
Brian [Fri, 2 Feb 2007 23:12:20 +0000 (16:12 -0700)]
reformat, clean-up comments

17 years agomove _slang_locate_function()
Brian [Fri, 2 Feb 2007 23:10:02 +0000 (16:10 -0700)]
move _slang_locate_function()

17 years agoremove multibyte chars
Brian [Fri, 2 Feb 2007 23:08:45 +0000 (16:08 -0700)]
remove multibyte chars

17 years agoremove unused field
Brian [Fri, 2 Feb 2007 22:33:16 +0000 (15:33 -0700)]
remove unused field

17 years agoremove slang_asm_string()
Brian [Fri, 2 Feb 2007 22:32:32 +0000 (15:32 -0700)]
remove slang_asm_string()

17 years agos/SLANG_ASSEMBLE_TYPEINFO_H/SLANG_TYPEINFO_H/
Brian [Fri, 2 Feb 2007 22:31:21 +0000 (15:31 -0700)]
s/SLANG_ASSEMBLE_TYPEINFO_H/SLANG_TYPEINFO_H/

17 years agos/slang_assembly_typeinfo/slang_typeinfo/
Brian [Fri, 2 Feb 2007 22:30:50 +0000 (15:30 -0700)]
s/slang_assembly_typeinfo/slang_typeinfo/

17 years agos/slang_assembly_name_space/slang_name_space/
Brian [Fri, 2 Feb 2007 22:29:48 +0000 (15:29 -0700)]
s/slang_assembly_name_space/slang_name_space/

17 years agoremove slang_library_texsample.[ch]
Brian [Fri, 2 Feb 2007 22:23:38 +0000 (15:23 -0700)]
remove slang_library_texsample.[ch]

17 years agoremove slang_library_texsample.[ch]
Brian [Fri, 2 Feb 2007 22:23:33 +0000 (15:23 -0700)]
remove slang_library_texsample.[ch]

17 years agorename slang_link2.c slang_link.c
Brian [Fri, 2 Feb 2007 22:22:05 +0000 (15:22 -0700)]
rename slang_link2.c slang_link.c

17 years agorename 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

17 years agorename slang_assemble_typeinfo.[ch] to slang_typeinfo.[ch]
Brian [Fri, 2 Feb 2007 22:19:58 +0000 (15:19 -0700)]
rename slang_assemble_typeinfo.[ch] to slang_typeinfo.[ch]

17 years agorename 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]

17 years agoremove more slang assembly-related code
Brian [Fri, 2 Feb 2007 22:17:46 +0000 (15:17 -0700)]
remove more slang assembly-related code

17 years agoremove more slang assembly-related files, codee
Brian [Fri, 2 Feb 2007 22:16:51 +0000 (15:16 -0700)]
remove more slang assembly-related files, codee

17 years agoremoved obsolete shader assembly files
Brian [Fri, 2 Feb 2007 22:10:34 +0000 (15:10 -0700)]
removed obsolete shader assembly files

17 years agoremove more assembly-related code
Brian [Fri, 2 Feb 2007 22:05:46 +0000 (15:05 -0700)]
remove more assembly-related code

17 years agoremove slang_assemble*.c files
Brian [Fri, 2 Feb 2007 21:51:34 +0000 (14:51 -0700)]
remove slang_assemble*.c files

17 years agomove some functions, disable some code in preparation for removing assembly code
Brian [Fri, 2 Feb 2007 21:51:09 +0000 (14:51 -0700)]
move some functions, disable some code in preparation for removing assembly code

17 years agofix emit_tex() breakage
Brian [Fri, 2 Feb 2007 21:47:03 +0000 (14:47 -0700)]
fix emit_tex() breakage

17 years agoremove slang_export.c and related code
Brian [Fri, 2 Feb 2007 21:24:24 +0000 (14:24 -0700)]
remove slang_export.c and related code

17 years agoRemove old slang linker code.
Brian [Fri, 2 Feb 2007 21:05:55 +0000 (14:05 -0700)]
Remove old slang linker code.

17 years agoremove slang_link.c and slang_analyse.c
Brian [Fri, 2 Feb 2007 21:05:25 +0000 (14:05 -0700)]
remove slang_link.c and slang_analyse.c

17 years agoremove old linker stuff
Brian [Fri, 2 Feb 2007 21:04:58 +0000 (14:04 -0700)]
remove old linker stuff

17 years agoadded newline at end
Brian [Fri, 2 Feb 2007 20:54:24 +0000 (13:54 -0700)]
added newline at end

17 years agoRemove obsolete files.
Brian [Fri, 2 Feb 2007 20:53:28 +0000 (13:53 -0700)]
Remove obsolete files.

17 years agoremove slang_execute.c, slang_execute_x86.c
Brian [Fri, 2 Feb 2007 20:49:39 +0000 (13:49 -0700)]
remove slang_execute.c, slang_execute_x86.c

17 years agoRemove all dependencies on the old slang interpreter/executor.
Brian [Fri, 2 Feb 2007 20:49:07 +0000 (13:49 -0700)]
Remove all dependencies on the old slang interpreter/executor.

17 years agoreindent
Brian [Fri, 2 Feb 2007 19:08:26 +0000 (12:08 -0700)]
reindent

17 years ago_slang_evaluate_int() no longer used
Brian [Fri, 2 Feb 2007 19:07:57 +0000 (12:07 -0700)]
_slang_evaluate_int() no longer used

17 years agouse _slang_simplify() to evaluate array sizes
Brian [Fri, 2 Feb 2007 19:02:53 +0000 (12:02 -0700)]
use _slang_simplify() to evaluate array sizes

17 years agoMove guts of slang_lookup_constant() into a new function in slang_simplify.c
Brian [Fri, 2 Feb 2007 19:01:29 +0000 (12:01 -0700)]
Move guts of slang_lookup_constant() into a new function in slang_simplify.c

17 years agoreplace abort() with _mesa_problem()
Brian [Fri, 2 Feb 2007 18:42:04 +0000 (11:42 -0700)]
replace abort() with _mesa_problem()

17 years agofix maxInst argument
Brian [Fri, 2 Feb 2007 18:37:58 +0000 (11:37 -0700)]
fix maxInst argument

17 years agotry to simplify variable initializers
Brian [Fri, 2 Feb 2007 18:32:59 +0000 (11:32 -0700)]
try to simplify variable initializers

17 years agounroll inner loop of interpolate_varying()
Brian [Fri, 2 Feb 2007 18:23:16 +0000 (11:23 -0700)]
unroll inner loop of interpolate_varying()

17 years agosimplify derivative-related code
Brian [Fri, 2 Feb 2007 18:20:08 +0000 (11:20 -0700)]
simplify derivative-related code

17 years agosimplify interpolate_texcoords()
Brian [Fri, 2 Feb 2007 18:19:43 +0000 (11:19 -0700)]
simplify interpolate_texcoords()

17 years agoReplace color, z, w, texture interpolants with new generic attrib interpolants.
Brian [Fri, 2 Feb 2007 18:01:01 +0000 (11:01 -0700)]
Replace color, z, w, texture interpolants with new generic attrib interpolants.

17 years agoNew span attrStart/attrStepX/attrStepY fields to replace fog, specular, etc. fields...
Brian [Fri, 2 Feb 2007 16:46:43 +0000 (09:46 -0700)]
New span attrStart/attrStepX/attrStepY fields to replace fog, specular, etc. fields.  More to come.

17 years agoget rid of unused span->start field
Brian [Fri, 2 Feb 2007 16:09:13 +0000 (09:09 -0700)]
get rid of unused span->start field

17 years agoFix logic in _slang_simplify(): vec2() constructor case wasn't getting used.
Brian [Fri, 2 Feb 2007 01:11:19 +0000 (18:11 -0700)]
Fix logic in _slang_simplify(): vec2() constructor case wasn't getting used.

17 years agocomments
Brian [Thu, 1 Feb 2007 17:08:07 +0000 (10:08 -0700)]
comments

17 years agoremove slang_label.c until it's ready
Brian [Thu, 1 Feb 2007 16:52:26 +0000 (09:52 -0700)]
remove slang_label.c until it's ready

17 years agoNew SWspanarrays attribs[] array.
Brian [Thu, 1 Feb 2007 16:51:48 +0000 (09:51 -0700)]
New SWspanarrays attribs[] array.

Replace texcoord[], varying[], etc. arrays with single attribs[] array, indexed
by FRAG_ATTRIB_* values.
Eliminates need to copy data into fragment program machine input registers.
Will lead to future clean-ups.

17 years agosilence uninitialized var warning
Brian [Thu, 1 Feb 2007 16:25:55 +0000 (09:25 -0700)]
silence uninitialized var warning

17 years agosilence uninitialized var warning
Brian [Thu, 1 Feb 2007 16:24:41 +0000 (09:24 -0700)]
silence uninitialized var warning

17 years agomove span-related types/tokens into s_span.h
Brian [Thu, 1 Feb 2007 15:24:02 +0000 (08:24 -0700)]
move span-related types/tokens into s_span.h

17 years agoadditional assertions, bump up MAX_EXEC
Brian [Thu, 1 Feb 2007 15:18:03 +0000 (08:18 -0700)]
additional assertions, bump up MAX_EXEC

17 years agodisable all x86 code, broken and will eventually be removed
Brian [Thu, 1 Feb 2007 00:01:52 +0000 (17:01 -0700)]
disable all x86 code, broken and will eventually be removed

17 years agoOverhaul handling of writemasks/swizzling. This fixes two problem cases:
Brian [Wed, 31 Jan 2007 23:34:54 +0000 (16:34 -0700)]
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

17 years agoNew asm instruction and IR_CLAMP node type to allow clamping to [0,1] with instructio...
Brian [Wed, 31 Jan 2007 15:55:10 +0000 (08:55 -0700)]
New asm instruction and IR_CLAMP node type to allow clamping to [0,1] with instruction saturate-write option.  Not finished yet.

17 years agoallow fragment-only and vertex-only programs
Brian [Wed, 31 Jan 2007 15:47:12 +0000 (08:47 -0700)]
allow fragment-only and vertex-only programs

17 years agofix _mesa_get_uniform_location() so it uses the given program handle
Brian [Tue, 30 Jan 2007 23:55:03 +0000 (16:55 -0700)]
fix _mesa_get_uniform_location() so it uses the given program handle

17 years agonoise() works now
Brian [Mon, 29 Jan 2007 02:02:03 +0000 (19:02 -0700)]
noise() works now

17 years agonoise functions
Brian [Mon, 29 Jan 2007 02:01:35 +0000 (19:01 -0700)]
noise functions

17 years agosimple noise test
Brian [Mon, 29 Jan 2007 02:01:04 +0000 (19:01 -0700)]
simple noise test

17 years agocombine emit_unop(), emit_binop(), emit_triop() into emit_arith()
Brian [Sun, 28 Jan 2007 23:26:09 +0000 (16:26 -0700)]
combine emit_unop(), emit_binop(), emit_triop() into emit_arith()

17 years agoimplement mix() with LRP instruction
Brian [Sun, 28 Jan 2007 23:11:11 +0000 (16:11 -0700)]
implement mix() with LRP instruction

17 years agoLots of vartable clean-ups, fixes. Report an error message when we run out
Brian [Sun, 28 Jan 2007 19:49:47 +0000 (12:49 -0700)]
Lots of vartable clean-ups, fixes.  Report an error message when we run out
of registers, rather than crash.

17 years agominor clean-ups
Brian [Sun, 28 Jan 2007 19:13:27 +0000 (12:13 -0700)]
minor clean-ups

17 years agominor updates
Brian [Sun, 28 Jan 2007 19:11:10 +0000 (12:11 -0700)]
minor updates

17 years agoClean-up of var/temp allocation function parameters.
Brian [Sun, 28 Jan 2007 03:29:33 +0000 (20:29 -0700)]
Clean-up of var/temp allocation function parameters.

17 years agoImproved register allocation: allow four 'float' vars or temporaries to share a singl...
Brian [Sun, 28 Jan 2007 03:06:41 +0000 (20:06 -0700)]
Improved register allocation: allow four 'float' vars or temporaries to share a single register.  Clean-up needed.

17 years agoasst fixes, tranpose span->varying array indexes
Brian [Thu, 25 Jan 2007 17:54:52 +0000 (10:54 -0700)]
asst fixes, tranpose span->varying array indexes

17 years agofixes, clean-ups, transpose span->varying array indexing
Brian [Thu, 25 Jan 2007 17:52:48 +0000 (10:52 -0700)]
fixes, clean-ups, transpose span->varying array indexing

17 years agonew comments, ideas
Brian [Thu, 25 Jan 2007 17:51:53 +0000 (10:51 -0700)]
new comments, ideas

17 years agoremove some parenthesis
Brian [Wed, 24 Jan 2007 21:15:01 +0000 (14:15 -0700)]
remove some parenthesis

17 years agouse FRAG_BIT_TEX()
Brian [Wed, 24 Jan 2007 21:14:14 +0000 (14:14 -0700)]
use FRAG_BIT_TEX()

17 years agofix varying interpolation
Brian [Wed, 24 Jan 2007 21:13:36 +0000 (14:13 -0700)]
fix varying interpolation

17 years agoonly setup varying vars that will be used
Brian [Wed, 24 Jan 2007 21:13:02 +0000 (14:13 -0700)]
only setup varying vars that will be used

17 years agoadded FRAG_BIT_TEX() and FRAG_BIT_VAR() macros
Brian [Wed, 24 Jan 2007 21:12:08 +0000 (14:12 -0700)]
added FRAG_BIT_TEX() and FRAG_BIT_VAR() macros

17 years agoupdated comment
Brian [Wed, 24 Jan 2007 00:41:25 +0000 (17:41 -0700)]
updated comment

17 years agoindicate which opcodes are used by Mesa GLSL, updated comments
Brian [Wed, 24 Jan 2007 00:39:25 +0000 (17:39 -0700)]
indicate which opcodes are used by Mesa GLSL, updated comments

17 years agofix g++ warnings/errors
Brian [Tue, 23 Jan 2007 23:37:51 +0000 (16:37 -0700)]
fix g++ warnings/errors

17 years agoadded shading.html link
Brian [Sun, 21 Jan 2007 17:37:25 +0000 (10:37 -0700)]
added shading.html link