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
Alex Deucher
48b2fea142
r600: set VGT NUM_INSTANCES as part of the draw command
...
set VGT NUM_INSTANCES as part of the draw command rather
than as state as recommended by the pm4 guide. Also,
use the NUM_INSTANCES packet.
2009-07-27 02:26:41 -04:00
Alex Deucher
600a53a32e
r600: Use R600_SCRATCH_REG_OFFSET rather than RADEON_SCRATCH_REG_OFFSET
...
noticed by vehemens on IRC.
2009-07-27 02:26:41 -04:00
Alex Deucher
0b3d51ee31
r600: switch vtx resource setup to use SETfield macros
...
For consistency
2009-07-27 02:26:41 -04:00
Alex Deucher
2c5e55d919
r600: switch tex code to use SETfield macros
...
for consistency with the rest of the code.
2009-07-27 02:26:41 -04:00
Corbin Simpson
7a10472f09
r300g: Fix two trivial texture size issues.
...
Next thing to fix: progs/tests/mipgen.
2009-07-26 22:48:20 -07:00
Corbin Simpson
725c1f004c
radeon-gallium: If BO allocation fails, return NULL.
2009-07-26 22:35:26 -07:00
Corbin Simpson
2cbd5ecfb6
r300g: Add some debugging, correct little bits of math in texture setup.
...
Simple stuff still works, but not sure about some of the more complex things.
2009-07-26 21:38:24 -07:00
Patrice Mandin
8df35b7b57
nouveau: only swizzle square textures for copy
2009-07-26 22:30:35 +02:00
Patrice Mandin
2b8a8f75f3
nouveau: Take into account destination position for copy_swizzle, need to split copy a bit more
2009-07-26 16:18:06 +02:00
Patrice Mandin
77a8a650e6
nouveau: Recursively swizzle an NPOT sized copy
2009-07-26 12:30:12 +02:00
Patrice Mandin
8c30292a6e
nouveau: use nv04_surface_copy_swizzle only for POT sizes
2009-07-24 23:37:46 +02:00
Joakim Sindholt
12b183d250
radeon-gallium: remove old getparam ioctl
2009-07-24 14:54:00 +02:00
Alex Deucher
3b4235d4eb
r600: fix segfault in morph3d
...
These attributes still need work, but it shouldn't hurt to
enable them.
2009-07-23 18:26:02 -04:00
Keith Whitwell
aa99a765c1
draw: correct address for machine struct in llvm path
...
This changed after a recent commit.
2009-07-23 18:48:04 +01:00
Keith Whitwell
adc6f8cdfc
gallivm: updates for TGSI changes
...
make linux-llvm succeeds, but doesn't seem to be working, at least with
llvm 2.5
2009-07-23 17:59:08 +01:00
Corbin Simpson
ca83d5a8db
r300g, radeon-gallium: Fix API, cleanup.
...
Something called "validate" should return FALSE on failure, not TRUE.
2009-07-23 07:18:29 -07:00
Nicolai Hähnle
27b3c435ba
radeon-gallium: Build fixes wrt changed libdrm_radeon space check API
...
Had to be hacked up a bit to apply to master. Sorry 'bout that. :3
2009-07-23 07:18:29 -07:00
Corbin Simpson
256eacbde4
r300g: PIPE_CAP_BLEND_EQUATION_SEPARATE.
2009-07-23 07:18:29 -07:00
Keith Whitwell
d0d98f3ecf
gallium: clean up opcode definitions
...
Remove commented-out opcodes. Remove information about API mappings
to opcodes, but add a reference to tgsi-instruction-set.txt where
that information is better presented.
2009-07-23 14:39:07 +01:00
Keith Whitwell
78379abcbf
gallium: remove deprecated TGSI opcodes
...
Various opcodes which can be implemented trivially with other TGSI opcodes,
such as matrix multiplication and negation. These were not used by any
state tracker or implemented by any of the drivers.
2009-07-23 14:38:26 +01:00
José Fonseca
8b78294d21
r600: Remove CRLF line endings.
2009-07-23 14:11:10 +01:00
Vinson Lee
af1163cc41
util: Add support for Mac OS.
2009-07-23 14:08:07 +01:00
Corbin Simpson
07961bb05e
r300g: Actually mark shaders as translated/untranslated.
...
Also trust that Gallium will not give us TGSI that miscounts shader consts.
This creates a 20x speedup on glxgears, from 8 FPS to 160 FPS.
2009-07-23 00:00:28 -07:00