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

Function getStageMask

source/RenderGraph/FrameGraphPrerequisites.cpp:669–714  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

667 }
668
669 PipelineStageFlags getStageMask( ImageLayout layout )noexcept
670 {
671 PipelineStageFlags result{ 0u };
672
673 switch ( layout )
674 {
675 case ImageLayout::eUndefined:
676 result |= PipelineStageFlags::eHost;
677 break;
678 case ImageLayout::eGeneral:
679 result |= PipelineStageFlags::eBottomOfPipe;
680 break;
681 case ImageLayout::ePresentSrc:
682 case ImageLayout::eSharedPresent:
683 result |= PipelineStageFlags::eBottomOfPipe;
684 break;
685 case ImageLayout::eDepthStencilReadOnly:
686 case ImageLayout::eDepthReadOnlyStencilAttachment:
687 case ImageLayout::eDepthAttachmentStencilReadOnly:
688 case ImageLayout::eDepthStencilAttachment:
689 result |= PipelineStageFlags::eLateFragmentTests;
690 break;
691 case ImageLayout::eColorAttachment:
692 result |= PipelineStageFlags::eColorAttachmentOutput;
693 break;
694#ifdef VK_EXT_fragment_density_map
695 case ImageLayout::eFragmentDensityMap:
696#endif
697 case ImageLayout::eShaderReadOnly:
698 result |= PipelineStageFlags::eFragmentShader;
699 break;
700 case ImageLayout::eTransferSrc:
701 case ImageLayout::eTransferDst:
702 result |= PipelineStageFlags::eTransfer;
703 break;
704#ifdef VK_NV_shading_rate_image
705 case ImageLayout::eFragmentShadingRateAttachment:
706 result |= PipelineStageFlags::eFragmentShadingRateAttachment;
707 break;
708#endif
709 default:
710 break;
711 }
712
713 return result;
714 }
715
716 ImageAspectFlags getAspectMask( PixelFormat format )noexcept
717 {

Callers 4

makeLayoutStateFunction · 0.85
getPipelineStageFlagsMethod · 0.85
TESTFunction · 0.85

Calls

no outgoing calls

Tested by 1

TESTFunction · 0.68