From 330a1db0161612700277b4de9b9772b46159ab18 Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Tue, 23 May 2023 09:52:13 +0200 Subject: [PATCH] virgl: Make query result resource as dirty before requesting result The query result resource will be written to by the host, so we have to declare it as dirty if we want to see the change. Fixes: 9279a28f0 (virgl: ARB_query_buffer_object support) v2: Update expectations in CI Signed-off-by: Gert Wollny Part-of: --- src/gallium/drivers/virgl/ci/virgl-gl-fails.txt | 6 ------ src/gallium/drivers/virgl/ci/virpipe-gl-fails.txt | 6 ------ src/gallium/drivers/virgl/virgl_query.c | 1 + 3 files changed, 1 insertion(+), 12 deletions(-) diff --git a/src/gallium/drivers/virgl/ci/virgl-gl-fails.txt b/src/gallium/drivers/virgl/ci/virgl-gl-fails.txt index 723badee288..b9ea8467cde 100644 --- a/src/gallium/drivers/virgl/ci/virgl-gl-fails.txt +++ b/src/gallium/drivers/virgl/ci/virgl-gl-fails.txt @@ -40,9 +40,3 @@ dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.36,Fail dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays.22,Fail KHR-GL30.transform_feedback.api_errors_test,Fail -KHR-GL32.transform_feedback_overflow_query_ARB.advanced-single-stream-interleaved-attribs,Fail -KHR-GL32.transform_feedback_overflow_query_ARB.advanced-single-stream-separate-attribs,Fail -KHR-GL32.transform_feedback_overflow_query_ARB.basic-single-stream-interleaved-attribs,Fail -KHR-GL32.transform_feedback_overflow_query_ARB.basic-single-stream-separate-attribs,Fail -KHR-GL32.transform_feedback_overflow_query_ARB.multiple-streams-multiple-buffers-per-stream,Fail -KHR-GL32.transform_feedback_overflow_query_ARB.multiple-streams-one-buffer-per-stream,Fail diff --git a/src/gallium/drivers/virgl/ci/virpipe-gl-fails.txt b/src/gallium/drivers/virgl/ci/virpipe-gl-fails.txt index 6982658fa94..04dc22f64c0 100644 --- a/src/gallium/drivers/virgl/ci/virpipe-gl-fails.txt +++ b/src/gallium/drivers/virgl/ci/virpipe-gl-fails.txt @@ -63,12 +63,6 @@ KHR-Single-GL43.arrays_of_arrays_gl.SubroutineFunctionCalls2,Fail KHR-GL43.shading_language_420pack.binding_images,Fail KHR-GL43.texture_view.view_sampling,Fail -KHR-GL43.transform_feedback_overflow_query_ARB.advanced-single-stream-interleaved-attribs,Fail -KHR-GL43.transform_feedback_overflow_query_ARB.advanced-single-stream-separate-attribs,Fail -KHR-GL43.transform_feedback_overflow_query_ARB.basic-single-stream-interleaved-attribs,Fail -KHR-GL43.transform_feedback_overflow_query_ARB.basic-single-stream-separate-attribs,Fail -KHR-GL43.transform_feedback_overflow_query_ARB.multiple-streams-multiple-buffers-per-stream,Fail -KHR-GL43.transform_feedback_overflow_query_ARB.multiple-streams-one-buffer-per-stream,Fail glx@glx-make-current,Fail glx@glx-multi-window-single-context,Fail diff --git a/src/gallium/drivers/virgl/virgl_query.c b/src/gallium/drivers/virgl/virgl_query.c index 072a8688366..c660cd26ebd 100644 --- a/src/gallium/drivers/virgl/virgl_query.c +++ b/src/gallium/drivers/virgl/virgl_query.c @@ -247,6 +247,7 @@ virgl_get_query_result_resource(struct pipe_context *ctx, struct virgl_query *query = virgl_query(q); struct virgl_resource *qbo = (struct virgl_resource *)resource; + virgl_resource_dirty(qbo, 0); virgl_encode_get_query_result_qbo(vctx, query->handle, qbo, (flags & PIPE_QUERY_WAIT), result_type, offset, index); }