Commit Graph

33309 Commits

Author SHA1 Message Date
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
Marek Olšák 953a309de9 r300g: FS constants emission rework
* The constant buffer emission is separated from RC state variables emission.
* The immediates are emitted with FS code.
2010-04-12 04:16:08 +02:00
Vinson Lee 132a590d5e r300g: Remove unnecessary headers. 2010-04-11 18:27:04 -07:00
Vinson Lee c7dda49aff r300g: Initialize base.bind member variable.
The base.bind member variable was never initialized.
2010-04-11 18:19:24 -07:00
Vinson Lee 8033d7542b i915g: Fix possible null pointer deference in debug builds.
i915_buffer deferences buf in debug builds. Move declaration and
assignment to inside NULL check of buf.
2010-04-11 18:07:41 -07:00