CmdTransferStorageBuffRegsToGPU transfers memory from CPU to GPU for given regions by recording command to given storage buffer of given index.
(cmd vk.CommandBuffer, buff *MemBuff, buffIndex int, regs []MemReg)
| 520 | // CmdTransferStorageBuffRegsToGPU transfers memory from CPU to GPU for given regions |
| 521 | // by recording command to given storage buffer of given index. |
| 522 | func (mm *Memory) CmdTransferStorageBuffRegsToGPU(cmd vk.CommandBuffer, buff *MemBuff, buffIndex int, regs []MemReg) { |
| 523 | if buff.Size == 0 || buff.DevMem == vk.NullDeviceMemory || len(regs) == 0 { |
| 524 | return |
| 525 | } |
| 526 | var rg []vk.BufferCopy |
| 527 | for _, mr := range regs { |
| 528 | if mr.BuffIndex != buffIndex { |
| 529 | continue |
| 530 | } |
| 531 | rg = append(rg, vk.BufferCopy{SrcOffset: vk.DeviceSize(mr.Offset), DstOffset: vk.DeviceSize(mr.Offset), Size: vk.DeviceSize(mr.Size)}) |
| 532 | } |
| 533 | vk.CmdCopyBuffer(cmd, buff.Host, buff.Dev, uint32(len(rg)), rg) |
| 534 | } |
| 535 | |
| 536 | // CmdTransferStorageRegsFromGPU transfers memory from GPU to CPU for given storage regions |
| 537 | // by recording command to given command buffer. |
no outgoing calls
no test coverage detected