Mesa (master): llvmpipe: disable occlusion queries when requested by state tracker

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Dec 5 20:49:07 UTC 2019


Module: Mesa
Branch: master
Commit: f137672197936c00fae305e53eef12a665bc87ce
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f137672197936c00fae305e53eef12a665bc87ce

Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Dec  2 14:58:56 2019 +1000

llvmpipe: disable occlusion queries when requested by state tracker

Reviewed-by: Roland Scheidegger <sroland at vmware.com>

---

 .gitlab-ci/piglit/quick_gl.txt             | 6 ++----
 src/gallium/drivers/llvmpipe/lp_query.c    | 2 ++
 src/gallium/drivers/llvmpipe/lp_state_fs.c | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/.gitlab-ci/piglit/quick_gl.txt b/.gitlab-ci/piglit/quick_gl.txt
index 0100f409344..95e3cb4366f 100644
--- a/.gitlab-ci/piglit/quick_gl.txt
+++ b/.gitlab-ci/piglit/quick_gl.txt
@@ -521,8 +521,6 @@ spec/arb_indirect_parameters/tf-count-arrays: skip
 spec/arb_indirect_parameters/tf-count-elements: skip
 spec/arb_internalformat_query/minmax: skip
 spec/arb_internalformat_query/misc. api error checks: skip
-spec/arb_occlusion_query/occlusion_query_meta_no_fragments: fail
-spec/arb_occlusion_query/occlusion_query_meta_save: fail
 spec/arb_pipeline_statistics_query/arb_pipeline_statistics_query-comp: skip
 spec/arb_pipeline_statistics_query/arb_pipeline_statistics_query-frag: fail
 spec/arb_pixel_buffer_object/cubemap npot pbo: fail
@@ -2285,8 +2283,8 @@ wgl/wgl-sanity: skip
 summary:
        name:  results
        ----  --------
-       pass:    17782
-       fail:      235
+       pass:    17784
+       fail:      233
       crash:        2
        skip:     2027
     timeout:        0
diff --git a/src/gallium/drivers/llvmpipe/lp_query.c b/src/gallium/drivers/llvmpipe/lp_query.c
index 89e4273bab9..a4217368fce 100644
--- a/src/gallium/drivers/llvmpipe/lp_query.c
+++ b/src/gallium/drivers/llvmpipe/lp_query.c
@@ -485,6 +485,8 @@ llvmpipe_set_active_query_state(struct pipe_context *pipe, bool enable)
    struct llvmpipe_context *llvmpipe = llvmpipe_context(pipe);
 
    llvmpipe->queries_disabled = !enable;
+   /* for OQs we need to regenerate the fragment shader */
+   llvmpipe->dirty |= LP_NEW_OCCLUSION_QUERY;
 }
 
 void llvmpipe_init_query_funcs(struct llvmpipe_context *llvmpipe )
diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c
index 695ccb89682..75971f36bb2 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_fs.c
+++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c
@@ -3348,7 +3348,7 @@ make_variant_key(struct llvmpipe_context *lp,
    /* alpha.ref_value is passed in jit_context */
 
    key->flatshade = lp->rasterizer->flatshade;
-   if (lp->active_occlusion_queries) {
+   if (lp->active_occlusion_queries && !lp->queries_disabled) {
       key->occlusion_count = TRUE;
    }
 




More information about the mesa-commit mailing list