mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 22:08:26 +02:00
i965: Actually add support for GL_ANY_SAMPLES_PASSED from GL_ARB_oq2.
v2: Fix mangled sentence in the comment, and make the loop exit early.
Fixes assertion failures in Piglit's spec/ARB_occlusion_query2/render
test as well as the game PlaneShift.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (v1)
(cherry picked from commit e755c1a36b)
This commit is contained in:
parent
78222e6363
commit
ebd4883a0c
1 changed files with 12 additions and 0 deletions
|
|
@ -191,6 +191,16 @@ brw_queryobj_get_results(struct gl_context *ctx,
|
|||
}
|
||||
break;
|
||||
|
||||
case GL_ANY_SAMPLES_PASSED:
|
||||
/* Set true if any of the sub-queries passed. */
|
||||
for (i = query->first_index; i <= query->last_index; i++) {
|
||||
if (results[i * 2 + 1] != results[i * 2]) {
|
||||
query->Base.Result = GL_TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case GL_PRIMITIVES_GENERATED:
|
||||
case GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:
|
||||
/* We don't actually query the hardware for this value, so query->bo
|
||||
|
|
@ -247,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);
|
||||
|
|
@ -302,6 +313,7 @@ brw_end_query(struct gl_context *ctx, struct gl_query_object *q)
|
|||
intel_batchbuffer_flush(intel);
|
||||
break;
|
||||
|
||||
case GL_ANY_SAMPLES_PASSED:
|
||||
case GL_SAMPLES_PASSED_ARB:
|
||||
/* Flush the batchbuffer in case it has writes to our query BO.
|
||||
* Have later queries write to a new query BO so that further rendering
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue