| 304 | } |
| 305 | |
| 306 | void FramePass::addInputTransfer( Attachment const & attachment ) |
| 307 | { |
| 308 | if ( attachment.isImage() ) |
| 309 | { |
| 310 | auto attachName = fpass::adjustName( *this, attachment.view().data->name ) + "/ITrf"; |
| 311 | auto attach = addOwnAttach( attachment.imageAttach.views |
| 312 | , std::move( attachName ) |
| 313 | , Attachment::FlagKind( Attachment::Flag::Input ) |
| 314 | , ImageAttachment::FlagKind( ImageAttachment::Flag::Transfer ) |
| 315 | , AttachmentLoadOp::eDontCare, AttachmentStoreOp::eDontCare |
| 316 | , AttachmentLoadOp::eDontCare, AttachmentStoreOp::eDontCare |
| 317 | , ClearValue{} |
| 318 | , PipelineColorBlendAttachmentState{} |
| 319 | , ImageLayout::eTransferSrc |
| 320 | , & attachment ); |
| 321 | m_inputs.try_emplace( TransferOffset + uint32_t( m_inputs.size() ), attach ); |
| 322 | } |
| 323 | else |
| 324 | { |
| 325 | auto attachName = fpass::adjustName( *this, attachment.buffer().data->name ) + "/ITrf"; |
| 326 | auto attach = addOwnAttach( attachment.bufferAttach.buffers |
| 327 | , std::move( attachName ) |
| 328 | , Attachment::FlagKind( Attachment::Flag::Input ) |
| 329 | , BufferAttachment::FlagKind( BufferAttachment::Flag::Transfer ) |
| 330 | , AccessState{} |
| 331 | , &attachment ); |
| 332 | m_inputs.try_emplace( TransferOffset + uint32_t( m_inputs.size() ), attach ); |
| 333 | } |
| 334 | } |
| 335 | |
| 336 | Attachment const * FramePass::addInOutTransfer( Attachment const & attachment |
| 337 | , Attachment::Flag flag ) |