From d304c467ba3cdda4ad85a31ca9981cb039e3c1f3 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Sun, 1 Oct 2017 15:29:24 -0400 Subject: [PATCH] freedreno: fix PIPE_QUERY_OCCLUSION_PREDICATE_CONSERVATIVE Fixes an assert in fd_acc_query_register_provider() about query provider not already registered. Fixes: 3f6b3d9d ("gallium: add PIPE_QUERY_OCCLUSION_PREDICATE_CONSERVATIVE") Signed-off-by: Rob Clark --- src/gallium/drivers/freedreno/freedreno_batch.h | 2 +- src/gallium/drivers/freedreno/freedreno_query.h | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/freedreno/freedreno_batch.h b/src/gallium/drivers/freedreno/freedreno_batch.h index d6a818a3b77..41356e3519f 100644 --- a/src/gallium/drivers/freedreno/freedreno_batch.h +++ b/src/gallium/drivers/freedreno/freedreno_batch.h @@ -55,7 +55,7 @@ enum fd_render_stage { FD_STAGE_ALL = 0xff, }; -#define MAX_HW_SAMPLE_PROVIDERS 4 +#define MAX_HW_SAMPLE_PROVIDERS 5 struct fd_hw_sample_provider; struct fd_hw_sample; diff --git a/src/gallium/drivers/freedreno/freedreno_query.h b/src/gallium/drivers/freedreno/freedreno_query.h index b8fa0951ded..a391a7a0ff8 100644 --- a/src/gallium/drivers/freedreno/freedreno_query.h +++ b/src/gallium/drivers/freedreno/freedreno_query.h @@ -85,15 +85,16 @@ int pidx(unsigned query_type) case PIPE_QUERY_OCCLUSION_COUNTER: return 0; case PIPE_QUERY_OCCLUSION_PREDICATE: - case PIPE_QUERY_OCCLUSION_PREDICATE_CONSERVATIVE: return 1; + case PIPE_QUERY_OCCLUSION_PREDICATE_CONSERVATIVE: + return 2; /* TODO currently queries only emitted in main pass (not in binning pass).. * which is fine for occlusion query, but pretty much not anything else. */ case PIPE_QUERY_TIME_ELAPSED: - return 2; - case PIPE_QUERY_TIMESTAMP: return 3; + case PIPE_QUERY_TIMESTAMP: + return 4; default: return -1; }