summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* util: Helper function to determined whether two formats can be memcpy'ed.José Fonseca2010-09-055-4/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | These are the non-trivial conversions that this function recognizes, which was produced by u_format_compatible_test.c: b8g8r8a8_unorm -> b8g8r8x8_unorm a8r8g8b8_unorm -> x8r8g8b8_unorm b5g5r5a1_unorm -> b5g5r5x1_unorm b4g4r4a4_unorm -> b4g4r4x4_unorm l8_unorm -> r8_unorm i8_unorm -> l8_unorm i8_unorm -> a8_unorm i8_unorm -> r8_unorm l16_unorm -> r16_unorm z24_unorm_s8_uscaled -> z24x8_unorm s8_uscaled_z24_unorm -> x8z24_unorm r8g8b8a8_unorm -> r8g8b8x8_unorm a8b8g8r8_srgb -> x8b8g8r8_srgb b8g8r8a8_srgb -> b8g8r8x8_srgb a8r8g8b8_srgb -> x8r8g8b8_srgb a8b8g8r8_unorm -> x8b8g8r8_unorm r10g10b10a2_uscaled -> r10g10b10x2_uscaled r10sg10sb10sa2u_norm -> r10g10b10x2_snorm State trackers and pipe drivers should be updated to take advantage of this knowledge, e.g., in surface_copy.
* 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.
* util: Utility function to determine the channels that can be written in a ↵José Fonseca2010-09-051-0/+33
| | | | color format.
* gallivm: Pass condition masks as an unsigned bitmask.José Fonseca2010-09-056-28/+42
| | | | Much more convenient than boolean arrays.
* gallivm: Cope with tgsi instruction reallocation failure.José Fonseca2010-09-051-6/+10
|
* 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.
* r300/compiler: make optimizations not use 0.5 swizzles in vertex shadersMarek Olšák2010-09-042-0/+2
|
* r300/compiler: add new compiler parameter max_constantsMarek Olšák2010-09-042-0/+2
|
* r300g: only check for an empty shader if there are no compile errorsMarek Olšák2010-09-041-8/+8
|
* r300/compiler: add new compiler parameter max_alu_instsMarek Olšák2010-09-042-0/+2
|
* nvfx: consolidate tiny filesLuca Barbieri2010-09-049-134/+94
| | | | | We probably want to reorganize the remaining files too, but that's for later, maybe.
* nvfx: fix vp DP2Luca Barbieri2010-09-041-1/+1
|
* nvfx: implement fp SSG properlyLuca Barbieri2010-09-041-5/+18
|
* nvfx: don't claim we support preds since the driver doesn'tLuca Barbieri2010-09-041-2/+2
|
* nv40: support all 10 texcoordsLuca Barbieri2010-09-043-12/+19
|
* nvfx: add missing context initLuca Barbieri2010-09-041-0/+3
|
* nvfx: tidy up state_emitLuca Barbieri2010-09-041-76/+84
|
* nvfx: support all coord conventions in hardwareLuca Barbieri2010-09-046-5/+41
|
* nvfx: add missing pushbuffer space checkLuca Barbieri2010-09-041-0/+2
|
* nvfx: support all possible vs constsLuca Barbieri2010-09-041-10/+5
| | | | | | | | We were incorrectly setting a register that limited the range of constants accessible via indirect addressing. Setting it correctly, we can address all the constants the GPU supports.
* nvfx: set magic bit to round NPOT mipmap sizes down and not upLuca Barbieri2010-09-042-0/+6
| | | | Does any API even use rounding-up?
* nvfx: allow nested blitter usage, fixing bug in clearLuca Barbieri2010-09-043-8/+21
|
* galahad: do map/unmap counting for resourcesBrian Paul2010-09-032-0/+18
|
* libgl-xlib: enable galahad supportBrian Paul2010-09-033-1/+18
| | | | | If the GALLIUM_GALAHAD env var is 1 we'll wrap the regular driver with the galahad validation driver.
* st/glx: added some commentsBrian Paul2010-09-031-0/+8
|
* nvfx: implement LIT in fpLuca Barbieri2010-09-032-1/+24
|
* nvfx: fix division by zero in vp-ignore-inputLuca Barbieri2010-09-031-1/+1
|