CmdTransferStorageRegsToGPU transfers memory from CPU to GPU for given storage regions by recording command to given command buffer.
(cmd vk.CommandBuffer, regs []MemReg)
| 498 | // CmdTransferStorageRegsToGPU transfers memory from CPU to GPU for given storage regions |
| 499 | // by recording command to given command buffer. |
| 500 | func (mm *Memory) CmdTransferStorageRegsToGPU(cmd vk.CommandBuffer, regs []MemReg) { |
| 501 | if len(regs) == 0 { |
| 502 | return |
| 503 | } |
| 504 | sort.Slice(regs, func(i, j int) bool { |
| 505 | return regs[i].BuffIndex < regs[j].BuffIndex |
| 506 | }) |
| 507 | buffIndex := regs[0].BuffIndex |
| 508 | buff := mm.StorageBuffs[buffIndex] |
| 509 | mm.CmdTransferStorageBuffRegsToGPU(cmd, buff, buffIndex, regs) |
| 510 | for i := 1; i < len(regs); i++ { |
| 511 | if regs[i].BuffIndex == buffIndex { |
| 512 | continue |
| 513 | } |
| 514 | buffIndex = regs[i].BuffIndex |
| 515 | buff = mm.StorageBuffs[buffIndex] |
| 516 | mm.CmdTransferStorageBuffRegsToGPU(cmd, buff, buffIndex, regs) |
| 517 | } |
| 518 | } |
| 519 | |
| 520 | // CmdTransferStorageBuffRegsToGPU transfers memory from CPU to GPU for given regions |
| 521 | // by recording command to given storage buffer of given index. |
no test coverage detected