panfrost: Identify MALI_OCCLUSION_PRECISE bit
Setting this is required for desktop-style occlusion queries. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
This commit is contained in:
@@ -69,14 +69,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
|
||||
|
||||
@@ -1105,7 +1105,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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user