CmdTransferStorageRegsFromGPU transfers memory from GPU to CPU for given storage regions by recording command to given command buffer.
(cmd vk.CommandBuffer, regs []MemReg)
| 536 | // CmdTransferStorageRegsFromGPU transfers memory from GPU to CPU for given storage regions |
| 537 | // by recording command to given command buffer. |
| 538 | func (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. |
no test coverage detected