summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeon/r600_query.h
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2015-11-20 12:58:55 +0100
committerNicolai Hähnle <[email protected]>2015-11-20 22:46:11 +0100
commit5bda3d0958967b88e739302a480499d1428a0b2a (patch)
tree6e29fde9faee5131e416ff404f8f0d970049b138 /src/gallium/drivers/radeon/r600_query.h
parent6f4fe8e76ada4cd04f20d37825d7763fcc2b62ae (diff)
radeon: re-prepare query buffers on begin_query for predicate queries
The point of prepare_buffer is to ensure that the query buffer contains valid initial data for conditional rendering: as long as the buffer is initialized correctly, the GPU is able to tell whether query results have been written already (and wait or fall back to unconditional rendering if desired). This means prepare_buffer needs to be called again when a buffer is reused. Conversely, for queries that cannot be used for conditional rendering (notably pipeline statistics), we can re-use buffers immediately, and they do not need to be initialized. Reviewed-by: Marek Olšák <[email protected]> Tested-by: Andy Furniss <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeon/r600_query.h')
-rw-r--r--src/gallium/drivers/radeon/r600_query.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeon/r600_query.h b/src/gallium/drivers/radeon/r600_query.h
index 9bd3b5d5a02..0ea5707ca45 100644
--- a/src/gallium/drivers/radeon/r600_query.h
+++ b/src/gallium/drivers/radeon/r600_query.h
@@ -71,6 +71,7 @@ struct r600_query {
enum {
R600_QUERY_HW_FLAG_NO_START = (1 << 0),
R600_QUERY_HW_FLAG_TIMER = (1 << 1),
+ R600_QUERY_HW_FLAG_PREDICATE = (1 << 2),
};
struct r600_query_hw_ops {