Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | nvfx: move nv04_2d to rules-ng-ng | Luca Barbieri | 2010-09-05 | 3 | -17/+1518 |
| | |||||
* | nvfx: switch to rules-ng-ng register headers | Luca Barbieri | 2010-09-05 | 18 | -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 uses | Luca Barbieri | 2010-09-05 | 2 | -15/+18 |
| | |||||
* | nvfx: pause occlusion queries during blitter usage | Luca Barbieri | 2010-09-05 | 4 | -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 == 1 | Luca Barbieri | 2010-09-05 | 1 | -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 vp | Luca Barbieri | 2010-09-05 | 2 | -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 support | Luca Barbieri | 2010-09-05 | 8 | -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 message | Luca Barbieri | 2010-09-05 | 1 | -1/+1 |
| | |||||
* | llvmpipe: Remove some broken MinGW hacks in the sin/cos reference code. | José Fonseca | 2010-09-05 | 1 | -49/+0 |
| | |||||
* | llvmpipe: Fix perspective divide interpolation. | José Fonseca | 2010-09-05 | 2 | -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é Fonseca | 2010-09-05 | 5 | -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é Fonseca | 2010-09-05 | 2 | -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é Fonseca | 2010-09-05 | 1 | -0/+33 |
| | | | | color format. | ||||
* | gallivm: Pass condition masks as an unsigned bitmask. | José Fonseca | 2010-09-05 | 6 | -28/+42 |
| | | | | Much more convenient than boolean arrays. | ||||
* | gallivm: Cope with tgsi instruction reallocation failure. | José Fonseca | 2010-09-05 | 1 | -6/+10 |
| | |||||
* | r300g,r300c: memset the compiler struct to zeros | Marek Olšák | 2010-09-05 | 1 | -0/+1 |
| | | | | This should fix bogus reports "Too many temporaries." and maybe some others. | ||||
* | nvfx: support unlimited constants and immediates in fp | Luca Barbieri | 2010-09-05 | 2 | -49/+37 |
| | |||||
* | nvfx: support using blitter to copy depth/stencil resources, fix Heaven | Luca Barbieri | 2010-09-05 | 1 | -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 formats | Luca Barbieri | 2010-09-04 | 4 | -2/+30 |
| | |||||
* | nvfx: move 2D format selection logic to 2D code | Luca Barbieri | 2010-09-04 | 3 | -67/+75 |
| | |||||
* | nvfx: fix swizzling of high bpp surfaces | Luca Barbieri | 2010-09-04 | 2 | -39/+63 |
| | |||||
* | nvfx: fix some subrectangle copies | Luca Barbieri | 2010-09-04 | 1 | -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.c | Luca Barbieri | 2010-09-04 | 1 | -1/+1 |
| | |||||
* | nvfx: fix the temporary copying logic and add asserts | Luca Barbieri | 2010-09-04 | 3 | -7/+24 |
| | |||||
* | nvfx: prevent swizzled rendering into formats where it's not supported | Luca Barbieri | 2010-09-04 | 1 | -2/+4 |
| | |||||
* | Revert "r300g: refuse to create a texture with size 0" | Marek Olšák | 2010-09-04 | 1 | -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 assignments | Marek Olšák | 2010-09-04 | 1 | -6/+0 |
| | |||||
* | r300g: skip draw calls with no vertex elements, fixing hardlocks | Marek Olšák | 2010-09-04 | 1 | -0/+3 |
| | |||||
* | r300g: add a new debug option which disables compiler optimizations | Marek Olšák | 2010-09-04 | 4 | -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 shaders | Marek Olšák | 2010-09-04 | 2 | -0/+2 |
| | |||||
* | r300/compiler: add new compiler parameter max_constants | Marek Olšák | 2010-09-04 | 2 | -0/+2 |
| | |||||
* | r300g: only check for an empty shader if there are no compile errors | Marek Olšák | 2010-09-04 | 1 | -8/+8 |
| | |||||
* | r300/compiler: add new compiler parameter max_alu_insts | Marek Olšák | 2010-09-04 | 2 | -0/+2 |
| | |||||
* | nvfx: consolidate tiny files | Luca Barbieri | 2010-09-04 | 9 | -134/+94 |
| | | | | | We probably want to reorganize the remaining files too, but that's for later, maybe. | ||||
* | nvfx: fix vp DP2 | Luca Barbieri | 2010-09-04 | 1 | -1/+1 |
| | |||||
* | nvfx: implement fp SSG properly | Luca Barbieri | 2010-09-04 | 1 | -5/+18 |
| | |||||
* | nvfx: don't claim we support preds since the driver doesn't | Luca Barbieri | 2010-09-04 | 1 | -2/+2 |
| | |||||
* | nv40: support all 10 texcoords | Luca Barbieri | 2010-09-04 | 3 | -12/+19 |
| | |||||
* | nvfx: add missing context init | Luca Barbieri | 2010-09-04 | 1 | -0/+3 |
| | |||||
* | nvfx: tidy up state_emit | Luca Barbieri | 2010-09-04 | 1 | -76/+84 |
| | |||||
* | nvfx: support all coord conventions in hardware | Luca Barbieri | 2010-09-04 | 6 | -5/+41 |
| | |||||
* | nvfx: add missing pushbuffer space check | Luca Barbieri | 2010-09-04 | 1 | -0/+2 |
| | |||||
* | nvfx: support all possible vs consts | Luca Barbieri | 2010-09-04 | 1 | -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 up | Luca Barbieri | 2010-09-04 | 2 | -0/+6 |
| | | | | Does any API even use rounding-up? | ||||
* | nvfx: allow nested blitter usage, fixing bug in clear | Luca Barbieri | 2010-09-04 | 3 | -8/+21 |
| | |||||
* | galahad: do map/unmap counting for resources | Brian Paul | 2010-09-03 | 2 | -0/+18 |
| | |||||
* | libgl-xlib: enable galahad support | Brian Paul | 2010-09-03 | 3 | -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 comments | Brian Paul | 2010-09-03 | 1 | -0/+8 |
| | |||||
* | nvfx: implement LIT in fp | Luca Barbieri | 2010-09-03 | 2 | -1/+24 |
| | |||||
* | nvfx: fix division by zero in vp-ignore-input | Luca Barbieri | 2010-09-03 | 1 | -1/+1 |
| |