From c126631fe7eef355629560881ccffc2d98a9eb02 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Thu, 15 Feb 2024 18:09:41 -0800 Subject: [PATCH] radv: fix pipeline stats mask Left-shifting by 11*8 or 14*8 is undefined. This fixes many dEQP-VK.query_pool.statistics_query.* failures (but not pre-existing flakes) for release builds using clang. Fixes: 48aabaf225f ("radv: do not harcode the pipeline stats mask for query resolves") Part-of: (cherry picked from commit ec5d0ffb04fe8643f9e248bf8530aa89c46f3e02) --- .pick_status.json | 2 +- src/amd/vulkan/radv_query.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index a5c5f882397..f7f4d7d6aeb 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2994,7 +2994,7 @@ "description": "radv: fix pipeline stats mask", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "48aabaf225f3ebf0bada2fe820d2c0f6288a3ca5", "notes": null diff --git a/src/amd/vulkan/radv_query.c b/src/amd/vulkan/radv_query.c index 0a215ba761d..df50f969f5e 100644 --- a/src/amd/vulkan/radv_query.c +++ b/src/amd/vulkan/radv_query.c @@ -1155,7 +1155,7 @@ radv_query_shader(struct radv_cmd_buffer *cmd_buffer, VkPipeline *pipeline, stru .range = VK_WHOLE_SIZE}}}); /* Encode the number of elements for easy access by the shader. */ - pipeline_stats_mask &= (1 << radv_get_pipelinestat_query_size(device)) - 1; + pipeline_stats_mask &= (1 << (radv_get_pipelinestat_query_size(device) / 8)) - 1; pipeline_stats_mask |= util_bitcount(pipeline_stats_mask) << 16; avail_offset -= src_offset;