| 547 | <p>This sample for new Gallium format (LLVM>=4.0, Mesa>=17.0.0) with two kernels:</p> |
| 548 | <p><code>.gallium |
| 549 | .llvm_version 40000 # set LLVM version 4.0.0 |
| 550 | .driver_version 170000 # set Mesa version 17.0.0 |
| 551 | .gpu CapeVerde |
| 552 | .kernel DCT |
| 553 | .args |
| 554 | .arg global, 8, 8, 8, zext, general |
| 555 | .arg global, 8, 8, 8, zext, general |
| 556 | .arg global, 8, 8, 8, zext, general |
| 557 | .arg local, 4, 4, 4, zext, general |
| 558 | .arg scalar, 4, 4, 4, zext, general |
| 559 | .arg scalar, 4, 4, 4, zext, general |
| 560 | .arg scalar, 4, 4, 4, zext, general |
| 561 | .arg scalar, 4, 4, 4, zext, griddim |
| 562 | .arg scalar, 4, 4, 4, zext, gridoffset |
| 563 | .config |
| 564 | .dims xyz |
| 565 | .tgsize |
| 566 | .kernel DCT2 |
| 567 | .args |
| 568 | .arg global, 8, 8, 8, zext, general |
| 569 | .arg global, 8, 8, 8, zext, general |
| 570 | .arg global, 8, 8, 8, zext, general |
| 571 | .arg local, 4, 4, 4, zext, general |
| 572 | .arg scalar, 4, 4, 4, zext, general |
| 573 | .arg scalar, 4, 4, 4, zext, general |
| 574 | .arg scalar, 4, 4, 4, zext, general |
| 575 | .arg scalar, 4, 4, 4, zext, griddim |
| 576 | .arg scalar, 4, 4, 4, zext, gridoffset |
| 577 | .config |
| 578 | .dims xyz |
| 579 | .tgsize |
| 580 | .text |
| 581 | DCT: |
| 582 | .skip 256 # skip HSA configuration |
| 583 | /*c0030106 */ s_load_dword s6, s[0:1], 0x6 |
| 584 | /*c0038107 */ s_load_dword s7, s[0:1], 0x7 |
| 585 | /* we skip rest of instruction to demonstrate how to write GalliumCompute program */ |
| 586 | /*bf810000 */ s_endpgm |
| 587 | .p2align 8 # important alignment to 256-byte boundary |
| 588 | DCT2: |
| 589 | .skip 256 # skip HSA configuration |
| 590 | /*c0030106 */ s_load_dword s6, s[0:1], 0x6 |
| 591 | /*c0038107 */ s_load_dword s7, s[0:1], 0x7 |
| 592 | /* we skip rest of instruction to demonstrate how to write GalliumCompute program */ |
| 593 | /*bf810000 */ s_endpgm</code></p> |