18 if (
vk_access_flags & (VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT)) {
20 return VK_IMAGE_LAYOUT_GENERAL;
23 if (supports_local_read &&
vk_access_flags & (VK_ACCESS_INPUT_ATTACHMENT_READ_BIT |
24 VK_ACCESS_COLOR_ATTACHMENT_READ_BIT |
25 VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT))
27 return VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR;
30 (VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT))
32 return VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL;
37 (VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT))
40 return VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL;
43 return VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL;
46 return VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL;
49 return VK_IMAGE_LAYOUT_UNDEFINED;
65 buffer_access.vk_buffer) :
67 if (writes_to_resource) {
69 {versioned_resource, buffer_access.vk_access_flags, VK_IMAGE_LAYOUT_UNDEFINED});
73 {versioned_resource, buffer_access.vk_access_flags, VK_IMAGE_LAYOUT_UNDEFINED});
80 VkImageLayout image_layout = image_access.to_vk_image_layout(supports_local_read);
84 image_access.vk_image) :
85 resources.
get_image(image_access.vk_image);
86 if (writes_to_resource) {
87 node_links.
outputs.append({versioned_resource,
88 image_access.vk_access_flags,
90 image_access.vk_image_aspect,
91 image_access.subimage});
94 node_links.
inputs.append({versioned_resource,
95 image_access.vk_access_flags,
97 image_access.vk_image_aspect,
98 image_access.subimage});