search for: query_list

Displaying 2 results from an estimated 2 matches for "query_list".

Did you mean: query_bits
2010 Jan 18
0
[PATCH] nv30-nv40: support unlimited queries (v2)
...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. Fixed indentation and added header for query_list. --- src/gallium/drivers/nv30/nv30_query.c | 26 ++++++++++++++++++-------- src/gallium/drivers/nv30/nv30_screen.c | 2 ++ src/gallium/drivers/nv30/nv30_screen.h | 2 ++ src/gallium/drivers/nv40/nv40_query.c | 26 ++++++++++++++++++-------- src/gallium/drivers/nv40/nv40_screen.c | 2...
2010 Jan 18
2
[PATCH 1/2] nv30-nv40: support unlimited queries
.... */ - if (q->object) { - uint64_t tmp; + if (q->object) pipe->get_query_result(pipe, pq, 1, &tmp); + + while (nouveau_resource_alloc(nv30->screen->query_heap, 1, NULL, &q->object)) + { + struct nv30_query* oldestq; + assert(!LIST_IS_EMPTY(&nv30->screen->query_list)); + oldestq = LIST_ENTRY(struct nv30_query, nv30->screen->query_list.next, list); + pipe->get_query_result(pipe, (struct pipe_query*)oldestq, 1, &tmp); } - if (nouveau_resource_alloc(nv30->screen->query_heap, 1, NULL, &q->object)) - assert(0); + LIST_ADDTAIL(&q...