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

Method CmdTransferStorageRegsFromGPU

vgpu/memory.go:538–556  ·  view source on GitHub ↗

CmdTransferStorageRegsFromGPU transfers memory from GPU to CPU for given storage regions by recording command to given command buffer.

(cmd vk.CommandBuffer, regs []MemReg)

Source from the content-addressed store, hash-verified

536// CmdTransferStorageRegsFromGPU transfers memory from GPU to CPU for given storage regions
537// by recording command to given command buffer.
538func (mm *Memory) CmdTransferStorageRegsFromGPU(cmd vk.CommandBuffer, regs []MemReg) {
539 if len(regs) == 0 {
540 return
541 }
542 sort.Slice(regs, func(i, j int) bool {
543 return regs[i].BuffIndex < regs[j].BuffIndex
544 })
545 buffIndex := regs[0].BuffIndex
546 buff := mm.StorageBuffs[buffIndex]
547 mm.CmdTransferStorageBuffRegsFromGPU(cmd, buff, buffIndex, regs)
548 for i := 1; i < len(regs); i++ {
549 if regs[i].BuffIndex == buffIndex {
550 continue
551 }
552 buffIndex = regs[i].BuffIndex
553 buff = mm.StorageBuffs[buffIndex]
554 mm.CmdTransferStorageBuffRegsFromGPU(cmd, buff, buffIndex, regs)
555 }
556}
557
558// CmdTransferStorageBuffRegsFromGPU transfers memory from GPU to CPU for given regions
559// by recording command to given storage buffer of given index.

Callers 2

ComputeCopyFromGPUMethod · 0.80

Calls 2

SliceMethod · 0.80

Tested by

no test coverage detected