freedreno: constify fd_vsc_pipe
[mesa.git] / src / gallium / drivers / freedreno / a3xx / fd3_query.c
index cce165c0410bcb0a32116dff72d50f152f98803a..c41eebcc279f11332be16f60db165eda1d035e56 100644 (file)
@@ -1,5 +1,3 @@
-/* -*- mode: C; c-file-style: "k&r"; tab-width 4; indent-tabs-mode: t; -*- */
-
 /*
  * Copyright (C) 2014 Rob Clark <robclark@freedesktop.org>
  *
@@ -131,8 +129,23 @@ static const struct fd_hw_sample_provider occlusion_predicate = {
                .accumulate_result = occlusion_predicate_accumulate_result,
 };
 
+static const struct fd_hw_sample_provider occlusion_predicate_conservative = {
+               .query_type = PIPE_QUERY_OCCLUSION_PREDICATE_CONSERVATIVE,
+               .active = FD_STAGE_DRAW,
+               .get_sample = occlusion_get_sample,
+               .accumulate_result = occlusion_predicate_accumulate_result,
+};
+
 void fd3_query_context_init(struct pipe_context *pctx)
 {
+       struct fd_context *ctx = fd_context(pctx);
+
+       ctx->create_query = fd_hw_create_query;
+       ctx->query_prepare = fd_hw_query_prepare;
+       ctx->query_prepare_tile = fd_hw_query_prepare_tile;
+       ctx->query_set_stage = fd_hw_query_set_stage;
+
        fd_hw_query_register_provider(pctx, &occlusion_counter);
        fd_hw_query_register_provider(pctx, &occlusion_predicate);
+       fd_hw_query_register_provider(pctx, &occlusion_predicate_conservative);
 }