Commit graph

38930 commits

Author SHA1 Message Date
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
Luca Barbieri
befc66788b nvfx: implement LIT in fp 2010-09-03 22:37:35 +02:00
Ian Romanick
f061524f07 glsl2: Use as_constant some places instead of constant_expression_value
The places where constant_expression_value are still used in loop
analysis are places where a new expression tree is created and
constant folding won't have happened.  This is used, for example, when
we try to determine the maximal loop iteration count.

Based on review comments by Eric.  "...rely on constant folding to
have done its job, instead of going all through the subtree again when
it wasn't a constant."
2010-09-03 11:55:22 -07:00
Ian Romanick
4e5b41c2f6 glsl2: Allow copy / constant propagation into array indices 2010-09-03 11:55:22 -07:00
Ian Romanick
de7c3fe31a glsl2: Add module to perform simple loop unrolling 2010-09-03 11:55:22 -07:00
Ian Romanick
3bcfafcf03 glsl2: Track the number of ir_loop_jump instructions that are in a loop 2010-09-03 11:55:22 -07:00
Ian Romanick
351525d534 ir_expression: Add static operator_string method
I've used this in quite a few debug commits that never reached an
up-stream tree.
2010-09-03 11:55:21 -07:00
Ian Romanick
79082b8aca exec_node: Add insert_before that inserts an entire list 2010-09-03 11:55:21 -07:00
Ian Romanick
7850ce0a99 glsl2: Eliminate zero-iteration loops 2010-09-03 11:55:21 -07:00
Ian Romanick
8df2dbf91d glsl2: Perform initial bits of loop analysis during compilation 2010-09-03 11:55:21 -07:00
Ian Romanick
bfe3fbb38e glsl2: Add module to suss out loop control variables from loop analysis data
This is the next step on the road to loop unrolling
2010-09-03 11:55:21 -07:00
Ian Romanick
9434a0749f glsl2: Add module to analyze variables used in loops
This is the first step eventually leading to loop unrolling.
2010-09-03 11:55:21 -07:00
Ian Romanick
0f4f8c7364 ir_to_mesa: Handle loops with loop controls set
The downside of our talloc usage is that we can't really make static
(i.e., not created with new) instances of our IR types.  This leads to
a lot of unnecessary dynamic allocation in this patch.
2010-09-03 11:55:21 -07:00
Ian Romanick
53acbd87d7 ir_validate: Validate loop control fields in ir_loop 2010-09-03 11:55:21 -07:00
Ian Romanick
3b85f1cc6c glsl2: Add cmp field to ir_loop
This reprents the type of comparison between the loop induction
variable and the loop termination value.
2010-09-03 11:55:21 -07:00
Ian Romanick
c8ee8e07f7 glsl2: Set a flag when visiting the assignee of an assignment 2010-09-03 11:55:21 -07:00
Ian Romanick
29eebe9a9a exec_list: Add pop_head 2010-09-03 11:55:21 -07:00
Ian Romanick
9710d272f7 ir_print_visitor: Print empty else blocks more compactly 2010-09-03 11:55:21 -07:00
Luca Barbieri
67a9a90794 nvfx: fix division by zero in vp-ignore-input 2010-09-03 20:57:44 +02:00
Luca Barbieri
f1980af71d nvfx: report correct max lodbias
Fixes piglit lodbias
2010-09-03 20:54:48 +02:00
Luca Barbieri
657b88fc4c nvfx: remove message 2010-09-03 20:48:14 +02:00
Luca Barbieri
b946984e3b nvfx: support indirect addressing in vps
Negative or huge offsets not yet supported.
2010-09-03 20:48:14 +02:00
Alex Deucher
7e282b8e62 r600c: add proper returns for some evergreen functions
these weren't checked anyway.

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=29999
2010-09-03 12:13:47 -04:00
Luca Barbieri
6ddfdaead8 nvfx: fix support for more than 8 texture units (fixes etqw crash) 2010-09-03 16:13:21 +02:00
Dave Airlie
50c1b6f2e8 r600g: fix segfault in state after rework
probably can improve this a bit.
2010-09-03 19:39:14 +10:00
Alex Deucher
b009d50f44 r600c: emit DB_HTILE_DATA_BASE on evergreen
Make the hw happy.
2010-09-03 01:13:41 -04:00
Dave Airlie
191bfc5c3b r600g: refactor sample states into a reusable struct.
I will not cut-n-paste.
I will not cut-n-paste.
I will not cut-n-paste.
2010-09-03 14:12:38 +10:00
Dave Airlie
9ef228ee2d r600g: reduce size of r600 context structure to !insane
Its now about 7.8k, and might actually fit in a cache.
2010-09-03 13:53:39 +10:00
Dave Airlie
b5fcf82749 r600g: add texture border state.
Okay I finally wrapped my head around what r600_context_state is meant to be,
maybe I should just rename all the structs so that have distinct names.

I've no idea however why 16 is a good magic number for R600_MAX_RSTATE.
2010-09-03 13:34:57 +10:00
Dave Airlie
ce7077423f r600g: deref old driver states for set entry points. 2010-09-03 12:01:59 +10:00
Dave Airlie
4ca207b174 r600g: drop r600_bind_state.
This was another ugly function that really wasn't needed.

The 3 calls to it from the gallium api were shorter than it,
and all the calls from the set_ functions were pointless.
2010-09-03 11:56:07 +10:00
Dave Airlie
49b4f5259b r600g: kill r600_context_state function
having some sort of locality of code really matters, just create
and setup state at time. Not sure if this is just further polishing of a bad thing,
but at least it makes it more readable.
2010-09-03 11:35:08 +10:00
Dave Airlie
1bd8493a0b r600g: move lots of state inline helpers to separate header.
this gets them out of sight of the main codeflow.
2010-09-03 10:55:54 +10:00
Vinson Lee
619e899a42 draw: Include missing headers in draw_vs_aos.h.
Include tgsi_exec.h for TGSI_EXEC_NUM_TEMPS.
Include draw_vs.h for draw_vs_varient.
2010-09-02 17:03:47 -07:00
Dave Airlie
883cbbd99c r600g: drop magic numbers in depth state.
this also fixes occulsion queries.
2010-09-03 09:48:40 +10:00
Vinson Lee
23120b8d30 util: Include missing header in u_linear.h.
Include p_compiler.h for size_t and boolean symbols.
2010-09-02 16:30:34 -07:00