MCPcopy Create free account
hub / github.com/DragonJoker/RenderGraph / getAccessMask

Function getAccessMask

source/RenderGraph/FrameGraphPrerequisites.cpp:568–616  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

566 }
567
568 AccessFlags getAccessMask( ImageLayout layout )noexcept
569 {
570 AccessFlags result{ 0u };
571
572 switch ( layout )
573 {
574 case ImageLayout::ePresentSrc:
575 case ImageLayout::eSharedPresent:
576 result |= AccessFlags::eMemoryRead;
577 break;
578 case ImageLayout::eColorAttachment:
579 result |= AccessFlags::eColorAttachmentWrite;
580 break;
581 case ImageLayout::eDepthStencilAttachment:
582 result |= AccessFlags::eDepthStencilAttachmentWrite;
583 break;
584 case ImageLayout::eDepthStencilReadOnly:
585 result |= AccessFlags::eDepthStencilAttachmentRead;
586 break;
587 case ImageLayout::eShaderReadOnly:
588 result |= AccessFlags::eShaderRead;
589 break;
590 case ImageLayout::eTransferSrc:
591 result |= AccessFlags::eTransferRead;
592 break;
593 case ImageLayout::eTransferDst:
594 result |= AccessFlags::eTransferWrite;
595 break;
596 case ImageLayout::eDepthReadOnlyStencilAttachment:
597 case ImageLayout::eDepthAttachmentStencilReadOnly:
598 result |= AccessFlags::eDepthStencilAttachmentRead;
599 result |= AccessFlags::eDepthStencilAttachmentWrite;
600 break;
601#ifdef VK_NV_shading_rate_image
602 case ImageLayout::eFragmentShadingRateAttachment:
603 result |= AccessFlags::eFragmentShadingRateAttachmentRead;
604 break;
605#endif
606#ifdef VK_EXT_fragment_density_map
607 case ImageLayout::eFragmentDensityMap:
608 result |= AccessFlags::eFragmentDensityMapRead;
609 break;
610#endif
611 default:
612 break;
613 }
614
615 return result;
616 }
617
618 PipelineState getPipelineState( PipelineStageFlags flags )noexcept
619 {

Callers 4

makeLayoutStateFunction · 0.85
getAccessMaskMethod · 0.85
TESTFunction · 0.85

Calls

no outgoing calls

Tested by 1

TESTFunction · 0.68