radv: enable NGG XFB queries only if streamout is enabled
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 17 Nov 2022 09:40:01 +0000 (10:40 +0100)
committerEric Engestrom <eric@engestrom.ch>
Wed, 23 Nov 2022 19:12:00 +0000 (19:12 +0000)
Otherwise, it's possible to increase counters if a shader has XFB but
the application paused it.

Cc: 22.3 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19801>
(cherry picked from commit 5b60949155869f15a9f62a329422bb57b168ee7f)

.pick_status.json
src/amd/vulkan/radv_cmd_buffer.c

index 3fa2b1c..27e589d 100644 (file)
         "description": "radv: enable NGG XFB queries only if streamout is enabled",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": null
     },
index f9ff4ef..e399aa7 100644 (file)
@@ -4179,7 +4179,7 @@ radv_flush_ngg_query_state(struct radv_cmd_buffer *cmd_buffer)
    if (cmd_buffer->state.active_prims_gen_gds_queries)
       ngg_query_state |= radv_ngg_query_prim_gen;
 
-   if (cmd_buffer->state.active_prims_xfb_gds_queries) {
+   if (cmd_buffer->state.active_prims_xfb_gds_queries && radv_is_streamout_enabled(cmd_buffer)) {
       ngg_query_state |= radv_ngg_query_prim_xfb | radv_ngg_query_prim_gen;
    }