| 255 | } |
| 256 | |
| 257 | bool IsImageLayoutReadOnly(VkImageLayout layout) { |
| 258 | constexpr std::array read_only_layouts = { |
| 259 | VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, |
| 260 | VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, |
| 261 | VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, |
| 262 | VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, |
| 263 | VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, |
| 264 | VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, |
| 265 | VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL, |
| 266 | }; |
| 267 | return std::any_of(read_only_layouts.begin(), read_only_layouts.end(), |
| 268 | [layout](const VkImageLayout read_only_layout) { return layout == read_only_layout; }); |
| 269 | } |
| 270 | |
| 271 | bool IsImageLayoutDepthOnly(VkImageLayout layout) { |
| 272 | constexpr std::array depth_only_layouts = {VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL}; |
no test coverage detected