MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-Samples / getAccessFlags

Function getAccessFlags

framework/common/vk_common.cpp:355–383  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

353
354 return shader_module;
355}
356
357VkAccessFlags getAccessFlags(VkImageLayout layout)
358{
359 switch (layout)
360 {
361 case VK_IMAGE_LAYOUT_UNDEFINED:
362 case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR:
363 return 0;
364 case VK_IMAGE_LAYOUT_PREINITIALIZED:
365 return VK_ACCESS_HOST_WRITE_BIT;
366 case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL:
367 return VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
368 case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL:
369 return VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
370 case VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR:
371 return VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR;
372 case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL:
373 return VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_INPUT_ATTACHMENT_READ_BIT;
374 case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL:
375 return VK_ACCESS_TRANSFER_READ_BIT;
376 case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL:
377 return VK_ACCESS_TRANSFER_WRITE_BIT;
378 case VK_IMAGE_LAYOUT_GENERAL:
379 assert(false &&
380 "Don't know how to get a meaningful VkAccessFlags for VK_IMAGE_LAYOUT_GENERAL! Don't use it!");
381 return 0;
382 default:
383 assert(false);
384 return 0;
385 }
386}

Callers 1

image_layout_transitionFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected