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

Function getPipelineState

source/RenderGraph/FrameGraphPrerequisites.cpp:618–660  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

616 }
617
618 PipelineState getPipelineState( PipelineStageFlags flags )noexcept
619 {
620 AccessFlags result{ 0u };
621
622 if ( checkFlag( flags, PipelineStageFlags::eBottomOfPipe ) )
623 {
624 result |= AccessFlags::eMemoryRead;
625 }
626
627 if ( checkFlag( flags, PipelineStageFlags::eColorAttachmentOutput ) )
628 {
629 result |= AccessFlags::eColorAttachmentWrite | AccessFlags::eColorAttachmentRead;
630 }
631
632 if ( checkFlag( flags, PipelineStageFlags::eLateFragmentTests ) )
633 {
634 result |= AccessFlags::eDepthStencilAttachmentWrite;
635 result |= AccessFlags::eDepthStencilAttachmentRead;
636 }
637
638 if ( checkFlag( flags, PipelineStageFlags::eFragmentShader ) )
639 {
640 result |= AccessFlags::eShaderRead;
641 }
642
643 if ( checkFlag( flags, PipelineStageFlags::eTransfer ) )
644 {
645 result |= AccessFlags::eTransferRead;
646 result |= AccessFlags::eTransferWrite;
647 }
648
649 if ( checkFlag( flags, PipelineStageFlags::eFragmentShadingRateAttachment ) )
650 {
651 result |= AccessFlags::eFragmentShadingRateAttachmentRead;
652 }
653
654 if ( checkFlag( flags, PipelineStageFlags::eComputeShader ) )
655 {
656 result |= AccessFlags::eShaderRead;
657 }
658
659 return { result, flags };
660 }
661
662 LayoutState makeLayoutState( ImageLayout layout )noexcept
663 {

Callers 13

ImageToBufferCopyMethod · 0.85
ImageCopyMethod · 0.85
RenderPassMethod · 0.85
ImageBlitMethod · 0.85
GenerateMipmapsMethod · 0.85
RenderMeshMethod · 0.85
RenderQuadMethod · 0.85
ComputePassMethod · 0.85
BufferToImageCopyMethod · 0.85
BufferCopyMethod · 0.85
TESTFunction · 0.85
DummyRunnableMethod · 0.85

Calls

no outgoing calls

Tested by 1

TESTFunction · 0.68