TransferRegsToGPU transfers memory from CPU to GPU for given regions, using a one-time memory command buffer. All buffs must be of the same type.
(regs []MemReg)
| 405 | // using a one-time memory command buffer. |
| 406 | // All buffs must be of the same type. |
| 407 | func (mm *Memory) TransferRegsToGPU(regs []MemReg) { |
| 408 | if len(regs) == 0 { |
| 409 | return |
| 410 | } |
| 411 | bt := regs[0].BuffType |
| 412 | if bt == StorageBuff { |
| 413 | mm.TransferStorageRegsToGPU(regs) |
| 414 | return |
| 415 | } |
| 416 | buff := mm.Buffs[bt] |
| 417 | if buff.Size == 0 || buff.DevMem == vk.NullDeviceMemory { |
| 418 | return |
| 419 | } |
| 420 | cmd := mm.CmdPool.NewBuffer(&mm.Device) |
| 421 | mm.CmdPool.BeginCmdOneTime() |
| 422 | mm.CmdTransferRegsToGPU(cmd, buff, regs) |
| 423 | mm.CmdPool.EndSubmitWaitFree(&mm.Device) |
| 424 | } |
| 425 | |
| 426 | // TransferRegsFromGPU transfers memory from GPU to CPU for given regions, |
| 427 | // using a one-time memory command buffer. |
no test coverage detected