• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/* NVC0_CP_MACRO_LAUNCH_GRID_INDIRECT
2 *
3 * arg     = num_groups_x
4 * parm[0] = num_groups_y
5 * parm[1] = num_groups_z
6 */
7.section #mme90c0_launch_grid_indirect
8   parm $r2 maddr 0x108e /* GRIDDIM_YX */
9   braz $r1 #fail
10   parm $r3
11   braz annul $r2 #fail
12   braz annul $r3 #fail
13   send (extrinsrt $r1 $r2 0x0 0x10 0x10) /* num_groups_y << 16 | num_groups_x */
14   send $r3
15   maddrsend 0xa7 /* COMPUTE_BEGIN */
16   maddrsend 0x282 /* UNKA08 */
17   maddr 0xda /* LAUNCH */
18   send 0x1000
19   maddrsend 0x281 /* COMPUTE_END */
20   exit maddr 0xd8 /* UNK360 */
21   send 0x1
22fail:
23   exit
24   nop
25