mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
anv: allow VK_IMAGE_LAYOUT_UNDEFINED as final layout
From VK_KHR_synchronization2:
"Image memory barriers that do not perform an image layout
transition can be specified by setting oldLayout equal to
newLayout.
E.g. the old and new layout can both be set to
VK_IMAGE_LAYOUT_UNDEFINED, without discarding data in the
image."
v2: make assert more readable (Lionel Landwerlin)
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14008>
This commit is contained in:
parent
5c4c8bdc4c
commit
d44d2e823f
1 changed files with 6 additions and 3 deletions
|
|
@ -1160,9 +1160,12 @@ transition_color_buffer(struct anv_cmd_buffer *cmd_buffer,
|
|||
UNUSED const uint32_t image_layers = MAX2(image->vk.array_layers, max_depth);
|
||||
assert((uint64_t)base_layer + layer_count <= image_layers);
|
||||
assert(last_level_num <= image->vk.mip_levels);
|
||||
/* The spec disallows these final layouts. */
|
||||
assert(final_layout != VK_IMAGE_LAYOUT_UNDEFINED &&
|
||||
final_layout != VK_IMAGE_LAYOUT_PREINITIALIZED);
|
||||
/* If there is a layout transfer, the final layout cannot be undefined or
|
||||
* preinitialized (VUID-VkImageMemoryBarrier-newLayout-01198).
|
||||
*/
|
||||
assert(initial_layout == final_layout ||
|
||||
(final_layout != VK_IMAGE_LAYOUT_UNDEFINED &&
|
||||
final_layout != VK_IMAGE_LAYOUT_PREINITIALIZED));
|
||||
const struct isl_drm_modifier_info *isl_mod_info =
|
||||
image->vk.tiling == VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
|
||||
? isl_drm_modifier_get_info(image->vk.drm_format_mod)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue