summaryrefslogtreecommitdiff
path: root/src/gallium/drivers
AgeCommit message (Collapse)Author
2010-04-14trace: Ignore transfer_flush_region too.José Fonseca
2010-04-13i915g: Whitespace & formatingJakob Bornecrantz
2010-04-13i915g: Mark shared layouts more clearlyJakob Bornecrantz
2010-04-13Merge branch '7.8'Jesse Barnes
2010-04-13llvmpipe: disable half float formatsAlan Hourihane
2010-04-13nvfx: use dynamically sized rotating BO pool for fragment programsLuca Barbieri
Currently we used a single buffer for each fragment programs, leading to rendering synchronization. This patch uses a doubly linked list of BOs, which is dynamically resized if all the BOs are busy. Note that inline image transfers could be an alternative option: this will be explored later. This removes one of the big performance limitations of the current driver. We also stop using pipe_resource internally in favor of using nouveau_bo directly.
2010-04-13r300g: Silence uninitialized variable warning.Vinson Lee
2010-04-13nvfx: fix for 64-bit systemsLuca Barbieri
Thanks to Patrice Mandin for debugging this.
2010-04-13r300g: add generating texture coordinates for point spritesMarek Olšák
[airlied - Convert sprite coord index to a per-coord enable bit set the rasteriser block up correctly for point sprites. The inputs to the RS hw block change for sprite coords, so fix them up properly - this fixes piglit point-sprite test. ] Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-04-12nvfx: add LRP in vertprogLuca Barbieri
glsl generates these.
2010-04-12nvfx: add SIN and COS in vertprogLuca Barbieri
2010-04-12nvfx: add missing vertprog setcond instructionsLuca Barbieri
Trivially adds SEQ, SGT, SLE, SNE, SFL, STR and SSG which were missing.
2010-04-12nvfx: allocate a bigger block for queriesLuca Barbieri
This patch allocates a bigger chunk of memory to store queries in, increasing the (hidden) outstanding query limit.
2010-04-12nvfx: support an unlimited number of occlusion queriesLuca Barbieri
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.
2010-04-12r300g: Move declaration before code.Vinson Lee
Fixes SCons build.
2010-04-12nvfx: fix TXL opcode valueLuca Barbieri
Was broken during unification
2010-04-12nvfx: Add support for two sided colorLuca Barbieri
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.
2010-04-12nvfx: fix compile errorLuca Barbieri
2010-04-12nvfx: don't use hw index buffers on nv3x and nv44Luca Barbieri
They only apparently work on nv40 grclass cards, and this was the previous behavior of the driver. This really needs to be investigated more.
2010-04-12nvfx: expose PIPE_FORMAT_B8G8R8X8_UNORM supportLuca Barbieri
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.
2010-04-12nvfx: add support for ARB_half_float_vertexLuca Barbieri
2010-04-12nvfx: allocate buffers in GART if !NOUVEAU_SWTNLLuca Barbieri
Should improve performance and fix serious regressions on AGP cards.
2010-04-12nvfx: move check for NOUVEAU_SWTNLLuca Barbieri
2010-04-12nvfx: remove #include "nouveau_stateobj.h"Luca Barbieri
No longer used, finally!
2010-04-12nvfx: rework validation logic to use code and avoid stateobjsLuca Barbieri
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-12nvfx: add NVFX_NEW_{FRAG,VERT}CONSTLuca Barbieri
2010-04-12nvfx: so->RING_3D: vertprogLuca Barbieri
We could use an sb here instead, but there is no obvious performance advantage, and perhaps there could be a disadvantage.
2010-04-12nvfx: so->RING_3D: srLuca Barbieri
2010-04-12nvfx: so->sb: blendLuca Barbieri
2010-04-12nvfx: so->sb: zsaLuca Barbieri
2010-04-12nvfx: so->sb: rasterizerLuca Barbieri
2010-04-12nvfx: so->RING_3D: screenLuca Barbieri
2010-04-12nvfx: so->RING_3D: viewportLuca Barbieri
2010-04-12nvfx: so->RING_3D: stippleLuca Barbieri
2010-04-12nvfx: so->RING_3D: scissorLuca Barbieri
2010-04-12nvfx: so->RING_3D: blendLuca Barbieri
2010-04-12nvfx: so->RING_3D: fbLuca Barbieri
2010-04-12nvfx: so->RING_3D: fragprogLuca Barbieri
2010-04-12nvfx: so->RING_3D: fragtexLuca Barbieri
2010-04-12nvfx: so->RING_3D: vboLuca Barbieri
2010-04-12nvfx: stop using flush_notifyLuca Barbieri
Rather than emitting relocations on flush notifications, emit them in nvfx_state_start.
2010-04-12nouveau: add state buffers, lightweight replacement for state objectsLuca Barbieri
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-12nouveau: don't autobind in state objects relocationsLuca Barbieri
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-12nouveau: bind the 3D engine to subchannel 7 and add RING_3DLuca Barbieri
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-12nvfx: avoid flushes in primitivesLuca Barbieri
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-12nvfx: fix bind flagsLuca Barbieri
2010-04-11r300/compiler: Implement texcoord repeat and mirror for NPOT.Corbin Simpson
2010-04-11r300g: Setup external state for wrap modes.Corbin Simpson
2010-04-11r300g: Cleanup fragment program external state setup.Corbin Simpson
2010-04-12llvmpipe: Respect pipe_sampler_view::format.José Fonseca