llvmpipe: disable occlusion queries when requested by state tracker

Reviewed-by: Roland Scheidegger <sroland@vmware.com>
This commit is contained in:
Dave Airlie 2019-12-02 14:58:56 +10:00
parent 3b8e1b3ee4
commit f137672197
3 changed files with 5 additions and 5 deletions

View file

@ -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

View file

@ -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 )

View file

@ -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;
}