summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau/nouveau_class.h
Commit message (Collapse)AuthorAgeFilesLines
* nouveau: delete nouveau_class.h, move nv50 regs to nv50_reg.hLuca Barbieri2010-09-051-9049/+0
| | | | | | | 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: pause occlusion queries during blitter usageLuca Barbieri2010-09-051-1/+1
| | | | | Thanks for Dave Airlie and Jerome Glisse for their code which made me realize I need this too.
* nvfx: support rendering to more formatsLuca Barbieri2010-09-041-1/+3
|
* nvfx: support all coord conventions in hardwareLuca Barbieri2010-09-041-0/+10
|
* nvfx: set magic bit to round NPOT mipmap sizes down and not upLuca Barbieri2010-09-041-0/+3
| | | | Does any API even use rounding-up?
* nvfx: support flatshade_firstLuca Barbieri2010-08-211-0/+1
|
* nvfx: rewrite draw code and buffer codeLuca Barbieri2010-08-211-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a full rewrite of the drawing and buffer management logic. It offers a lot of improvements: 1. A copy of buffers is now always kept in system memory. This is necessary to allow software processing of them, which is necessary or improves performance in many cases. 2. Support for pushing vertices on the FIFO, with index lookup if necessary. 3. "Smart" draw code that tries to intelligently choose the cheapest way to draw something: whether to use inline vertices or hardware vertex buffer, and whether to use hardware index buffers 4. Support for all vertex formats supported by the hardware 5. Usage of translate to push vertices, supporting all formats that are sensible to use as vertex formats 6. Support for base vertex 7. Usage of Ben Skeggs' primitive splitter originally for nv50, allowing correct splitting of line loops, triangle fans, etc. 8. Support for instancing 9. Precomputation using the vertex elements CSO Thanks to Ben Skeggs for his primitive splitter originally for nv50. Thanks to Christoph Bumiller for his nv50 push code, that was the basis of this work, even though I changed his code dramatically, in particular to replace his ad-hoc vertex data emitter with translate. The changes could also go into nv50 too, but there are substantial differences due to the additional nv50 hardware features.
* nvfx: refactor sampling code, add support for swizzles and depth texLuca Barbieri2010-08-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | This is a significant refactoring of the sampling code that: - Moves all generic functions in nvfx_fragtex.c - Adds a driver-specific sampler view structure and uses it to precompute texture setup as it should be done - Unifies a bit more of code between nv30 and nv40 - Adds support for sampler view swizzles - Support for specifying as sampler view format different from the resource one (only trivially) - Support for sampler view specification of first and last level - Support for depth textures on nv30, both for reading depth and for compare - Support for sRGB textures - Unifies the format table between nv30 and nv40 - Expands the format table to include essentially all supportable formats except mixed sign and "autonormal" formats - Fixes the "is format supported" logic, which was quite broken, and makes it use the format table Only tested on nv30 currently.
* nvfx: add support for ARB_half_float_vertexLuca Barbieri2010-04-121-0/+1
|
* nouveau: Import latest nouveau_class.h from renouveauBen Skeggs2010-04-091-0/+9024
And fix nv50_screen.c to compile against the updated header.