25 | | <li>if useenqueue enabled, then 10 user data registers will be used. 4-5 user data are kernel |
26 | | setup pointer. 6-7 user data regs are argument's pointer.</li> |
27 | | <li>if useenqueue enabled, then 12 user data registers will be used. 4-5 user data are kernel |
28 | | setup pointer. 6-7 user data regs are argument's pointer.</li> |
| 25 | <li>if useenqueue enabled, then 10 user data registers will be used. 4-5 user data regs |
| 26 | are kernel setup pointer. 6-7 user data regs are argument's pointer.</li> |
| 27 | <li>if useenqueue enabled, then 12 user data registers will be used. 4-5 user data regs |
| 28 | are kernel setup pointer. 8-9 user data regs are argument's pointer.</li> |
| 200 | <h3>Flat access</h3> |
| 201 | <p>By default, FLAT instructions read or write values from main memory. |
| 202 | Generic addressing (usegeneric) allow to access to LDS and scratch buffer by using |
| 203 | FLAT instructions. A following rules gives ability to correctly setting up that mechanism. |
| 204 | Registers S[6-7] holds special buffer that hold a LDS and scratch buffer base addresses for |
| 205 | FLAT instructions. |
| 206 | 10 dword of that buffer holds 32-63 bits of LDS base address for FLAT instructions. |
| 207 | 11 dword of that buffer holds 32-63 bits of scratch buffer base address for |
| 208 | FLAT instructions. |
| 209 | Register S10 holds base scratch buffer offset for FLAT_SCRATCH. Register S11 holds |
| 210 | size of scratch per thread (for FLAT_SCRATCH).</p> |