On Wed, Feb 13, 2019 at 9:52 PM Alyssa Rosenzweig <aly...@rosenzweig.io> wrote: > > Setting this is required for desktop-style occlusion queries. > > Signed-off-by: Alyssa Rosenzweig <aly...@rosenzweig.io> > --- > src/gallium/drivers/panfrost/include/panfrost-job.h | 10 ++++++---- > src/gallium/drivers/panfrost/pan_context.c | 2 +- > 2 files changed, 7 insertions(+), 5 deletions(-) > > diff --git a/src/gallium/drivers/panfrost/include/panfrost-job.h > b/src/gallium/drivers/panfrost/include/panfrost-job.h > index dbb5486bfa4..41bdb1da2c5 100644 > --- a/src/gallium/drivers/panfrost/include/panfrost-job.h > +++ b/src/gallium/drivers/panfrost/include/panfrost-job.h > @@ -71,14 +71,16 @@ enum mali_draw_mode { > > /* Applies to tiler_gl_enables */ > > -#define MALI_CULL_FACE_BACK 0x80 > -#define MALI_CULL_FACE_FRONT 0x40 > > -#define MALI_FRONT_FACE(v) (v << 5) > +#define MALI_OCCLUSION_QUERY (1 << 3) > +#define MALI_OCCLUSION_PRECISE (1 << 4) > + > +#define MALI_FRONT_FACE(v) (v << 5) > #define MALI_CCW (0) > #define MALI_CW (1) > > -#define MALI_OCCLUSION_BOOLEAN 0x8 > +#define MALI_CULL_FACE_FRONT (1 << 6) > +#define MALI_CULL_FACE_BACK (1 << 7) > > /* TODO: Might this actually be a finer bitfield? */ > #define MALI_DEPTH_STENCIL_ENABLE 0x6400 > diff --git a/src/gallium/drivers/panfrost/pan_context.c > b/src/gallium/drivers/panfrost/pan_context.c > index 565e6541b6c..73e7d4aaa8f 100644 > --- a/src/gallium/drivers/panfrost/pan_context.c > +++ b/src/gallium/drivers/panfrost/pan_context.c > @@ -1031,7 +1031,7 @@ panfrost_emit_for_draw(struct panfrost_context *ctx, > bool with_vertex_data) > } > > if (ctx->occlusion_query) { > - ctx->payload_tiler.gl_enables |= MALI_OCCLUSION_BOOLEAN; > + ctx->payload_tiler.gl_enables |= MALI_OCCLUSION_QUERY | > MALI_OCCLUSION_PRECISE; > ctx->payload_tiler.postfix.occlusion_counter = > ctx->occlusion_query->transfer.gpu;
FYI there's PIPE_QUERY_OCCLUSION_COUNTER, which is the precise thing, and there's PIPE_QUERY_OCCLUSION_PREDICATE, which is the boolean version. Cheers, -ilia _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev