r300g: read occlusion query results from both Z pipes on RV530
This commit is contained in:
committed by
Joakim Sindholt
parent
827002f5ff
commit
5241b9568c
@@ -113,7 +113,7 @@ static boolean r300_get_query_result(struct pipe_context* pipe,
|
||||
unsigned flags = PIPE_BUFFER_USAGE_CPU_READ;
|
||||
uint32_t* map;
|
||||
uint32_t temp = 0;
|
||||
unsigned i;
|
||||
unsigned i, num_results;
|
||||
|
||||
if (q->flushed == FALSE)
|
||||
pipe->flush(pipe, 0, NULL);
|
||||
@@ -125,7 +125,13 @@ static boolean r300_get_query_result(struct pipe_context* pipe,
|
||||
if (!map)
|
||||
return FALSE;
|
||||
map += q->offset / 4;
|
||||
for (i = 0; i < r300screen->caps->num_frag_pipes; i++) {
|
||||
|
||||
if (r300screen->caps->family == CHIP_FAMILY_RV530)
|
||||
num_results = r300screen->caps->num_z_pipes;
|
||||
else
|
||||
num_results = r300screen->caps->num_frag_pipes;
|
||||
|
||||
for (i = 0; i < num_results; i++) {
|
||||
if (*map == ~0U) {
|
||||
/* Looks like our results aren't ready yet. */
|
||||
if (wait) {
|
||||
|
||||
Reference in New Issue
Block a user