CmdTransferStorageBuffRegsFromGPU transfers memory from GPU to CPU for given regions by recording command to given storage buffer of given index.
(cmd vk.CommandBuffer, buff *MemBuff, buffIndex int, regs []MemReg)
| 558 | // CmdTransferStorageBuffRegsFromGPU transfers memory from GPU to CPU for given regions |
| 559 | // by recording command to given storage buffer of given index. |
| 560 | func (mm *Memory) CmdTransferStorageBuffRegsFromGPU(cmd vk.CommandBuffer, buff *MemBuff, buffIndex int, regs []MemReg) { |
| 561 | if buff.Size == 0 || buff.DevMem == vk.NullDeviceMemory || len(regs) == 0 { |
| 562 | return |
| 563 | } |
| 564 | var rg []vk.BufferCopy |
| 565 | for _, mr := range regs { |
| 566 | if mr.BuffIndex != buffIndex { |
| 567 | continue |
| 568 | } |
| 569 | rg = append(rg, vk.BufferCopy{SrcOffset: vk.DeviceSize(mr.Offset), DstOffset: vk.DeviceSize(mr.Offset), Size: vk.DeviceSize(mr.Size)}) |
| 570 | } |
| 571 | vk.CmdCopyBuffer(cmd, buff.Dev, buff.Host, uint32(len(rg)), rg) |
| 572 | } |
| 573 | |
| 574 | //////////////////////////////////////////////////////////////////////////// |
| 575 | // Texture functions |
no outgoing calls
no test coverage detected