(self, dev:AMDDevice)
| 394 | return self |
| 395 | |
| 396 | def bind(self, dev:AMDDevice): |
| 397 | self.binded_device = dev |
| 398 | self.hw_page = dev.allocator.alloc(len(self._q) * 4, BufferSpec(cpu_access=True, nolru=True, uncached=True)) |
| 399 | hw_view = self.hw_page.cpu_view().view(fmt='I') |
| 400 | for i, value in enumerate(self._q): hw_view[i] = value |
| 401 | |
| 402 | self.indirect_cmd = [self.pm4.PACKET3(self.pm4.PACKET3_INDIRECT_BUFFER, 2), *data64_le(self.hw_page.va_addr), |
| 403 | len(self._q) | self.pm4.INDIRECT_BUFFER_VALID] |
| 404 | self._q = hw_view |
| 405 | return self |
| 406 | |
| 407 | def _submit(self, dev:AMDDevice): |
| 408 | cmds = self.indirect_cmd if dev == self.binded_device else self._q |
nothing calls this directly
no test coverage detected