Brian Paul
ebcf06702c
mesa: no longer need Writemask field in GLSL IR nodes
...
The Swizzle and Size fields carry all the info we need now.
(cherry picked from commit 80d6379722 )
2009-01-06 08:47:40 -07:00
Brian Paul
9681119bbb
mesa: revamp GLSL instruction emit code
...
This is a step toward better array handling code. In particular, when more
than one operand of an instruction uses indirect addressing, we'll need some
temporary instructions and registers. By converting IR storage to instruction
operands all in one place (emit_instruction()) we can be smarter about this.
Also, somewhat better handling of dst register swizzle/writemask handling.
This results in tighter writemasks on some instructions which is good for
SOA execution.
And, cleaner instruction commenting with inst_comment().
Next: remove some more dead code and additional clean-ups...
(cherry picked from commit 3a7ed9779b )
2009-01-06 08:47:21 -07:00
Brian Paul
e8fa7e500c
mesa: make writemask_string() non-static
...
(cherry picked from commit 610c2461ce )
Conflicts:
src/mesa/shader/prog_print.c
2009-01-06 08:47:05 -07:00
Brian Paul
2bdf076554
mesa: remove some do-nothing GLSL code
...
(cherry picked from commit 4c167f8fc1 )
2009-01-06 08:46:12 -07:00
Brian Paul
ed8f857792
mesa: fix accidental regression in GLSL built-in texture matrix lookup
...
Was broken by commit 9aca9a4b72b2a7b378e50bd88f9c3324d07375ec.
(cherry picked from commit fe984aed5a )
Conflicts:
src/mesa/shader/slang/slang_builtin.c
2009-01-06 08:45:53 -07:00
Brian Paul
5b66bc1a83
mesa: remove unused/obsolete __NormalMatrixTranspose matrix
...
(cherry picked from commit e556cc82f8 )
2009-01-06 08:43:55 -07:00
Brian Paul
1ad6daf3a9
mesa: tweak program register printing for RelAddr case
...
(cherry picked from commit 557fde9531 )
2009-01-06 08:43:14 -07:00
Brian Paul
20156ce5da
mesa: allow relative indexing into all register files and indirect dst register indexing
...
(cherry picked from commit f4361540f8 )
Conflicts:
src/mesa/shader/prog_execute.c
2009-01-06 08:42:40 -07:00
Brian Paul
6b05708ce2
mesa: track initialization status of uniform variables. Plus, asst clean-ups.
...
(cherry picked from commit 2d76a0d77a )
2009-01-06 08:39:06 -07:00
Brian Paul
de44547891
mesa: initial support for uniform variable initializers.
...
This lets one specify initial values for uniforms in the code, avoiding
the need to call glUniform() in some cases.
(cherry picked from commit 379ff8c956 )
2009-01-06 08:38:29 -07:00
Brian Paul
c478a1baca
mesa: allows 'f' suffix on GLSL float literals
...
(cherry picked from commit 80c8017a64 )
2009-01-06 08:37:13 -07:00
Brian Paul
45c8d996f6
mesa: add support for 'centroid' qualifier in GLSL 1.20
...
(cherry picked from commit 87d1a26ba3 )
Conflicts:
src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
2009-01-06 08:36:30 -07:00
Brian Paul
2e77a39d2f
mesa: add support for 'invariant' keyword for GLSL 1.20
...
(cherry picked from commit 448156f769 )
Conflicts:
src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
2009-01-06 08:35:16 -07:00
Brian Paul
4adeac5af1
mesa: reformat comments, rewrap lines, etc for a little better readability
...
(cherry picked from commit b632e5aa7f )
2009-01-06 08:32:44 -07:00
Brian Paul
374cf77b2f
Merge commit 'origin/master' into gallium-0.2
...
Conflicts:
src/mesa/drivers/dri/common/dri_util.c
2009-01-06 08:15:54 -07:00
Brian Paul
62bf6cf6c7
gallium: Fix typeo in mipmap filter for GL_UNSIGNED_SHORT_1_5_5_5_REV
...
This is copied from Ian's commit a330933bb7
2009-01-06 08:08:26 -07:00
Jonathan Adamczewski
52d5d25537
cell: replace 0 with -1 in SPE_COUNT_USABLE_SPES query
2009-01-06 08:02:55 -07:00
Brian Paul
a8ee35c1c5
mesa: remove dri_sarea.h, add glcore.h in Makefile
2009-01-06 07:36:11 -07:00
Xiang, Haihao
f1f022dbb1
mesa: Fix the size per pixel for packed pixel format data type.
2009-01-06 15:37:45 +08:00
Xiang, Haihao
241c0bfc98
mesa: Fix the number of components for GL_UNSIGNED_SHORT_1_5_5_5_REV. (bug #19390 )
2009-01-06 15:34:51 +08:00
Xiang, Haihao
7627c7f5df
dri: correct the damage.
...
Fixes bug #17234
2009-01-06 11:22:19 +08:00
Brian Paul
b7257890dc
cell: fix code emit for RSQ/RCP when src arg == dst arg
...
Fixes moire-like artifacts seen in fslight demo.
2009-01-05 19:51:17 -07:00
Brian Paul
c5c9241cca
mesa: add GLushort cases for render to texture (Z-buffers)
2009-01-05 18:12:23 -07:00
Ben Skeggs
cd5d3fde13
nv50: fill image unit index in TEX varients
2009-01-06 08:05:57 +11:00
Ben Skeggs
00b15c9f40
nv50: fix crash in nv50_program_destroy
2009-01-06 08:05:57 +11:00
Ben Skeggs
17cbe451d2
nv50: working towards 3D textures
2009-01-06 08:05:57 +11:00
Ben Skeggs
108942f22a
nv50: slightly better miptree allocation
...
I swear this didn't work last time I tried it.. Anyhow, still only
suitable for 2D miptrees - more coming once I know the layout.
2009-01-06 08:05:57 +11:00
Ben Skeggs
5696267efd
nv50: add TXP to TEX case.. not correct, but anyway..
2009-01-06 08:05:57 +11:00
Ben Skeggs
0d54770cab
nv50: indentation for TEX is a little overenthusiastic
2009-01-06 08:05:57 +11:00
Ben Skeggs
3f66b72fdb
nv50: ensure we actually get contiguous regs for TEX insn.
...
Still many more horrible things to fix here...
2009-01-06 08:05:57 +11:00
Brian Paul
9736d8f033
mesa: fix a GLSL swizzled writemask bug
...
This fixes cases such as:
vec4 v4;
vec2 v2;
v4.xz.yx = v2;
The last line now correctly compiles into MOV TEMP[1].xz, TEMP[0].yyxw;
Helps to fix the Humus Domino demo. See bug 19189.
2009-01-05 13:16:09 -07:00
Brian Paul
0d797365de
i965: implement OPCODE_TRUNC (round toward zero) on vertex path.
...
Also, fix some RNDD vs. RNDZ confusion elsewhere.
2009-01-05 10:09:28 -07:00
José Fonseca
8ee1df0652
scons: Specify C99 throughout all the tree.
...
MSVC may not support full C99, but supports more than plain C90. And
-pedantic without -std=c99 generates too many spurious warnings
(specially C++ style comments) to be of any use.
Note that using certain C99 features in the cross-platform parts of Gallium
is still not possible; namely mid-of-scope variable declarations and named
structure initializers will break MSVC builds.
2009-01-05 15:24:56 +00:00
Tom Fogal
4469355df2
glu: Add mangled symbols to export list
...
This adds all of the `mglu' symbols to the list of symbol exports
for GLU. Without this patch, mangled GLU symbols are considered
`internal' symbols, and calling any results in undefined references.
2009-01-05 08:00:16 -07:00
Jonathan Adamczewski
785e90a7dc
cell: SIMDize sorting in setup_sort_vertices()
...
Put setup.v{min,mid,max,provoke} into a union with qword vertex_headers.
Rewrite vertex sorting to more efficiently handle the packed data items.
Reduces spu_tri.o by ~128 bytes.
2009-01-05 07:52:59 -07:00
Jonathan Adamczewski
90167d0ee9
cell: SIMDize some subtractions
...
Put edge.{dx,dy} into a union with a vector and perform subtractions in
setup_sort_vertices() on vectors.
Reduces spu_tri.o by ~300 bytes.
2009-01-05 07:52:59 -07:00
Jakob Bornecrantz
5256f94b1a
progs/glsl: Add ignores
2009-01-05 11:52:30 +01:00
Jakob Bornecrantz
b2e9d415ed
progs/glsl: Remove double target def for vert-or-frag-only
2009-01-05 11:52:30 +01:00
Jonathan Adamczewski
bd2e8888ed
cell: improvements to spu_tri.c
...
Replace int setup.span{left,right}[2] with vec_uint4 setup.span.quad
SIMDize calculate_mask() and inline into into flush_spans()
Set setup.span.quad members using spu_shuffle() or spu_sel().
Reduces spu_tri.o by ~116 bytes.
2009-01-04 18:48:46 -07:00
Jonathan Adamczewski
921ec940f0
cell: new spu_shuffle.h header
...
Facilitates creation of shuffle patterns for use with spu_shuffle()
and si_shufb() intrinsics.
To be used by subsequent patches.
2009-01-04 18:46:44 -07:00
Brian Paul
8f6e2f8620
cell: initial codegen support for fragment shader loops
...
Basic for/while loops work now.
Only one level of loop nesting is supported at this time (same for if/else).
The progs/glsl/mandelbrot demo works, but the colors are too dim.
2009-01-04 18:40:48 -07:00
Brian Paul
38b526999c
cell: add support for PIPE_CAP_TEXTURE_MIRROR_REPEAT query
...
We don't really support this texwrap mode yet, but this enables GL 2.1
2009-01-04 18:38:42 -07:00
Brian Paul
7ba6869308
cell: clean-up, improve SPU code generation
...
Start on ARL and address-relative indexing too.
2009-01-04 10:14:19 -07:00
Brian Paul
6cbaa2226f
gallium: fix MaxTextureCoordUnits init
...
Fixes Cell regression.
2009-01-04 10:04:44 -07:00
Brian
9832f92850
cell: fix typo (s/10/0)
2009-01-03 14:44:34 -07:00
Brian
fa4fec2d1b
demos: remove redundant Makefile lines from prev merge
2009-01-03 14:39:49 -07:00
Brian Paul
724ed5b84b
mesa: fix warning about possibly undefined var in GLSL compiler
2009-01-02 17:30:08 -07:00
Brian Paul
19aed38919
softpipe: increase number of texture samplers/units to PIPE_MAX_SAMPLERS (16)
2009-01-02 16:55:33 -07:00
Brian Paul
d917ad5dbd
gallium: assorted state tracker fixes for > 8 texture samplers
2009-01-02 16:54:11 -07:00
Brian Paul
84cffc2e7f
mesa: replace CC with APP_CC in progs/glsl/Makefile
2009-01-02 16:52:00 -07:00