diff options
author | Marek Olšák <[email protected]> | 2010-05-28 00:04:05 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2010-05-28 03:30:11 +0200 |
commit | 49244df5a87f0e6fbf49c8bba6bd42e2852fe957 (patch) | |
tree | e4bdaba880cc6a8a23e285aba1a51731e2a7326c /src/gallium | |
parent | 6a143b84248d9b32b51238291647c7b8c02ab9b4 (diff) |
r300g/swtcl: avoid an infinite loop if an occl. query doesn't return anything
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/r300/r300_query.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gallium/drivers/r300/r300_query.c b/src/gallium/drivers/r300/r300_query.c index 4ce7114d821..97081c4a00f 100644 --- a/src/gallium/drivers/r300/r300_query.c +++ b/src/gallium/drivers/r300/r300_query.c @@ -146,9 +146,13 @@ static boolean r300_get_query_result(struct pipe_context* pipe, /* Looks like our results aren't ready yet. */ if (wait) { fprintf(stderr, "r300: Despite waiting, OQ results haven't " - "come in yet.\n"); + "come in yet. This is a driver bug.\n" + "r300: Returning bogus results to avoid " + "a possible infinite loop...\n"); + temp = 987654321; + } else { + temp = ~0U; } - temp = ~0U; break; } temp += *map; |