CmdTransferRegsToGPU transfers memory from CPU to GPU for given regions by recording command to given buffer.
(cmd vk.CommandBuffer, buff *MemBuff, regs []MemReg)
| 448 | // CmdTransferRegsToGPU transfers memory from CPU to GPU for given regions |
| 449 | // by recording command to given buffer. |
| 450 | func (mm *Memory) CmdTransferRegsToGPU(cmd vk.CommandBuffer, buff *MemBuff, regs []MemReg) { |
| 451 | if buff.Size == 0 || buff.DevMem == vk.NullDeviceMemory || len(regs) == 0 { |
| 452 | return |
| 453 | } |
| 454 | rg := make([]vk.BufferCopy, len(regs)) |
| 455 | for i, mr := range regs { |
| 456 | rg[i] = vk.BufferCopy{SrcOffset: vk.DeviceSize(mr.Offset), DstOffset: vk.DeviceSize(mr.Offset), Size: vk.DeviceSize(mr.Size)} |
| 457 | } |
| 458 | vk.CmdCopyBuffer(cmd, buff.Host, buff.Dev, uint32(len(rg)), rg) |
| 459 | } |
| 460 | |
| 461 | // CmdTransferRegsFromGPU transfers memory from GPU to CPU for given regions |
| 462 | // by recording command to given buffer. |