radv: Do not hash vk_object_base in descriptor set layout.
It contains potentially pointer-y stuff.
Fixes: 178adfa6a8
("radv: use the base object struct types")
Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8809>
This commit is contained in:
parent
e870796113
commit
1eaefe6cfd
|
@ -503,7 +503,13 @@ VkResult radv_CreatePipelineLayout(
|
||||||
}
|
}
|
||||||
dynamic_offset_count += layout->set[set].dynamic_offset_count;
|
dynamic_offset_count += layout->set[set].dynamic_offset_count;
|
||||||
dynamic_shader_stages |= layout->set[set].dynamic_offset_stages;
|
dynamic_shader_stages |= layout->set[set].dynamic_offset_stages;
|
||||||
_mesa_sha1_update(&ctx, set_layout, set_layout->layout_size);
|
|
||||||
|
/* Hash the entire set layout except for the vk_object_base. 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. */
|
||||||
|
_mesa_sha1_update(&ctx,
|
||||||
|
(const char*)set_layout + sizeof(struct vk_object_base),
|
||||||
|
set_layout->layout_size - sizeof(struct vk_object_base));
|
||||||
}
|
}
|
||||||
|
|
||||||
layout->dynamic_offset_count = dynamic_offset_count;
|
layout->dynamic_offset_count = dynamic_offset_count;
|
||||||
|
|
Loading…
Reference in New Issue