Commit graph

24767 commits

Author SHA1 Message Date
Nicolai Hähnle
59fff53492 r300/compiler: Add vertex program code dumper from Gallium driver 2009-07-27 22:51:39 +02:00
Nicolai Hähnle
6bc0e1054a r300/compiler: Prepare for hookup to Gallium 2009-07-27 22:51:39 +02:00
Nicolai Hähnle
e82a50a6a1 r300/fragprog: Move wpos_attr and fog_attr where they belong
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 22:51:39 +02:00
Nicolai Hähnle
790334883a r300/fragprog: Remove hardcoded FRAG_ATTRIB_xxx constants
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 22:51:38 +02:00
Nicolai Hähnle
e034683eda r300/fragprog: No longer rely on hardcoded FRAG_RESULT_xxx constants
Also, this makes radeon_program_pair depend on the r300 fragment program
compiler. Since we now know that r600+ no longer use the same pairing
style in their ALU, we can stop pretending that program_pair is useful
for anything but r300-r500 fragment programs.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 22:51:38 +02:00
Nicolai Hähnle
836050ba5e r300/fragprog: Move some of the attribute handling out of the compiler
Attribute indices will probably be different in Gallium, so make the compiler
independent of magic values.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 22:51:38 +02:00
Nicolai Hähnle
1348a7ebc0 r300/fragprog: Finally get rid of the duplicate program copy
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 22:51:38 +02:00
Nicolai Hähnle
3f78381687 r300/vertprog: Move Mesa-dependent input/output handling out of compiler
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 22:51:37 +02:00
Nicolai Hähnle
d6a304800b r300: Remove ugly PSIZ hack
Instead of setting Sourced, we simply force writemasks to begin with.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 22:51:37 +02:00
Nicolai Hähnle
05a51f4b3d r300/vertprog: Refactor wpos rewrite using rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 22:51:37 +02:00
Nicolai Hähnle
ce0c32e3d2 r300/vertprog: Refactor fog_as_texcoord to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 22:51:36 +02:00
Nicolai Hähnle
a1e8992ffa r300/vertprog: Refactor addArtificialOutputs to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 22:51:36 +02:00
Nicolai Hähnle
273af68570 r300/fragprog: Refactor wpos rewrite to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 22:51:36 +02:00
Nicolai Hähnle
9dc1be4158 r300/compiler: Refactor fragment program fog rewrite to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 22:51:36 +02:00
Nicolai Hähnle
aab949cb9d r300/compiler: Refactor rewrite_depth_out to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 22:51:35 +02:00
Nicolai Hähnle
6f4608f53c r300/compiler: Refactor local transforms to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 22:51:14 +02:00
Brian Paul
d2f56fe687 intel: Use _mesa_warning() to report GEM warnings 2009-07-27 14:35:18 -06:00
Karl Schultz
09ef339b69 windows: updated VC8 project files
See bug 22882.
2009-07-27 13:38:35 -06:00
Brian Paul
25e371fb7b docs: 7.5 tarball md5sums 2009-07-27 13:27:54 -06:00
Nicolai Hähnle
800f482586 r300: Allow compiler to add constants in a cleaner way
Adding constants is used in a number of non-native instruction
rewrites, and it required us to keep copies of modified gl_programs
around. This is a first step towards ending this.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:07 +02:00
Nicolai Hähnle
92f7a599c7 r300/compiler: Refactor nqssadce to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:07 +02:00
Nicolai Hähnle
a898e7d66c r300/compiler: Refactor for rc_program usage
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:07 +02:00
Nicolai Hähnle
2237d136cd r300/compiler: Add rc_print_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:07 +02:00
Nicolai Hähnle
8bcb6ef786 r300/compiler: Lay groundwork for better error handling
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:06 +02:00
Nicolai Hähnle
c5cb9a3378 r300: Remove dependency on GLcontext from compiler
Unfortunately, this does cause some code duplication (which we can hopefully
eliminate eventually).

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:06 +02:00
Nicolai Hähnle
d65404225d r300/vertprog: Cleanup source conflict handling
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:06 +02:00
Nicolai Hähnle
86e3334333 r300/vertprog: Massively reduce code duplication
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:06 +02:00
Nicolai Hähnle
127ca61fa3 r300/vertprog: Use generic transforms and throw away unneeded code
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:06 +02:00
Nicolai Hähnle
84445273ed r300: Move vertex program compilation to compiler
This is just the first step of refactoring. The separation is not yet
clean enough with this commit.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:05 +02:00
Nicolai Hähnle
11cd795940 r300: Cleanup vertex_program structure
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:05 +02:00
Nicolai Hähnle
927f5f1682 r300: Remove faux lazy translation of vertex programs
De facto, vertex programs were translated immediately in all situations,
so let's just stop pretending that we do lazy translation.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:05 +02:00
Nicolai Hähnle
a808b10ce8 r300: Reduce include dependencies
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:05 +02:00
Nicolai Hähnle
9198ab8bfc r300: Introduce rc_program and use it in radeon_pair
The goal is to convert both Mesa and TGSI programs into an intermediate format
that happens to be convenient for us.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:05 +02:00
Nicolai Hähnle
9cd5e3e13a r300: Add radeon_compiler as a base for compilation-related tasks
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:04 +02:00
Nicolai Hähnle
647766494f r300: Remove some unnecessary includes
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:04 +02:00
Nicolai Hähnle
77a6ae64b6 r300/compiler: Compile the compiler seperately into an archive
This is all part of untangling the compiler from the classic driver, so that
it may be used in Gallium without depending on Mesa stuff if possible

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:04 +02:00
Nicolai Hähnle
d6275ccf79 r300: Further reduce dependency between compiler and classic driver
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:04 +02:00
Nicolai Hähnle
f70d3ee371 r300: Remove some dependencies on additional fragment program copies
The copy is still needed because some program transforms add state variables
or constants.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:04 +02:00
Nicolai Hähnle
b54e083201 r300: Remove GLcontext from r300_fragment_program_compiler
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:03 +02:00
Nicolai Hähnle
e93d70e3e9 r300: Remove GLcontext requirement from radeonLocalTransform
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:03 +02:00
Nicolai Hähnle
9ceee4d3e4 r300: Remove unused enums
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:03 +02:00
Nicolai Hähnle
b4b286b980 r300: Remove GLcontext requirement from radeon_nqssadce
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:03 +02:00
Nicolai Hähnle
d29cdde569 r300: Remove GLcontext requirement from radeon_program_pair
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:03 +02:00
Nicolai Hähnle
cb8c694adb r300/program_pair: Introduce driver-specific texture instruction structure
This is to prepare more experimentation and possible internal changes in the
compiler.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:02 +02:00
Nicolai Hähnle
78f88d8b87 r300/program_pair: Dynamically allocate instructions temporarily
In preparation of using TGSI, where we cannot easily predict the number
of instructions.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:02 +02:00
Nicolai Hähnle
e5bed439be r300: Detangle fragment program compiler from driver-specific structure
This is in preparation of sharing the fragment program compiler with Gallium:
Compiler code is moved into its own directory and modified so that it no
longer depends on driver structures.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
2009-07-27 20:32:02 +02:00
Pauli Nieminen
6b142866ab radeon: Add r6xx/r7xx chip family to get_chip_family_name
This fixes problem that glxinfo was reporting r600+ cards as unknown.

Signed-off-by: Pauli Nieminen <suokkos@gmail.com>
2009-07-27 11:06:18 -04:00
Patrice Mandin
1ee3bcfff0 nouveau: swizzle a single row or column, doing it one pixel at a time 2009-07-27 10:58:11 +02:00
Alex Deucher
7d3190a85b r600: fix textures
We weren't allocating enough gprs for the fragment shader
in some cases.  There are likely other issues that still need
to be sorted out for textures, but at least they now work.
2009-07-27 03:52:37 -04:00
Alex Deucher
7e6819f843 r600: don't draw when num indices is 0
fixes engine demo
2009-07-27 02:26:41 -04:00