summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nvfx/nvfx_query.c
Commit message (Collapse)AuthorAgeFilesLines
* nvfx: completely remove this driver (GeForce FX/6/7)Ben Skeggs2012-04-141-147/+0
| | | | | | | | | | This driver hasn't been maintained properly for a very long time, and for many very good reasons. It's horrible. A new driver supporting these chipsets will appear with the commits that port vieux/nv50/nvc0 to libdrm_nouveau-2.0. Signed-off-by: Ben Skeggs <[email protected]>
* gallium: adapt to get_query_result interface changeMarek Olšák2012-03-301-3/+3
| | | | Reviewed-by: Brian Paul <[email protected]>
* nvfx: restore BEGIN_RING usageXavier Chantry2010-12-251-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Michel Hermier reported libdrm segfault (and kernel crash) on nv40 using gallium : http://www.mail-archive.com/[email protected]/msg06563.html It turns out these were caused by some missing WAIT_RING (or wrong computation of the WAIT_RING sizes). Unlike all other libdrm_nouveau users, nvfx gallium tried to use a mininum calls of WAIT_RING, one WAIT_RING could apply to many methods for different code paths and spread across several functions. This made it too tricky to find out what the missing or wrong WAIT_RING was. By restoring BEGIN_RING, we force one WAIT_RING per method, and it's much easier to check if the free size required in the pushbuffer is correct. As curro said, "let's keep it simple for the maintainers until the big bottlenecks are gone" Benchmarked on nv35 with openarena, nexuiz and ut2004 and no performance regression. The core of this patch was made with Coccinelle, with minor manual fixes made on top. Tested-by: Michel Hermier <[email protected]> Signed-off-by: Francisco Jerez <[email protected]>
* nvfx: switch to rules-ng-ng register headersLuca Barbieri2010-09-051-6/+6
| | | | | | | | | | 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: pause occlusion queries during blitter usageLuca Barbieri2010-09-051-9/+18
| | | | | Thanks for Dave Airlie and Jerome Glisse for their code which made me realize I need this too.
* gallium: adjust the query interface to support custom typesZack Rusin2010-06-081-1/+2
| | | | we need to change it to support composite types
* nvfx: support an unlimited number of occlusion queriesLuca Barbieri2010-04-121-8/+18
| | | | | | | | | | | | | | Currently on nv30/nv40 an assert will be triggered once 32 queries are outstanding. This violates the OpenGL/Gallium interface, which requires support for an unlimited number of fences. This patch fixes the problem by putting queries in a linked list and waiting on the oldest one if allocation fails. nVidia seems to use a similar strategy, but with 1024 instead of 32 fences. The next patch will improve this.
* nv30, nv40: unify nv[34]0_query.cLuca Barbieri2010-03-151-0/+127
The files are identical except formatting.