Nicolai Hähnle
05a51f4b3d
r300/vertprog: Refactor wpos rewrite using rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
Nicolai Hähnle
ce0c32e3d2
r300/vertprog: Refactor fog_as_texcoord to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
Nicolai Hähnle
a1e8992ffa
r300/vertprog: Refactor addArtificialOutputs to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
Nicolai Hähnle
273af68570
r300/fragprog: Refactor wpos rewrite to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
Nicolai Hähnle
9dc1be4158
r300/compiler: Refactor fragment program fog rewrite to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
Nicolai Hähnle
aab949cb9d
r300/compiler: Refactor rewrite_depth_out to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
Nicolai Hähnle
6f4608f53c
r300/compiler: Refactor local transforms to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
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>
16 år sedan
Nicolai Hähnle
92f7a599c7
r300/compiler: Refactor nqssadce to use rc_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
Nicolai Hähnle
a898e7d66c
r300/compiler: Refactor for rc_program usage
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
Nicolai Hähnle
2237d136cd
r300/compiler: Add rc_print_program
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
Nicolai Hähnle
8bcb6ef786
r300/compiler: Lay groundwork for better error handling
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
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>
16 år sedan
Nicolai Hähnle
d65404225d
r300/vertprog: Cleanup source conflict handling
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
Nicolai Hähnle
86e3334333
r300/vertprog: Massively reduce code duplication
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
Nicolai Hähnle
127ca61fa3
r300/vertprog: Use generic transforms and throw away unneeded code
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
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>
16 år sedan
Nicolai Hähnle
11cd795940
r300: Cleanup vertex_program structure
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
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>
16 år sedan
Nicolai Hähnle
a808b10ce8
r300: Reduce include dependencies
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
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>
16 år sedan
Nicolai Hähnle
9cd5e3e13a
r300: Add radeon_compiler as a base for compilation-related tasks
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
Nicolai Hähnle
647766494f
r300: Remove some unnecessary includes
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
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>
16 år sedan
Nicolai Hähnle
d6275ccf79
r300: Further reduce dependency between compiler and classic driver
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
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>
16 år sedan
Nicolai Hähnle
b54e083201
r300: Remove GLcontext from r300_fragment_program_compiler
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
Nicolai Hähnle
e93d70e3e9
r300: Remove GLcontext requirement from radeonLocalTransform
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
Nicolai Hähnle
9ceee4d3e4
r300: Remove unused enums
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
Nicolai Hähnle
b4b286b980
r300: Remove GLcontext requirement from radeon_nqssadce
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
Nicolai Hähnle
d29cdde569
r300: Remove GLcontext requirement from radeon_program_pair
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
16 år sedan
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>
16 år sedan
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>
16 år sedan
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>
16 år sedan
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>
16 år sedan
Patrice Mandin
1ee3bcfff0
nouveau: swizzle a single row or column, doing it one pixel at a time
16 år sedan
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.
16 år sedan
Alex Deucher
7e6819f843
r600: don't draw when num indices is 0
fixes engine demo
16 år sedan
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.
16 år sedan
Alex Deucher
600a53a32e
r600: Use R600_SCRATCH_REG_OFFSET rather than RADEON_SCRATCH_REG_OFFSET
noticed by vehemens on IRC.
16 år sedan
Alex Deucher
0b3d51ee31
r600: switch vtx resource setup to use SETfield macros
For consistency
16 år sedan
Alex Deucher
2c5e55d919
r600: switch tex code to use SETfield macros
for consistency with the rest of the code.
16 år sedan
Corbin Simpson
7a10472f09
r300g: Fix two trivial texture size issues.
Next thing to fix: progs/tests/mipgen.
16 år sedan
Corbin Simpson
725c1f004c
radeon-gallium: If BO allocation fails, return NULL.
16 år sedan
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.
16 år sedan
Patrice Mandin
8df35b7b57
nouveau: only swizzle square textures for copy
16 år sedan
Patrice Mandin
2b8a8f75f3
nouveau: Take into account destination position for copy_swizzle, need to split copy a bit more
16 år sedan
Patrice Mandin
77a8a650e6
nouveau: Recursively swizzle an NPOT sized copy
16 år sedan
Patrice Mandin
8c30292a6e
nouveau: use nv04_surface_copy_swizzle only for POT sizes
16 år sedan
Joakim Sindholt
12b183d250
radeon-gallium: remove old getparam ioctl
16 år sedan