[Mesa-dev] [PATCH 1/4] i965: Actually add support for GL_ANY_SAMPLES_PASSED from GL_ARB_oq2.
Eric Anholt
eric at anholt.net
Fri Oct 19 11:53:46 PDT 2012
---
src/mesa/drivers/dri/i965/brw_queryobj.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_queryobj.c b/src/mesa/drivers/dri/i965/brw_queryobj.c
index 1aa4974..11f8fcd 100644
--- a/src/mesa/drivers/dri/i965/brw_queryobj.c
+++ b/src/mesa/drivers/dri/i965/brw_queryobj.c
@@ -194,6 +194,13 @@ brw_queryobj_get_results(struct gl_context *ctx,
}
break;
+ case GL_ANY_SAMPLES_PASSED:
+ /* Set true if any Map and count the pixels from the current query BO */
+ for (i = query->first_index; i <= query->last_index; i++) {
+ query->Base.Result |= results[i * 2 + 1] != results[i * 2];
+ }
+ break;
+
case GL_PRIMITIVES_GENERATED:
case GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:
/* We don't actually query the hardware for this value, so query->bo
@@ -250,6 +257,7 @@ brw_begin_query(struct gl_context *ctx, struct gl_query_object *q)
write_timestamp(intel, query->bo, 0);
break;
+ case GL_ANY_SAMPLES_PASSED:
case GL_SAMPLES_PASSED_ARB:
/* Reset our driver's tracking of query state. */
drm_intel_bo_unreference(query->bo);
@@ -304,6 +312,7 @@ brw_end_query(struct gl_context *ctx, struct gl_query_object *q)
write_timestamp(intel, query->bo, 1);
break;
+ case GL_ANY_SAMPLES_PASSED:
case GL_SAMPLES_PASSED_ARB:
if (query->bo) {
brw_emit_query_end(brw);
--
1.7.10.4
More information about the mesa-dev
mailing list