summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* nvfx: support an unlimited number of occlusion queriesLuca Barbieri2010-04-123-8/+22
| | | | | | | | | | | | | | Currently on nv30/nv40 an assert will be triggered once 32 queries are outstanding. This violates the OpenGL/Gallium interface, which requires support for an unlimited number of fences. This patch fixes the problem by putting queries in a linked list and waiting on the oldest one if allocation fails. nVidia seems to use a similar strategy, but with 1024 instead of 32 fences. The next patch will improve this.
* r300g: Move declaration before code.Vinson Lee2010-04-121-2/+4
| | | | Fixes SCons build.
* nvfx: fix TXL opcode valueLuca Barbieri2010-04-121-1/+1
| | | | Was broken during unification
* nvfx: Add support for two sided colorLuca Barbieri2010-04-122-2/+4
| | | | | | | This patch adds support for two-sided vertex color to nv30/nv40. When set, the COLOR0/1 fs inputs on back faces will be wired to vs outputs BCOLOR0/1. This makes OpenGL two sided lighting work, which can be tested with progs/demos/projtex.
* nvfx: fix compile errorLuca Barbieri2010-04-121-1/+1
|
* nvfx: don't use hw index buffers on nv3x and nv44Luca Barbieri2010-04-122-2/+3
| | | | | | | They only apparently work on nv40 grclass cards, and this was the previous behavior of the driver. This really needs to be investigated more.
* nvfx: expose PIPE_FORMAT_B8G8R8X8_UNORM supportLuca Barbieri2010-04-121-0/+2
| | | | | | | | This is implemented in nvfx_state_fb and fragtex but was missing in nvfx_screen. This allows to avoid glCopyTexSubImage CPU fallbacks and makes Doom 3 much faster as a result.
* nvfx: add support for ARB_half_float_vertexLuca Barbieri2010-04-122-0/+11
|
* st/mesa: half float vertex support (unexposed)Luca Barbieri2010-04-121-1/+10
| | | | | | | | | | | | | | | | | | This was proposed by Marek Olšák and no one objected, so just pushing it. The extension is currently not exposed, because the mechanism to discover if the driver actually supports this is missing. We probably should change is_format_supported to handle this too. This will allow to test Gallium drivers anyway in the meantime. Based on work by Dave Airlie. Changes by me: 1. Fix assertion in st 2. Change to use unpadded Gallium formats
* nvfx: allocate buffers in GART if !NOUVEAU_SWTNLLuca Barbieri2010-04-121-2/+1
| | | | Should improve performance and fix serious regressions on AGP cards.
* nvfx: move check for NOUVEAU_SWTNLLuca Barbieri2010-04-123-11/+5
|
* nvfx: remove #include "nouveau_stateobj.h"Luca Barbieri2010-04-121-1/+0
| | | | No longer used, finally!
* nvfx: rework validation logic to use code and avoid stateobjsLuca Barbieri2010-04-1218-285/+127
| | | | | 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.
* nvfx: add NVFX_NEW_{FRAG,VERT}CONSTLuca Barbieri2010-04-124-4/+6
|
* nvfx: so->RING_3D: vertprogLuca Barbieri2010-04-122-27/+19
| | | | | We could use an sb here instead, but there is no obvious performance advantage, and perhaps there could be a disadvantage.
* nvfx: so->RING_3D: srLuca Barbieri2010-04-121-9/+6
|
* nvfx: so->sb: blendLuca Barbieri2010-04-123-27/+25
|
* nvfx: so->sb: zsaLuca Barbieri2010-04-123-40/+36
|
* nvfx: so->sb: rasterizerLuca Barbieri2010-04-123-52/+48
|
* nvfx: so->RING_3D: screenLuca Barbieri2010-04-121-93/+89
|
* nvfx: so->RING_3D: viewportLuca Barbieri2010-04-121-29/+25
|
* nvfx: so->RING_3D: stippleLuca Barbieri2010-04-122-15/+11
|
* nvfx: so->RING_3D: scissorLuca Barbieri2010-04-122-13/+10
|
* nvfx: so->RING_3D: blendLuca Barbieri2010-04-121-7/+4
|
* nvfx: so->RING_3D: fbLuca Barbieri2010-04-123-77/+117
|
* nvfx: so->RING_3D: fragprogLuca Barbieri2010-04-124-34/+49
|
* nvfx: so->RING_3D: fragtexLuca Barbieri2010-04-125-72/+83
|
* nvfx: so->RING_3D: vboLuca Barbieri2010-04-124-118/+157
|
* nvfx: stop using flush_notifyLuca Barbieri2010-04-123-4/+15
| | | | | Rather than emitting relocations on flush notifications, emit them in nvfx_state_start.
* nouveau: add state buffers, lightweight replacement for state objectsLuca Barbieri2010-04-122-0/+28
| | | | | | | Just a dumb buffer, allowed by the RING_3D/fixed subchannel binding and no support for relocations. This is *much* faster than state objects.
* nouveau: don't autobind in state objects relocationsLuca Barbieri2010-04-121-8/+4
| | | | | | | | | | 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.
* nouveau: bind the 3D engine to subchannel 7 and add RING_3DLuca Barbieri2010-04-123-0/+17
| | | | | | | | | | | | 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.
* nvfx: avoid flushes in primitivesLuca Barbieri2010-04-121-5/+20
| | | | | | | | | | 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).
* r300/compiler: Comment code, add much better mirror maths.Corbin Simpson2010-04-122-29/+161
|
* nvfx: fix bind flagsLuca Barbieri2010-04-122-3/+3
|
* r300/compiler: Implement texcoord repeat and mirror for NPOT.Corbin Simpson2010-04-114-37/+140
|
* r300g: Setup external state for wrap modes.Corbin Simpson2010-04-111-0/+26
|
* r300g: Cleanup fragment program external state setup.Corbin Simpson2010-04-111-18/+16
|
* r300/compiler: Add NPOT compatibility fields to external state.Corbin Simpson2010-04-111-2/+26
| | | | Completely unused for now.
* llvmpipe: Respect pipe_sampler_view::format.José Fonseca2010-04-123-4/+11
|
* progs/gallium/raw: Update symbols.José Fonseca2010-04-123-11/+11
| | | | Untested -- just the same changes done to progs/gallium/python.
* progs/gallium/python: Try to fix most regressions.José Fonseca2010-04-129-151/+123
| | | | Not enough for retrace to work again though.
* st/python: Fix regressions.José Fonseca2010-04-123-48/+117
|
* trace: Fix several regressions introduced by recent interface changes.José Fonseca2010-04-126-76/+142
|
* llvmpipe: pipe_target needs now 3 bits to be represented.José Fonseca2010-04-121-1/+1
|
* stw: Update for pipe_resource interface changes.José Fonseca2010-04-121-15/+17
|
* stw: Fix minor st_api migration glitches.José Fonseca2010-04-122-2/+6
|
* st/wgl: Switch from st_public.h to st_api.h. [V2]Chia-I Wu2010-04-1212-197/+519
| | | | | | | This is only compile tested with crossmingw. V2: - reference count stw_framebuffer
* Fix build with --enable-32-bit.Török Edwin2010-04-112-2/+2
| | | | | | | | | CFLAGS needs to be passed, as you already know. Commit 3e17a5b047124c46ee45dbd1848127c67e0d62f3 broke this by adding a new link command without CFLAGS. Signed-off-by: Török Edwin <[email protected]> Signed-off-by: Dan Nicholson <[email protected]>
* Revert "dri/drivers: fix 32bit builds on 64bit systems"Dan Nicholson2010-04-111-1/+1
| | | | | | This reverts commit bd09fce27119548cb91cc2aa9ced6a7347aefc3a. Török Edwin sent the correct fix to the list a couple days ago in <[email protected]>.