Commit graph

20971 commits

Author SHA1 Message Date
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