summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>2022-12-09 15:59:52 +0100
committerEric Engestrom <eric@engestrom.ch>2022-12-14 20:47:02 +0000
commit5e0dfcb9c712a468b11b5dcad77aa878c8445ddc (patch)
tree7159e8d80c6020a80b9151fed66958701705e22c
parent57827e69036ae963272c6880729ac990b9ed22af (diff)
downloadmesa-5e0dfcb9c712a468b11b5dcad77aa878c8445ddc.tar.gz
radv: fix hashing descriptor set layout
Shouldn't have pointers. Fixes: 19f8d338761 ("radv: Use vk_descriptor_set_layout") 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/20250> (cherry picked from commit 13f39da71a69026445fc5455d749858aa7ad94dc)
-rw-r--r--.pick_status.json2
-rw-r--r--src/amd/vulkan/radv_descriptor_set.c8
2 files changed, 5 insertions, 5 deletions
diff --git a/.pick_status.json b/.pick_status.json
index 46418079807..f7c68571f61 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -1210,7 +1210,7 @@
"description": "radv: fix hashing descriptor set layout",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": "19f8d338761d124b24eac2d4703dc1346c8b4f9f"
},
diff --git a/src/amd/vulkan/radv_descriptor_set.c b/src/amd/vulkan/radv_descriptor_set.c
index a59c67e4c54..4a5481da8c1 100644
--- a/src/amd/vulkan/radv_descriptor_set.c
+++ b/src/amd/vulkan/radv_descriptor_set.c
@@ -516,11 +516,11 @@ radv_pipeline_layout_hash(struct radv_pipeline_layout *layout)
if (!set_layout)
continue;
- /* Hash the entire set layout except for the vk_object_base and the reference counter. The
- * rest of the set layout is carefully constructed to not have pointers so a full hash instead
- * of a per-field hash should be ok.
+ /* Hash the entire set layout except vk_descriptor_set_layout. The rest of the set layout is
+ * carefully constructed to not have pointers so a full hash instead of a per-field hash
+ * should be ok.
*/
- uint32_t hash_offset = sizeof(struct vk_object_base) + sizeof(uint32_t);
+ uint32_t hash_offset = sizeof(struct vk_descriptor_set_layout);
_mesa_sha1_update(&ctx, (const char *)set_layout + hash_offset,
set_layout->layout_size - hash_offset);
}