| 545 | } |
| 546 | |
| 547 | func rebuildVkCmdCopyBufferToImage( |
| 548 | ctx context.Context, |
| 549 | cb CommandBuilder, |
| 550 | commandBuffer VkCommandBuffer, |
| 551 | r *api.GlobalState, |
| 552 | s *api.GlobalState, |
| 553 | d VkCmdCopyBufferToImageArgsʳ) (func(), api.Cmd, error) { |
| 554 | if !GetState(s).Buffers().Contains(d.SrcBuffer()) { |
| 555 | return nil, nil, fmt.Errorf("Cannot find Buffer %v", d.SrcBuffer()) |
| 556 | } |
| 557 | if !GetState(s).Images().Contains(d.DstImage()) { |
| 558 | return nil, nil, fmt.Errorf("Cannot find Image %v", d.DstImage()) |
| 559 | } |
| 560 | regionData, regionCount := unpackMap(ctx, s, d.Regions()) |
| 561 | |
| 562 | return func() { |
| 563 | regionData.Free() |
| 564 | }, cb.VkCmdCopyBufferToImage(commandBuffer, |
| 565 | d.SrcBuffer(), |
| 566 | d.DstImage(), |
| 567 | d.Layout(), |
| 568 | regionCount, |
| 569 | regionData.Ptr(), |
| 570 | ).AddRead(regionData.Data()), nil |
| 571 | } |
| 572 | |
| 573 | func rebuildVkCmdCopyImage( |
| 574 | ctx context.Context, |