summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* r600g: add support for constants in memory buffers.Dave Airlie2010-09-0812-51/+143
| | | | | | DX9 constants were in the constant file, and evergreen no longer support cfile. r600/700 can also use constants in memory buffers, so add the code (disabled for now) to enable that as precursor for evergreen.
* r600g: abstract the hw states out behind a vtbl.Dave Airlie2010-09-087-975/+1103
| | | | | this is step one towards evergreen support, it lets us plug in whole new hw level states.
* llvmpipe: Add lp_rast_debug.c to Makefile.Chia-I Wu2010-09-071-0/+1
|
* llvmpipe: Refactor lp_scene_add_resource_referenceJosé Fonseca2010-09-071-14/+15
| | | | Less goto spaghetti.
* llvmpipe: Fix negated logic in lp_scene_add_resource_reference().José Fonseca2010-09-071-1/+1
| | | | Fixes performance regression.
* llvmpipe: move more coef setup into lp_setup_coef.cKeith Whitwell2010-09-074-40/+61
|
* llvmpipe: declare fence handle structKeith Whitwell2010-09-071-0/+1
|
* llvmpipe: rasterization debugging helpersKeith Whitwell2010-09-077-0/+428
|
* llvmpipe: use opcodes instead of function pointers in binsKeith Whitwell2010-09-0715-441/+513
| | | | Also, move some state from rasterizer struct to the scene.
* llvmpipe: rearrange queriesKeith Whitwell2010-09-074-116/+53
|
* llvmpipe: enforce fixed memory limit on scenesKeith Whitwell2010-09-0711-341/+459
|
* llvmpipe: clean up deferred zstencil clearsKeith Whitwell2010-09-076-79/+41
|
* llvmpipe: rework fences and queriesKeith Whitwell2010-09-077-92/+124
|
* llvmpipe: move whole-tile emit into a functionKeith Whitwell2010-09-072-8/+42
|
* llvmpipe: put fs variant dumping in a functionKeith Whitwell2010-09-072-4/+15
|
* nvfx: fix return in vp mainLuca Barbieri2010-09-061-17/+39
|
* r600g: add error print for no literals for r700s as wellDave Airlie2010-09-061-0/+3
|
* r600g: fixup r700 assembler for clamp/relative addressingDave Airlie2010-09-061-13/+18
|
* r600g: add script to generate header file with offsets into state objects.Dave Airlie2010-09-062-412/+525
| | | | | | | | This was inherently fragile as any changes to r600_states.h would also need manual updating of all of the bits in radeon.h. Just add a simple python script to do the conversion, its not hooked up to make at all. This also will make adding evergreen a bit easier.
* r600g: fix up surface referencesDave Airlie2010-09-061-4/+2
| | | | | We end up referencing the new surf and derefing the old surface which is a copy of the pointer to the new surf. So just bump the ref count directly.
* r600g: search for sampler views in context on removal.Dave Airlie2010-09-061-0/+17
| | | | Need to remove from context as well.
* r600g: add missing printf operandDave Airlie2010-09-061-1/+1
|
* nvfx: support nv30 simulation on nv40Luca Barbieri2010-09-057-32/+50
|
* nouveau: delete nouveau_class.h, move nv50 regs to nv50_reg.hLuca Barbieri2010-09-054-9050/+1775
| | | | | | | nv50 should switch to rules-ng-ng too at some point. The classic Mesa Nouveau driver also includes a copy of nouveau_class.h, and should convert to rules-ng-ng too and remove it.
* nvfx: move nv04_2d to rules-ng-ngLuca Barbieri2010-09-053-17/+1518
|
* nvfx: switch to rules-ng-ng register headersLuca Barbieri2010-09-0518-334/+2587
| | | | | | | | | | This is the new register generation toolkit in use by nouveau. As far as I know, this is the best register description toolkit in existence, and you should use it too for your hardware :) Thanks to Marcin Kościelnicki for inventing it and performing invaluable reverse engineering work of nVidia chips.
* nvfx: remove remaining BEGIN_RING/eng3d usesLuca Barbieri2010-09-052-15/+18
|
* nvfx: pause occlusion queries during blitter usageLuca Barbieri2010-09-054-10/+36
| | | | | Thanks for Dave Airlie and Jerome Glisse for their code which made me realize I need this too.
* nvfx: properly return fogcoord.w == 1Luca Barbieri2010-09-051-1/+15
| | | | | Hardware sets it to 0, so we add an ADD to put an 1 there if the application really wants the alpha channel.
* nvfx: support saturate in vpLuca Barbieri2010-09-052-66/+93
| | | | | | Completely untested, since Mesa apparently never uses this currently. In particular, it might not work with scalar slot op.
* nvfx: add rewritten swtnl supportLuca Barbieri2010-09-058-263/+238
| | | | | | | | The old swtnl code was broken by the new shader linkage support for GLSL. This is a rewrite of swtnl support, which should instead work properly, be faster and more closer to the much more tested hardware pipeline.
* nvfx: use a piglit-ignored format for unknown cap messageLuca Barbieri2010-09-051-1/+1
|
* llvmpipe: Remove some broken MinGW hacks in the sin/cos reference code.José Fonseca2010-09-051-49/+0
|
* llvmpipe: Fix perspective divide interpolation.José Fonseca2010-09-052-9/+76
| | | | | | | | | | Intuition != mathematics, so this time I actually worked out the right formula for first order approximation of perspective interpolation. Ironically, per quad divide actually makes things slower when compared with per pixel divide -- probably because the divide hardware unit is rarely used, whereas the multiply unit is typically already saturated and the first order approximation imply more multiplications.
* llvmpipe: Relax the colormask constraint on opaque.José Fonseca2010-09-052-13/+29
| | | | | | Also, include the color buffer in the key. Not having it there causes a tight knots in the logic to determine when it is OK or not to discard previous color buffer contents.
* gallivm: Pass condition masks as an unsigned bitmask.José Fonseca2010-09-051-3/+2
| | | | Much more convenient than boolean arrays.
* r300g,r300c: memset the compiler struct to zerosMarek Olšák2010-09-051-0/+1
| | | | This should fix bogus reports "Too many temporaries." and maybe some others.
* nvfx: support unlimited constants and immediates in fpLuca Barbieri2010-09-052-49/+37
|
* nvfx: support using blitter to copy depth/stencil resources, fix HeavenLuca Barbieri2010-09-051-1/+8
| | | | | | | | | | We might want to copy them as color ones though. Also works around crash in Unigine Heaven due to failing to allocate a 64 MB temporary in GART for a CPU copy. Unigine Heaven now works on nv40, albeit with very heavy glitches (with the floating branch with render_hdr 0).
* nvfx: support rendering to more formatsLuca Barbieri2010-09-044-2/+30
|
* nvfx: move 2D format selection logic to 2D codeLuca Barbieri2010-09-043-67/+75
|
* nvfx: fix swizzling of high bpp surfacesLuca Barbieri2010-09-042-39/+63
|
* nvfx: fix some subrectangle copiesLuca Barbieri2010-09-041-4/+6
| | | | | | Actually, we may want to get rid of the x/y coordinates for linear surfaces, and realign the origin from scratch if necessary, instead of doing this "on-demand realignment".
* nvfx: fix inlinining in nv04_2d.cLuca Barbieri2010-09-041-1/+1
|
* nvfx: fix the temporary copying logic and add assertsLuca Barbieri2010-09-043-7/+24
|
* nvfx: prevent swizzled rendering into formats where it's not supportedLuca Barbieri2010-09-041-2/+4
|
* Revert "r300g: refuse to create a texture with size 0"Marek Olšák2010-09-041-12/+0
| | | | | | | | | | This reverts commit 5cdedaaf295acae13ac10feeb3143d83bc53d314. https://bugs.freedesktop.org/show_bug.cgi?id=30002 Conflicts: src/gallium/drivers/r300/r300_texture.c
* r300g: remove unnecessary assignmentsMarek Olšák2010-09-041-6/+0
|
* r300g: skip draw calls with no vertex elements, fixing hardlocksMarek Olšák2010-09-041-0/+3
|
* r300g: add a new debug option which disables compiler optimizationsMarek Olšák2010-09-044-18/+22
| | | | | | | | | | | | Those are: - dead-code elimination - constant folding - peephole (mainly copy propagation) - register allocation There are some bugs which I need to track down. Also fix up the descriptions of all the debug options.