Luca Barbieri
f9c665e9e6
nvfx: allocate buffers in GART if !NOUVEAU_SWTNL
...
Should improve performance and fix serious regressions on AGP cards.
2010-04-12 18:53:30 +02:00
Luca Barbieri
8f0d5382e3
nvfx: move check for NOUVEAU_SWTNL
2010-04-12 18:06:06 +02:00
Luca Barbieri
f647f46e03
nvfx: remove #include "nouveau_stateobj.h"
...
No longer used, finally!
2010-04-12 12:21:25 +02:00
Luca Barbieri
330925d911
nvfx: rework validation logic to use code and avoid stateobjs
...
This makes the code faster due to the lack of indirect calls and also
makes it much easier to understand what is actually going on.
2010-04-12 12:21:25 +02:00
Luca Barbieri
26e40448be
nvfx: add NVFX_NEW_{FRAG,VERT}CONST
2010-04-12 12:13:23 +02:00
Luca Barbieri
5eb6b1a981
nvfx: so->RING_3D: vertprog
...
We could use an sb here instead, but there is no obvious performance
advantage, and perhaps there could be a disadvantage.
2010-04-12 12:13:23 +02:00
Luca Barbieri
f768528af5
nvfx: so->RING_3D: sr
2010-04-12 12:13:17 +02:00
Luca Barbieri
4b3b54d746
nvfx: so->sb: blend
2010-04-12 12:13:17 +02:00
Luca Barbieri
180654d2bb
nvfx: so->sb: zsa
2010-04-12 12:13:17 +02:00
Luca Barbieri
cbe8ed435a
nvfx: so->sb: rasterizer
2010-04-12 12:13:17 +02:00
Luca Barbieri
c8201c833c
nvfx: so->RING_3D: screen
2010-04-12 12:13:17 +02:00
Luca Barbieri
4dbd029a76
nvfx: so->RING_3D: viewport
2010-04-12 12:13:17 +02:00
Luca Barbieri
f8f29e6191
nvfx: so->RING_3D: stipple
2010-04-12 12:13:17 +02:00
Luca Barbieri
5c89cb0f6c
nvfx: so->RING_3D: scissor
2010-04-12 12:13:16 +02:00
Luca Barbieri
6558797f99
nvfx: so->RING_3D: blend
2010-04-12 12:13:16 +02:00
Luca Barbieri
f320176b71
nvfx: so->RING_3D: fb
2010-04-12 12:13:16 +02:00
Luca Barbieri
b3cc1adc14
nvfx: so->RING_3D: fragprog
2010-04-12 12:13:16 +02:00
Luca Barbieri
631f6f5616
nvfx: so->RING_3D: fragtex
2010-04-12 12:13:16 +02:00
Luca Barbieri
f5b6cc6699
nvfx: so->RING_3D: vbo
2010-04-12 12:13:16 +02:00
Luca Barbieri
c0341b22ca
nvfx: stop using flush_notify
...
Rather than emitting relocations on flush notifications, emit them
in nvfx_state_start.
2010-04-12 12:13:16 +02:00
Luca Barbieri
188b579e30
nouveau: add state buffers, lightweight replacement for state objects
...
Just a dumb buffer, allowed by the RING_3D/fixed subchannel binding and
no support for relocations.
This is *much* faster than state objects.
2010-04-12 12:13:16 +02:00
Luca Barbieri
d75f99ab0c
nouveau: don't autobind in state objects relocations
...
Autobinding creates additional pushbuffer usage which may not be
accounted in callers, and is also slow.
The next relocations patch depends on this for correctness.
Assert instead if the objects are not bound, which should happen at
screen creation time.
2010-04-12 12:13:15 +02:00
Luca Barbieri
e0af5c9b54
nouveau: bind the 3D engine to subchannel 7 and add RING_3D
...
RING_3D creates a method start for subchannel 7.
Bind the 3D engine to a fixed subchannel to make it work
This is much faster than the old BEGIN_RING, since we don't need
to waste cycles trying to "autobind" stuff, when a fast static binding
is perfectly good.
Subchannel 7 is chosen because the kernel takes up the lowest ones.
2010-04-12 12:13:15 +02:00
Luca Barbieri
507dc546c3
nvfx: avoid flushes in primitives
...
Currently we miscalculate the space needed to push vertices, causing
flushes where they should not happen.
Use a much more conservative estimate to fix it.
It will be done better in the future (e.g. using the nv50 primitive
splitter).
2010-04-12 12:13:15 +02:00
Corbin Simpson
f0b8677d57
r300/compiler: Comment code, add much better mirror maths.
2010-04-12 03:03:37 -07:00
Luca Barbieri
a57dcef636
nvfx: fix bind flags
2010-04-12 11:49:09 +02:00
Corbin Simpson
d5af1dce8f
r300/compiler: Implement texcoord repeat and mirror for NPOT.
2010-04-11 23:39:24 -07:00
Corbin Simpson
f95ff1cf48
r300g: Setup external state for wrap modes.
2010-04-11 23:39:24 -07:00
Corbin Simpson
8f37f910bf
r300g: Cleanup fragment program external state setup.
2010-04-11 23:39:23 -07:00
Corbin Simpson
484079d724
r300/compiler: Add NPOT compatibility fields to external state.
...
Completely unused for now.
2010-04-11 23:38:24 -07:00
José Fonseca
d67e3487ac
llvmpipe: Respect pipe_sampler_view::format.
2010-04-12 15:32:23 +09:00
José Fonseca
cd70b6bd9e
progs/gallium/raw: Update symbols.
...
Untested -- just the same changes done to progs/gallium/python.
2010-04-12 15:32:23 +09:00
José Fonseca
19211bb5b8
progs/gallium/python: Try to fix most regressions.
...
Not enough for retrace to work again though.
2010-04-12 15:32:23 +09:00
José Fonseca
c48f21ea7c
st/python: Fix regressions.
2010-04-12 15:32:23 +09:00
José Fonseca
b77583203e
trace: Fix several regressions introduced by recent interface changes.
2010-04-12 15:32:22 +09:00
José Fonseca
5a549d8b48
llvmpipe: pipe_target needs now 3 bits to be represented.
2010-04-12 15:32:21 +09:00
José Fonseca
0bddb58d2f
stw: Update for pipe_resource interface changes.
2010-04-12 15:32:21 +09:00
José Fonseca
1dc8e08e84
stw: Fix minor st_api migration glitches.
2010-04-12 15:32:21 +09:00
Chia-I Wu
192f06adca
st/wgl: Switch from st_public.h to st_api.h. [V2]
...
This is only compile tested with crossmingw.
V2:
- reference count stw_framebuffer
2010-04-12 15:32:20 +09:00
Török Edwin
bddb6c7a38
Fix build with --enable-32-bit.
...
CFLAGS needs to be passed, as you already know.
Commit 3e17a5b047 broke this by adding a new link
command without CFLAGS.
Signed-off-by: Török Edwin <edwintorok@gmail.com>
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
2010-04-11 20:57:28 -07:00
Dan Nicholson
4ebed86386
Revert "dri/drivers: fix 32bit builds on 64bit systems"
...
This reverts commit bd09fce271 . Török
Edwin sent the correct fix to the list a couple days ago in
<1270832747-15611-1-git-send-email-edwintorok@gmail.com>.
2010-04-11 20:57:28 -07:00
Luca Barbieri
930bba24e5
nvfx: make NOUVEAU_NO_TRANSFER default off
...
Otherwise, we read from VRAM...
Yes, again, it should be fixed to tell whether the buffer is in
VRAM or not and behave appropriately.
But this should be in pipebuffer/a generic layer; revisit this later
too.
2010-04-12 05:46:04 +02:00
Luca Barbieri
aa985f339d
nvfx: always use M2MF instead of the blitter
...
Currently we are relocating transfers to VRAM to use the blitter,
which is terrible.
Maybe for ->VRAM the blitter could be better, but we can't be
perfectly sure of that due to relocations.
In other words, just do the simple thing, and defer fine-tuning the
transfer hardware method to a later stage, while making it work
decently now.
2010-04-12 05:46:04 +02:00
Chia-I Wu
927e576284
st/egl: Request the front buffer as needed.
...
The front buffer is added to support old X servers. Check the version
of the server so that it can be added as needed.
2010-04-12 11:44:35 +08:00
Luca Barbieri
5060b99418
nvfx: add missing vtbl for shared textures
2010-04-12 04:40:03 +02:00
Marek Olšák
136bd184a2
r300g: atomize FS constant buffer
2010-04-12 04:16:08 +02:00
Marek Olšák
5633392966
r300g: atomize compiler's state variables for fragment shader
2010-04-12 04:16:08 +02:00
Marek Olšák
34092c55d6
r300g: atomize fragment shader
2010-04-12 04:16:08 +02:00
Marek Olšák
13b86fe207
r300g: remove a false comment
2010-04-12 04:16:08 +02:00
Marek Olšák
78257f3e8c
r300g: emit FS depth output config with FS code
2010-04-12 04:16:08 +02:00