MCPcopy Create free account
hub / github.com/cogentcore/core / TransferRegsFromGPU

Method TransferRegsFromGPU

vgpu/memory.go:429–446  ·  view source on GitHub ↗

TransferRegsFromGPU transfers memory from GPU to CPU for given regions, using a one-time memory command buffer. All buffs must be of the same type.

(regs []MemReg)

Source from the content-addressed store, hash-verified

427// using a one-time memory command buffer.
428// All buffs must be of the same type.
429func (mm *Memory) TransferRegsFromGPU(regs []MemReg) {
430 if len(regs) == 0 {
431 return
432 }
433 bt := regs[0].BuffType
434 if bt == StorageBuff {
435 mm.TransferStorageRegsFromGPU(regs)
436 return
437 }
438 buff := mm.Buffs[bt]
439 if buff.Size == 0 || buff.DevMem == vk.NullDeviceMemory {
440 return
441 }
442 cmd := mm.CmdPool.NewBuffer(&mm.Device)
443 mm.CmdPool.BeginCmdOneTime()
444 mm.CmdTransferRegsFromGPU(cmd, buff, regs)
445 mm.CmdPool.EndSubmitWaitFree(&mm.Device)
446}
447
448// CmdTransferRegsToGPU transfers memory from CPU to GPU for given regions
449// by recording command to given buffer.

Callers 3

SyncValueNameFromGPUMethod · 0.95
SyncValueIndexFromGPUMethod · 0.95

Calls 5

BeginCmdOneTimeMethod · 0.80
EndSubmitWaitFreeMethod · 0.80
NewBufferMethod · 0.45

Tested by

no test coverage detected