mesa.git
17 years agoMerge branch 'origin' into glsl-compiler-1
Brian [Thu, 22 Feb 2007 15:53:33 +0000 (08:53 -0700)]
Merge branch 'origin' into glsl-compiler-1

Conflicts:

src/mesa/main/state.c
src/mesa/shader/program.c
src/mesa/shader/program.h
src/mesa/shader/programopt.c
src/mesa/shader/slang/slang_execute.c
src/mesa/sources
src/mesa/swrast/s_arbshader.c
src/mesa/swrast/s_context.c
src/mesa/swrast/s_span.c
src/mesa/swrast/s_zoom.c
src/mesa/tnl/t_context.c
src/mesa/tnl/t_save_api.c
src/mesa/tnl/t_vb_arbprogram.c
src/mesa/tnl/t_vp_build.c
src/mesa/tnl/t_vtx_eval.c

17 years agoupdated info about arrays, predefined uniforms
Brian [Wed, 21 Feb 2007 23:07:03 +0000 (16:07 -0700)]
updated info about arrays, predefined uniforms

17 years agodisable debug
Brian [Wed, 21 Feb 2007 23:05:56 +0000 (16:05 -0700)]
disable debug

17 years agoUse gl_LightSource[0].position intead of a light position uniform.
Brian [Wed, 21 Feb 2007 22:57:55 +0000 (15:57 -0700)]
Use gl_LightSource[0].position intead of a light position uniform.

17 years agoremove unneeded #includes
Brian [Wed, 21 Feb 2007 22:42:50 +0000 (15:42 -0700)]
remove unneeded #includes

17 years agofix copy&paste errors
Brian [Wed, 21 Feb 2007 22:42:10 +0000 (15:42 -0700)]
fix copy&paste errors

17 years agomore minor changes to STATE_ indexing
Brian [Wed, 21 Feb 2007 22:23:11 +0000 (15:23 -0700)]
more minor changes to STATE_ indexing

17 years agoremove dead code
Brian [Wed, 21 Feb 2007 22:22:17 +0000 (15:22 -0700)]
remove dead code

17 years agoReimplement the _slang_alloc_statevar() function.
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.

17 years agoadjustments to STATE_ token layout/format so token[1] is always the array index
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

17 years agocheckpoint overhaul of pre-defined uniform code
Brian [Wed, 21 Feb 2007 16:15:39 +0000 (09:15 -0700)]
checkpoint overhaul of pre-defined uniform code

17 years agoclean-up, move IR_ELEMENT code
Brian [Wed, 21 Feb 2007 00:00:16 +0000 (17:00 -0700)]
clean-up, move IR_ELEMENT code

17 years agoalloc IR_FIELD's Storage in codegen, like IR_ELEMENT
Brian [Tue, 20 Feb 2007 23:56:49 +0000 (16:56 -0700)]
alloc IR_FIELD's Storage in codegen, like IR_ELEMENT

17 years agoMerge branch 'master' of ssh+git://idr@git.freedesktop.org/git/mesa/mesa
Ian Romanick [Tue, 20 Feb 2007 23:19:23 +0000 (15:19 -0800)]
Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/mesa/mesa

17 years agoDelete two invalid assertions.
Ian Romanick [Tue, 20 Feb 2007 23:18:53 +0000 (15:18 -0800)]
Delete two invalid assertions.

These two assertions are invalid for a couple reasons.  Primarily,
when this code is compiled into the X-server, the symbols
"glSecondaryColor3fEXT" and "glPointParameterivNV" do not exist.

17 years agowork on struct/array handling
Brian [Tue, 20 Feb 2007 22:22:38 +0000 (15:22 -0700)]
work on struct/array handling

17 years agoforgot to return length in parse_array_len()
Brian [Tue, 20 Feb 2007 22:20:46 +0000 (15:20 -0700)]
forgot to return length in parse_array_len()

17 years agonouveau: nv10: grr, ctx->DrawBuffer invalid?
Patrice Mandin [Tue, 20 Feb 2007 22:17:09 +0000 (23:17 +0100)]
nouveau: nv10: grr, ctx->DrawBuffer invalid?

17 years agonouveau: nv10: also check ctx->DrawBuffer in nv10ViewportScale
Patrice Mandin [Tue, 20 Feb 2007 22:13:48 +0000 (23:13 +0100)]
nouveau: nv10: also check ctx->DrawBuffer in nv10ViewportScale

17 years agonouveau: nv10: keep 24/8 depth/stencil value, don't check for depth bits
Patrice Mandin [Tue, 20 Feb 2007 22:04:21 +0000 (23:04 +0100)]
nouveau: nv10: keep 24/8 depth/stencil value, don't check for depth bits

17 years agoimplement support for pre-defined uniform structs (state vars)
Brian [Tue, 20 Feb 2007 21:03:43 +0000 (14:03 -0700)]
implement support for pre-defined uniform structs (state vars)

17 years agoadded slang_builtin.c
Brian [Tue, 20 Feb 2007 21:03:10 +0000 (14:03 -0700)]
added slang_builtin.c

17 years agoFix parallel make in r300 driver.
Adam Jackson [Tue, 20 Feb 2007 17:48:50 +0000 (12:48 -0500)]
Fix parallel make in r300 driver.

17 years agoadded SWIZZLE_XXXX, SWIZZLE_YYYY, etc
Brian [Tue, 20 Feb 2007 17:40:08 +0000 (10:40 -0700)]
added SWIZZLE_XXXX, SWIZZLE_YYYY, etc

17 years agoglxext.h version 18
Brian [Tue, 20 Feb 2007 15:41:15 +0000 (08:41 -0700)]
glxext.h version 18

17 years agoupdated to version 18
Brian [Tue, 20 Feb 2007 15:40:55 +0000 (08:40 -0700)]
updated to version 18

17 years agoglext.h version 39
Brian [Tue, 20 Feb 2007 15:38:46 +0000 (08:38 -0700)]
glext.h version 39

17 years agoupdated to version 39
Brian [Tue, 20 Feb 2007 15:38:29 +0000 (08:38 -0700)]
updated to version 39

17 years agoset log level w/ env var
Christian Neumair [Tue, 20 Feb 2007 15:11:11 +0000 (08:11 -0700)]
set log level w/ env var

17 years agoremove accidental check-in
Brian [Tue, 20 Feb 2007 15:05:29 +0000 (08:05 -0700)]
remove accidental check-in

17 years agoMerge branch 'glsl-compiler-1' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa...
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

17 years agoi915tex: Fix performance regression with new vbo code and latest drm.
Thomas Hellstrom [Mon, 19 Feb 2007 18:57:30 +0000 (19:57 +0100)]
i915tex: Fix performance regression with new vbo code and latest drm.
With current memory preferences, vbos ended up in AGP space
where reading from them got a bit slow.

Make sure buffer objects are initially created in system memory.

17 years agos/PROG_PRINT_ARB/PROG_PRINT_DEBUG/
Brian [Sat, 17 Feb 2007 16:41:59 +0000 (09:41 -0700)]
s/PROG_PRINT_ARB/PROG_PRINT_DEBUG/

17 years agoinfo about stand-alone compiler
Brian [Sat, 17 Feb 2007 16:41:19 +0000 (09:41 -0700)]
info about stand-alone compiler

17 years agostand-alone GLSL compiler
Brian [Sat, 17 Feb 2007 16:15:39 +0000 (09:15 -0700)]
stand-alone GLSL compiler

17 years agoLots of changes to prog_print.c code.
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.

17 years agoMerge branch 'master' of git+ssh://geckosenator@git.freedesktop.org/git/mesa/mesa
Sean D'Epagnier [Sat, 17 Feb 2007 00:46:11 +0000 (17:46 -0700)]
Merge branch 'master' of git+ssh://geckosenator@git.freedesktop.org/git/mesa/mesa

17 years agoCommiting a few minor fixes to glut fbdev (segfault on a separate stack)
Sean D'Epagnier [Sat, 17 Feb 2007 00:44:13 +0000 (17:44 -0700)]
Commiting a few minor fixes to glut fbdev (segfault on a separate stack)

Updated all drivers that used the old _ac_ functions to use
the new _vbo_  functions. I know this fixed the fbdev driver,
it looks like it might fix some other drivers too.

17 years agodoxygen: update doxygen project number to 6.5
Jerome Glisse [Fri, 16 Feb 2007 22:22:04 +0000 (23:22 +0100)]
doxygen: update doxygen project number to 6.5

doxygen number was laggin behind a bit.

17 years agoUpdate doxygen doc to reflet vbo changes.
Jerome Glisse [Fri, 16 Feb 2007 22:18:56 +0000 (23:18 +0100)]
Update doxygen doc to reflet vbo changes.

Update doxygen doc, array_cache no longuer exist,
new shiny vbo modules is there. Tested on unix,
but i think i didn't broke that bat :).

17 years agonouveau: nv50: update
Patrice Mandin [Fri, 16 Feb 2007 21:39:28 +0000 (22:39 +0100)]
nouveau: nv50: update

17 years agonouveau: nv10,20: wrong viewport clip setup
Patrice Mandin [Fri, 16 Feb 2007 21:39:12 +0000 (22:39 +0100)]
nouveau: nv10,20: wrong viewport clip setup

17 years agonouveau: nv20: texture matrix
Patrice Mandin [Fri, 16 Feb 2007 21:09:42 +0000 (22:09 +0100)]
nouveau: nv20: texture matrix

17 years agonouveau: nv20: update
Patrice Mandin [Fri, 16 Feb 2007 21:03:31 +0000 (22:03 +0100)]
nouveau: nv20: update

17 years agonouveau: nv10: set clear value for 16 and 24 bits depth
Patrice Mandin [Fri, 16 Feb 2007 19:26:57 +0000 (20:26 +0100)]
nouveau: nv10: set clear value for 16 and 24 bits depth

17 years agonouveau: nv10: rescale depth near and far
Patrice Mandin [Fri, 16 Feb 2007 18:54:55 +0000 (19:54 +0100)]
nouveau: nv10: rescale depth near and far

17 years agonouveau: nv10: fix viewport scale and origin
Patrice Mandin [Fri, 16 Feb 2007 18:46:54 +0000 (19:46 +0100)]
nouveau: nv10: fix viewport scale and origin

17 years agoremove dead code
Brian [Fri, 16 Feb 2007 16:59:27 +0000 (09:59 -0700)]
remove dead code

17 years agos/_slang_link2/_slang_link/
Brian [Fri, 16 Feb 2007 16:56:19 +0000 (09:56 -0700)]
s/_slang_link2/_slang_link/

17 years agochange all enum tokens to uppercase
Brian [Fri, 16 Feb 2007 16:31:35 +0000 (09:31 -0700)]
change all enum tokens to uppercase

17 years agoabort upon errors (temporary)
Brian [Fri, 16 Feb 2007 16:06:09 +0000 (09:06 -0700)]
abort upon errors (temporary)

17 years agoadded a comment
Brian [Fri, 16 Feb 2007 16:05:11 +0000 (09:05 -0700)]
added a comment

17 years agoAllow int->float argument conversion in _slang_locate_function().
Brian [Fri, 16 Feb 2007 16:04:53 +0000 (09:04 -0700)]
Allow int->float argument conversion in _slang_locate_function().

17 years agoimplement IR_I_TO_F
Brian [Fri, 16 Feb 2007 15:58:42 +0000 (08:58 -0700)]
implement IR_I_TO_F

17 years agor300: Fix cos & add scs to fragment program.
Rune Peterson [Wed, 14 Feb 2007 22:10:52 +0000 (23:10 +0100)]
r300: Fix cos & add scs to fragment program.

So this do :
 - Fixes COS.
 - Does range reductions for SIN & COS.
 - Adds SCS.
 - removes the optimized version of SIN & COS.
 - tweaked weight (should help on precision).
 - fixed a copy paste typo in emit_arith().

17 years agotest for POT before using sample_2d_linear_repeat()
Etienne Clement [Wed, 14 Feb 2007 20:21:12 +0000 (13:21 -0700)]
test for POT before using sample_2d_linear_repeat()

17 years agofix typo preventing generic arrays from working with ARB_vp (bug #9952)
Roland Scheidegger [Wed, 14 Feb 2007 19:34:52 +0000 (20:34 +0100)]
fix typo preventing generic arrays from working with ARB_vp (bug #9952)

17 years agonouveau: nv10: there are 8 clipping regions
Patrice Mandin [Wed, 14 Feb 2007 19:28:31 +0000 (20:28 +0100)]
nouveau: nv10: there are 8 clipping regions

17 years agofix stupid bug in the optimized per-vertex fog generation code
Roland Scheidegger [Wed, 14 Feb 2007 15:38:32 +0000 (16:38 +0100)]
fix stupid bug in the optimized per-vertex fog generation code

17 years agoi915tex: Take into account various mapping states when dropping the
Thomas Hellstrom [Wed, 14 Feb 2007 10:11:23 +0000 (11:11 +0100)]
i915tex: Take into account various mapping states when dropping the

batch buffer after a resolution / rotation switch.

17 years agoremove dead code
Brian [Tue, 13 Feb 2007 16:23:00 +0000 (09:23 -0700)]
remove dead code

17 years agoI965: fix a failure on waiting irq.
Xiang, Haihao [Mon, 12 Feb 2007 08:38:50 +0000 (16:38 +0800)]
I965: fix a failure on waiting irq.

Wait until getting the right fence if drm/i915 resets the
counter.

17 years ago fd.o #BZ 9684
Zou Nan hai [Mon, 12 Feb 2007 04:16:49 +0000 (12:16 +0800)]
  fd.o #BZ 9684
  gcc may cast an overflowed float value to an negative int value on i386,
  fix it to make sure at least some apps will not crash if it contains wrong normal data.

17 years agor300: Add proper support for sin/cos instruction in fragment program
Rune Peterson [Sun, 11 Feb 2007 23:24:36 +0000 (00:24 +0100)]
r300: Add proper support for sin/cos instruction in fragment program

Getting proper SIN and COS wasn't as easy as it appeared.
I had to make make some changes to the fragment program code.
general FP changes:
- support HHH swizzle for vector instructions.
- don't copy a source to a temp when it is not XYZW swizzled, but
 combine the two and have the swizzle resolve any issues.
 (saves temps/instructions with more elaborate shader code)
- fix overflow in cnstv[].

17 years agoctx->Point._Size fix
Rune Peterson [Sun, 11 Feb 2007 01:19:43 +0000 (18:19 -0700)]
ctx->Point._Size fix

17 years agoadd prog_debug.c
Brian [Fri, 9 Feb 2007 22:40:15 +0000 (15:40 -0700)]
add prog_debug.c

17 years agomove GL_MESA_program_debug funcs to 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

17 years agoMove experimental GL_MESA_program_debug functions into new file.
Brian [Fri, 9 Feb 2007 22:39:32 +0000 (15:39 -0700)]
Move experimental GL_MESA_program_debug functions into new file.

17 years agocomments, etc
Brian [Fri, 9 Feb 2007 21:19:12 +0000 (14:19 -0700)]
comments, etc

17 years agore-enable free'ing of IR trees
Brian [Fri, 9 Feb 2007 21:18:41 +0000 (14:18 -0700)]
re-enable free'ing of IR trees

17 years agoalways init param vars to silence valgrind warnings
Brian [Fri, 9 Feb 2007 19:04:52 +0000 (12:04 -0700)]
always init param vars to silence valgrind warnings

17 years agooptimize per-pixel fog program
Roland Scheidegger [Fri, 9 Feb 2007 18:21:29 +0000 (19:21 +0100)]
optimize per-pixel fog program

use the same internal state as for vertex fog. From the old implemenentation,
this changes a SUB+MUL into a MAD for linear fog, and saves a MUL for EXP/EXP2,
plus saves a (constant) parameter. While here, fix the broken (forgotten)
swizzling. (untested)

17 years ago array overflow fix
Zou Nan hai [Fri, 9 Feb 2007 05:28:56 +0000 (13:28 +0800)]
  array overflow fix

17 years agodo full swizzled matching in _mesa_lookup_parameter_constant()
Brian [Fri, 9 Feb 2007 03:39:42 +0000 (20:39 -0700)]
do full swizzled matching in _mesa_lookup_parameter_constant()

17 years agoCheck for constant-valued while/do loop conditions.
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.

17 years agooptimize conditional breaks/continues
Brian [Fri, 9 Feb 2007 00:11:18 +0000 (17:11 -0700)]
optimize conditional breaks/continues

17 years agor200: simplify / unify input map handling for vp and fftnl
Roland Scheidegger [Thu, 8 Feb 2007 23:36:53 +0000 (00:36 +0100)]
r200: simplify / unify input map handling for vp and fftnl

Use the same input map handling for fftnl and vertex programs. It doesn't
enable any new functionality (should make it easy to support per-vertex
materials though), but the code is much cleaner.

17 years agooptimize generated vertex programs a bit
Roland Scheidegger [Thu, 8 Feb 2007 23:36:40 +0000 (00:36 +0100)]
optimize generated vertex programs a bit

Use new internal state to avoid per-vertex normalization of static spot
direction vector. Use internal state for simpler per-vertex fog computations
(MAD instead of SUB/MUL for linear fog, EX2 instead of POW for EXP/EXP2 fog).
Simplify point size calc (2 MADs instead of MOV, MUL, MUL, DP3), and while
there fix it up (RSQ instead of RCP). All untested...

17 years agofix issues in vp when using FRAG_BIT_WPOS in a fragment program (bug #9910)
Roland Scheidegger [Thu, 8 Feb 2007 22:54:28 +0000 (23:54 +0100)]
fix issues in vp when using FRAG_BIT_WPOS in a fragment program (bug #9910)

Redirect all VERT_RESULT_HPOS writes to a temp and use that for fixup.
The viewport transformation still seems to take some shortcuts, and it
still does not seem to work at all...

17 years agocont at top of loop, little clean-ups
Brian [Thu, 8 Feb 2007 22:09:47 +0000 (15:09 -0700)]
cont at top of loop, little clean-ups

17 years agoremove some cruft
Brian [Thu, 8 Feb 2007 22:08:16 +0000 (15:08 -0700)]
remove some cruft

17 years agofix broken BRA for return stmts
Brian [Thu, 8 Feb 2007 21:10:54 +0000 (14:10 -0700)]
fix broken BRA for return stmts

17 years agoconsolidate BRA with BRK, CONT
Brian [Thu, 8 Feb 2007 21:10:19 +0000 (14:10 -0700)]
consolidate BRA with BRK, CONT

17 years agochange BranchTarget to GLint
Brian [Thu, 8 Feb 2007 21:09:34 +0000 (14:09 -0700)]
change BranchTarget to GLint

17 years agoUse conditional break in for/do/while loops.
Brian [Thu, 8 Feb 2007 20:23:17 +0000 (13:23 -0700)]
Use conditional break in for/do/while loops.

17 years agoSimplify code with eval_condition(). Implement conditional BRK.
Brian [Thu, 8 Feb 2007 20:22:31 +0000 (13:22 -0700)]
Simplify code with eval_condition().  Implement conditional BRK.

17 years agoremove old loop break/cont stuff
Brian [Wed, 7 Feb 2007 23:19:19 +0000 (16:19 -0700)]
remove old loop break/cont stuff

17 years agohigh vs. low level if/then/else code emit
Brian [Wed, 7 Feb 2007 23:11:00 +0000 (16:11 -0700)]
high vs. low level if/then/else code emit

17 years agos/%f/%g/
Brian [Wed, 7 Feb 2007 23:09:13 +0000 (16:09 -0700)]
s/%f/%g/

17 years agoRemove old functions for generating BRA-based looping.
Brian [Wed, 7 Feb 2007 22:14:20 +0000 (15:14 -0700)]
Remove old functions for generating BRA-based looping.

17 years agoUse IR_LOOP to represent do-while and for-loops.
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

17 years agoBRK and CONT work the same
Brian [Wed, 7 Feb 2007 05:34:09 +0000 (22:34 -0700)]
BRK and CONT work the same

17 years agoImplement CONT, improve BRK.
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).

17 years agoreplace IR_BEGIN_LOOP/IR_END_LOOP with IR_LOOP
Brian [Wed, 7 Feb 2007 04:33:29 +0000 (21:33 -0700)]
replace IR_BEGIN_LOOP/IR_END_LOOP with IR_LOOP

17 years agonew_node[0123]() functions
Brian [Wed, 7 Feb 2007 03:53:09 +0000 (20:53 -0700)]
new_node[0123]() functions

17 years agoredo IR_IF node, removing IR_ELSE, IR_ENDIF
Brian [Wed, 7 Feb 2007 03:45:43 +0000 (20:45 -0700)]
redo IR_IF node, removing IR_ELSE, IR_ENDIF

17 years agonouveau: a couple of NV3x fixes
Ben Skeggs [Tue, 6 Feb 2007 02:49:39 +0000 (13:49 +1100)]
nouveau: a couple of NV3x fixes

17 years agoadditional comments for BranchTarget
Brian [Tue, 6 Feb 2007 01:04:35 +0000 (18:04 -0700)]
additional comments for BranchTarget

17 years agoBRK instruction's BranchTarget field now used for efficiently breaking out of loops.
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.

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.