Marek Olšák
6e64096190
r300g: remove unnecessary assignments
2010-09-04 19:06:47 +02:00
Marek Olšák
58471c801a
r300/compiler: indent printed instructions according to the branch depth
2010-09-04 18:56:22 +02:00
Marek Olšák
d3ca8a4edd
r300g: skip draw calls with no vertex elements, fixing hardlocks
2010-09-04 18:56:22 +02:00
Marek Olšák
d774b0c710
r300/compiler: use limits from the compiler input instead of inline constants
2010-09-04 18:56:22 +02:00
Marek Olšák
63943c8fcd
r300/compiler: improve register allocation with indexable temporaries for VS
...
Register allocation can now reallocate temporaries right after the last indexed
source operand, instead of being disabled for the whole shader.
2010-09-04 18:56:22 +02:00
Marek Olšák
33360a707e
r300/compiler: fix handling of indexed temporaries in peephole
2010-09-04 18:56:22 +02:00
Marek Olšák
aa554d508b
r300/compiler: disable deadcode elimination for indexed dst operands
2010-09-04 18:56:22 +02:00
Marek Olšák
f90c870304
r300/compiler: allocate at least FS inputs if register allocation is disabled
2010-09-04 18:56:22 +02:00
Marek Olšák
cfc461fca6
r300g: add a new debug option which disables compiler optimizations
...
Those are:
- dead-code elimination
- constant folding
- peephole (mainly copy propagation)
- register allocation
There are some bugs which I need to track down.
Also fix up the descriptions of all the debug options.
2010-09-04 18:56:22 +02:00
Marek Olšák
d2f4ceaa47
r300/compiler: compute the final number of temporaries during translation
...
And not during the register allocation, which may be skipped for debugging
purposes. Also the predicate register is now added to the number of temps.
2010-09-04 18:56:21 +02:00
Marek Olšák
f46fd04136
r300/compiler: make optimizations not use 0.5 swizzles in vertex shaders
2010-09-04 18:56:21 +02:00
Marek Olšák
63eafaa8ec
r300/compiler: use peephole and constant folding for vertex shaders too
2010-09-04 18:56:21 +02:00
Marek Olšák
f5609ff0d7
r300/compiler: remove unused enum OPCODE_REPL_ALPHA
...
We use RC_OPCODE_REPL_ALPHA instead.
2010-09-04 18:56:21 +02:00
Marek Olšák
fba5f6bda7
r300/compiler: refactor fragment shader compilation
...
This cleans up the mess in r3xx_compile_fragment_program.
2010-09-04 18:56:21 +02:00
Marek Olšák
3ba562e62a
r300/compiler: add new compiler parameter max_constants
2010-09-04 18:56:21 +02:00
Marek Olšák
0b9f836147
r300/compiler: refactor vertex shader compilation
...
First list compiler passes in an array, then run the new function rc_run_compiler.
Every backend may need a different set of passes.
This cleans up the mess in r3xx_compile_vertex_program.
2010-09-04 18:56:21 +02:00
Marek Olšák
9a9aa7daa8
r300/compiler: remove a redundant parameter in rc_pair_regalloc
2010-09-04 18:56:21 +02:00
Marek Olšák
f0ae99252a
r300/compiler: remove a redundant parameter in rc_dataflow_deadcode
...
&c->Base == c.
2010-09-04 18:56:21 +02:00
Marek Olšák
cc8f2d5599
r300/compiler: use null-terminated array of transformation functions
...
I need to reduce the number of parameters of each compiler pass function.
This is part of a larger cleanup.
2010-09-04 18:56:21 +02:00
Marek Olšák
56de72c78a
r300g: only check for an empty shader if there are no compile errors
2010-09-04 18:56:20 +02:00
Marek Olšák
313e95f0c7
r300/compiler: add new compiler parameter max_alu_insts
2010-09-04 18:56:20 +02:00
Marek Olšák
a0fb406d9f
r300/compiler: put emulate_loop_state in radeon_compiler
2010-09-04 18:56:20 +02:00
Kenneth Graunke
79088746a2
ir_reader: Run ir_validate on the generated IR.
...
It's just too easy to get something wrong in hand-written IR.
2010-09-04 02:19:38 -07:00
Kenneth Graunke
2809d70723
ir_reader: Emit global variables at the top of the instruction list.
...
Since functions are emitted when scanning for prototypes, functions
always come first, even if the original IR listed the variable
declarations first.
Fixes an ir_validate error (to be turned on in the next commit).
2010-09-04 02:19:38 -07:00
Kenneth Graunke
b758de16e3
ir_reader: Drop support for reading the old assignment format.
2010-09-04 02:19:38 -07:00
Kenneth Graunke
a878107d6c
glsl: Regenerate autogenerated file builtin_function.cpp.
2010-09-04 02:19:37 -07:00
Kenneth Graunke
bacbf941d2
glsl/builtins: Convert assignments to new format (with write mask).
2010-09-04 02:19:37 -07:00
Kenneth Graunke
03a6276477
ir_reader: Read the new assignment format (with write mask).
...
This preserves the ability to read the old format, for momentary
compatibility with all the existing IR implementations of built-ins.
2010-09-04 02:19:37 -07:00
Kenneth Graunke
a71b46a8ad
ir_reader: Track the current function and report it in error messages.
2010-09-04 02:19:37 -07:00
Kenneth Graunke
a7dc8081b6
glsl/builtins: Actually print the info log if reading a builtin failed.
2010-09-04 02:19:37 -07:00
Luca Barbieri
7a830ac49f
nvfx: consolidate tiny files
...
We probably want to reorganize the remaining files too, but that's
for later, maybe.
2010-09-04 05:31:52 +02:00
Luca Barbieri
603bef5572
mesa/st: add missing _mesa_set_fetch_functions in st_get_tex_image
...
Fixes piglit fdo25614-genmipmap.
2010-09-04 05:13:06 +02:00
Luca Barbieri
f1d50606ba
nvfx: fix vp DP2
2010-09-04 04:43:02 +02:00
Luca Barbieri
72648ca51f
nvfx: implement fp SSG properly
2010-09-04 04:38:43 +02:00
Luca Barbieri
527a4f11a7
nvfx: don't claim we support preds since the driver doesn't
2010-09-04 04:05:37 +02:00
Luca Barbieri
f1507806ca
nv40: support all 10 texcoords
2010-09-04 04:05:37 +02:00
Luca Barbieri
c98b29ec92
nvfx: add missing context init
2010-09-04 03:05:28 +02:00
Luca Barbieri
e887a9fcad
nvfx: tidy up state_emit
2010-09-04 03:05:22 +02:00
Luca Barbieri
71a8544f89
nvfx: support all coord conventions in hardware
2010-09-04 02:57:14 +02:00
Luca Barbieri
5dd296bcb1
nvfx: add missing pushbuffer space check
2010-09-04 02:37:41 +02:00
Luca Barbieri
351a669465
nvfx: support all possible vs consts
...
We were incorrectly setting a register that limited the range of
constants accessible via indirect addressing.
Setting it correctly, we can address all the constants the GPU
supports.
2010-09-04 02:27:59 +02:00
Luca Barbieri
fa82ad84fb
nvfx: set magic bit to round NPOT mipmap sizes down and not up
...
Does any API even use rounding-up?
2010-09-04 02:08:02 +02:00
Luca Barbieri
60fe5757ae
nvfx: allow nested blitter usage, fixing bug in clear
2010-09-04 02:08:02 +02:00
Brian Paul
3b8182793b
galahad: do map/unmap counting for resources
2010-09-03 16:35:07 -06:00
Brian Paul
f1de38b851
libgl-xlib: enable galahad support
...
If the GALLIUM_GALAHAD env var is 1 we'll wrap the regular driver with
the galahad validation driver.
2010-09-03 16:33:20 -06:00
Brian Paul
14056e052b
scons: added galahad to driver list
2010-09-03 16:25:44 -06:00
Brian Paul
2a5491792e
mesa: also build galahad driver
2010-09-03 15:57:48 -06:00
Brian Paul
a5fd039672
exec_list: replace class with struct
...
To match the definition below.
2010-09-03 15:25:55 -06:00
Brian Paul
8680c13240
mesa: fix up a comment
2010-09-03 15:22:26 -06:00
Brian Paul
d500ad4405
st/glx: added some comments
2010-09-03 15:22:26 -06:00