Commit graph

16062 commits

Author SHA1 Message Date
Brian Paul
eb459814b7 mesa: use _bfc0 instead of _col0 when building back face lighting.
cherry-picked from master: 4550b0562d
2008-11-07 10:23:22 -07:00
Brian
bb8a9ce705 gallium: implement TGSI_OPCODE_NRM/NRM4 in tgsi_exec.c 2008-11-06 19:25:21 -07:00
Brian Paul
2f1a29654a mesa: update the shader programs->TexturesUsed array at link time
If an application never calls glUniform() to set sampler variable values
they'll remain 0 (the default value/unit).
Now call _mesa_update_shader_textures_used() at link time in case glUniform()
is never called.  program->TextureUsed[] will then be correct for state
validation.
2008-11-06 15:04:11 -07:00
Brian Paul
678f80b347 gallium: added st_print_shaders() function to help w/ debugging 2008-11-06 15:00:01 -07:00
Brian Paul
6c3e7365d5 gallium: debug code to print vertex array data (disabled) 2008-11-06 14:57:20 -07:00
Brian Paul
93fd5e150b softpipe: debug code (disabled) 2008-11-06 14:56:59 -07:00
Brian
5b2b064a5c gallium: check execution mask in indirect register loads
Zero-out the index for disabled execution channels to avoid using potential
garbage values (thus avoiding bad array indexing).
2008-11-05 20:04:49 -07:00
Brian
639a2b0ec8 gallium: don't range check tgsi register index for indirect accesses
Fixes progs/vp/arl.txt test.
2008-11-05 19:27:27 -07:00
Brian Paul
de14fdd63f gallium: added check for degenerate drawing calls 2008-11-05 14:05:42 -07:00
Brian Paul
6282c38283 gallium: if VERBOSE_GLSL flag is set, check for non-initialized uniforms at draw time
This will warn the user that the shader being run may be using uninitialized
uniform variables.
2008-11-05 14:05:04 -07:00
Brian Paul
0331c1c169 mesa: fix a GLSL array indexing codegen bug
Expressions like array[i] + array[j] didn't work properly before.
2008-11-05 14:03:15 -07:00
Brian Paul
f0debbb0bb gallium: call tgsi_set_exec_mask() and use exec mask in SSE ARL code
This prevents vertex shaders from referencing invalid memory locations when
the shader is operating on less than four vertices or fragments.
2008-11-05 14:02:07 -07:00
Brian Paul
03c0ce4c61 gallium: added tgsi_set_exec_mask() 2008-11-05 13:56:20 -07:00
Brian Paul
a137f03c56 gallium: added some sanity check assertions for constant buffer indexing 2008-11-05 13:55:56 -07:00
Brian Paul
528c860a58 mesa: remove extra \n from printf string 2008-11-05 09:33:48 -07:00
Brian Paul
2ff4636603 mesa: add Initialized field to gl_uniform struct, for debugging purposes only 2008-11-05 09:14:19 -07:00
Brian Paul
05a17f83b0 gallium: added some debug code (disabled) 2008-11-05 09:08:56 -07:00
Brian Paul
fc3b361191 gallium: disable some debug output 2008-11-05 09:08:56 -07:00
Jakob Bornecrantz
64a9908816 i915: Remove faulty assert 2008-11-05 16:49:48 +01:00
michal
5a0299875c draw: Implement TGSI_OPCODE_TRUNC. 2008-11-05 11:59:33 +01:00
michal
502974b345 tgsi: Implement OPCODE_TRUNC. 2008-11-05 11:59:33 +01:00
Brian Paul
f16f53ae3d mesa: fix float-valued GLSL vertex attribute variables
The swizzle mask for such variables wasn't set up properly.
2008-11-04 16:54:57 -07:00
Brian Paul
c7e98469fa mesa: silence warnings 2008-11-01 16:04:58 -06:00
Brian Paul
e9bc632d82 mesa: do scope replacement for while/for loops too
This fixes a function inlining bug involving vars declared inside loop bodies.
2008-11-01 16:03:03 -06:00
Brian Paul
58936b51af mesa: glsl tree print improvements 2008-11-01 16:02:56 -06:00
Brian Paul
90cdb8a4de mesa: fix assignment / parameter passing of sampler types 2008-11-01 16:02:32 -06:00
Brian Paul
b3cfcd326b mesa: additional debug flags for glsl debug/disassembly 2008-11-01 15:58:00 -06:00
Brian Paul
fa139f8826 mesa: fix some bugs with precision qualifier parsing 2008-10-31 17:54:18 -06:00
Brian Paul
40217db75a mesa: do scope replacement for variable initializers too 2008-10-31 17:51:25 -06:00
Brian Paul
851dbaa5b5 mesa: fix copy/paste error in GLSL error msg 2008-10-31 17:51:16 -06:00
Brian Paul
766cb95a45 gallium: new sanity assertions in mmAllocMem() 2008-10-29 17:02:56 -06:00
Brian Paul
7d7f0f1706 gallium: fix copy&paste bug 2008-10-29 17:02:30 -06:00
Brian Paul
8160cb4935 gallium: fix alignment parameter passed to u_mmAllocMem()
Was 32, now 5.  The param is expressed as a power of two exponent.
The net effect is that the alignment was a no-op on X86 but on PPC we
always got the same memory address everytime rtasm_exec_malloc() was called.
2008-10-29 14:55:57 -06:00
Keith Whitwell
52e6fbb655 gallium: recognize DEBUG as well as DBG for debugging 2008-10-28 16:28:56 +00:00
Keith Whitwell
97e63437dc mesa: note that texcoords are generated by setup routines when pointsprite enabled 2008-10-20 13:04:20 +01:00
Brian Paul
6c6c2f1d23 gallium: add some checks for null surface pointers in state tracker
Fixes some segfaults in low memory situations.
2008-10-18 09:55:54 -06:00
Brian Paul
d422c1eb5c mesa: redraw upon keypress in trivial/tri.c 2008-10-17 13:37:50 -06:00
Brian Paul
8d6ef125ac gallium: fix mis-matched malloc/free vs. aligned malloc/free
Use aligned malloc/free for teximage data everywhere to be consistant.
The mismatch didn't make any difference when HAVE_POSIX_MEMALIGN was defined.
2008-10-17 13:37:50 -06:00
Keith Whitwell
055d986efe trivial: more vp tests 2008-10-14 14:18:36 +01:00
Keith Whitwell
5548a3072f vp: add simple vertex transform test 2008-10-14 14:18:32 +01:00
Keith Whitwell
568e96b453 mesa: modify fixed function vertex programs not to reference constant attributes 2008-10-14 14:18:08 +01:00
Brian Paul
6d4d51d647 mesa: new _mesa_set_vp_override() function for driver-override of vertex program
Patch provide by Keith.
Used in state tracker by DrawPixels to indicate that the state tracker (driver)
is using its own vertex program.  This prevents the texenvprogram code from
replacing conventional shader inputs with state vars.
Fixes glDraw/CopyPixels regressions.
2008-10-10 13:39:14 -06:00
Brian Paul
f7556fdd40 mesa: rasterizer state depends on ST_NEW_VERTEX_PROGRAM
Check for per-vertex point size must be done when vertex program changes.
2008-10-09 16:39:59 -06:00
Brian Paul
5c4bd76cb6 mesa: in _mesa_combine_programs() take new STATE_CURRENT_ATTRIB color into account
Commit 1680ef8696 changed the texenv program
to get color from a state register instead of a constant-valued vertex
attribute.  This broke program concatenation (so glDraw/CopyPixels broke).
Now check if the second program get's color from a constant register and
handle that case appropriately.
2008-10-08 14:02:24 -06:00
Stephane Marchesin
4f1dafaa82 Mesa: fix the case where there are no vertex attributes.
This is a backport of 8e8208d6db to gallium-0.1
2008-10-07 21:28:38 +02:00
Keith Whitwell
1ec78df1e7 trivial: add more vp tests 2008-10-07 19:14:18 +01:00
Brian Paul
239617fbe2 mesa: replace GLuint with GLbitfield to be clearer about usage
Also, fix up some comments to be doxygen style.
2008-10-07 11:22:47 -06:00
Keith Whitwell
23cc303994 draw: don't assume output buffer pointer is aligned 2008-10-07 16:44:24 +01:00
Keith Whitwell
4070dba28a mesa: update state after binding vertex list in dlist path 2008-10-07 16:33:53 +01:00
Keith Whitwell
a381c9e8b3 trivial: exercise vertprog sligtly 2008-10-07 16:33:52 +01:00