From e3937abbb7fccbcf90fbb21a0ff44f35afb80c6e 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: (cherry picked from commit 330a1db0161612700277b4de9b9772b46159ab18) --- .pick_status.json | 2 +- 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 + 4 files changed, 2 insertions(+), 13 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 454dac6a363..d3666d1e864 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -148,7 +148,7 @@ "description": "virgl: Make query result resource as dirty before requesting result", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "9279a28f07fd65fa94831f7f9fb80b35921f6805" }, 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 5784b1efb60..d47b352f219 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); }