summaryrefslogtreecommitdiff
path: root/src/gallium/drivers
AgeCommit message (Collapse)Author
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
2010-04-12trace: Fix several regressions introduced by recent interface changes.José Fonseca
2010-04-12nvfx: make NOUVEAU_NO_TRANSFER default offLuca Barbieri
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-12nvfx: always use M2MF instead of the blitterLuca Barbieri
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-12nvfx: add missing vtbl for shared texturesLuca Barbieri
2010-04-12r300g: atomize FS constant bufferMarek Olšák
2010-04-12r300g: atomize compiler's state variables for fragment shaderMarek Olšák
2010-04-12r300g: atomize fragment shaderMarek Olšák
2010-04-12r300g: remove a false commentMarek Olšák
2010-04-12r300g: emit FS depth output config with FS codeMarek Olšák
2010-04-12r300g: FS constants emission reworkMarek Olšák
* The constant buffer emission is separated from RC state variables emission. * The immediates are emitted with FS code.
2010-04-11r300g: Remove unnecessary headers.Vinson Lee
2010-04-11r300g: Initialize base.bind member variable.Vinson Lee
The base.bind member variable was never initialized.
2010-04-11i915g: Fix possible null pointer deference in debug builds.Vinson Lee
i915_buffer deferences buf in debug builds. Move declaration and assignment to inside NULL check of buf.
2010-04-12llvmpipe: Fix transfers after resource changeJakob Bornecrantz
2010-04-11i965g: Remove unnecessary header.Vinson Lee
2010-04-11r300g: Add r300_resource.c to SCons build.Vinson Lee
This was missed in commit 287c94ea4987033f9c99a2f91c5750c9083504ca, the gallium-resources branch merge.
2010-04-11svga: Remove unnecessary headers.Vinson Lee
2010-04-11trace: Remove unnecessary header.Vinson Lee
2010-04-11r300g: a fix for piglit/texrect-manyMarek Olšák
Broken since 146879284c6b844f35afe3a3ef3330726afbe8ac.
2010-04-11r300g: use a dummy replacement vertex shader if the shader compilation failsMarek Olšák
2010-04-11r300g: use a dummy replacement fragment shader if the shader compilation failsMarek Olšák
Better than killing an application.
2010-04-11nv50: fix texture relocsChristoph Bumiller
The new address should go to TIC entries 1, 2 instead of entry 0. Also, using PIPE_SHADER_* for the program type was wrong, they're ordered like the tesla method now, sorry for the confusion.
2010-04-11scons: Always build softpipe and llvmpipe (when llvm available).José Fonseca
These are our reference software rasterizers. They can build everywhere and are a precious debugging tool. Making them always present immensily simplifies the scons logic. If people want to avoid building it is still possible to pass direcotries and target names to scons to narrow the build.
2010-04-11scons: Make LLVM a black-white dependency.José Fonseca
Now that draw depends on llvm it is very difficult to correctly handle broken llvm installations. Either the user requests LLVM and it needs to supply a working installation. Or it doesn't, and it gets no LLVM accelerate pipe drivers.