summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/galahad/glhd_context.c
diff options
context:
space:
mode:
authorCorbin Simpson <[email protected]>2010-06-22 23:11:01 -0700
committerCorbin Simpson <[email protected]>2010-06-22 23:11:01 -0700
commita6cc91487446f8e1e72e4f67823a359c0b3a41d6 (patch)
treea676a1a8e905699f1cadd3a9c01a19d14379bee8 /src/gallium/drivers/galahad/glhd_context.c
parentaa451d509df844e4652853f08e31bc1ee18c04ac (diff)
glhd: Add query protection.
Not quite copied from r300g. This is slightly more API-compliant.
Diffstat (limited to 'src/gallium/drivers/galahad/glhd_context.c')
-rw-r--r--src/gallium/drivers/galahad/glhd_context.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gallium/drivers/galahad/glhd_context.c b/src/gallium/drivers/galahad/glhd_context.c
index 7a856ef5e1b..5531f579ec2 100644
--- a/src/gallium/drivers/galahad/glhd_context.c
+++ b/src/gallium/drivers/galahad/glhd_context.c
@@ -119,6 +119,16 @@ galahad_create_query(struct pipe_context *_pipe,
struct galahad_context *glhd_pipe = galahad_context(_pipe);
struct pipe_context *pipe = glhd_pipe->pipe;
+ if (query_type == PIPE_QUERY_OCCLUSION_COUNTER &&
+ !pipe->screen->get_param(pipe->screen, PIPE_CAP_OCCLUSION_QUERY)) {
+ glhd_error("Occlusion query requested but not supported");
+ }
+
+ if (query_type == PIPE_QUERY_TIME_ELAPSED &&
+ !pipe->screen->get_param(pipe->screen, PIPE_CAP_TIMER_QUERY)) {
+ glhd_error("Timer query requested but not supported");
+ }
+
return pipe->create_query(pipe,
query_type);
}