Changes between Version 18 and Version 19 of GcnInstrsMimg


Ignore:
Timestamp:
01/19/16 22:00:31 (8 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GcnInstrsMimg

    v18 v19  
    11081108</ul>
    11091109<h3>Instruction set</h3>
     1110<p>NOTE: While discovering and testing, many instructions behaved in unexpected manner on
     1111GCN 1.0 device (mainly non-standard IMAGE_SAMPLE_<em> and IMAGE_GATHER4_</em> instructions).
     1112Hence, no operation's listing to these instructions and only brief descriptions. However,
     1113IMAGE_LOAD_<em>, IMAGE_STORE_</em> and IMAGE_ATOMIC_* has been explained quite good.</p>
    11101114<p>Alphabetically sorted instruction list:</p>
    11111115<h4>IMAGE_ATOMIC_ADD</h4>
     
    14081412VDATA[2] = CONVERT_FROM_IMAGE(SRSRC, VMRT)[COMP]
    14091413VDATA[3] = CONVERT_FROM_IMAGE(SRSRC, VMLT)[COMP]</code></p>
     1414<h4>IMAGE_GATHER4_B</h4>
     1415<p>Opcode: 69 (0x45)<br />
     1416Syntax: IMAGE_GATHER4_B VDATA(4), VADDR(2:5), SRSRC(4,8), SSAMP(4)<br />
     1417Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1418from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm.
     1419The first address register holds the LOD bias value.</p>
     1420<h4>IMAGE_GATHER4_B_O</h4>
     1421<p>Opcode: 85 (0x55)<br />
     1422Syntax: IMAGE_GATHER4_B_O VDATA(4), VADDR(3:6), SRSRC(4,8), SSAMP(4)<br />
     1423Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1424from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm.
     1425The first address register holds the offset for X,Y,Z.
     1426Next address register holds the LOD bias value.</p>
     1427<h4>IMAGE_GATHER4_B_CL</h4>
     1428<p>Opcode: 70 (0x46)<br />
     1429Syntax: IMAGE_GATHER4_B_CL VDATA(4), VADDR(3:6), SRSRC(4,8), SSAMP(4)<br />
     1430Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1431from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm. The first address
     1432register holds the LOD bias value. The last address register holds the clamp value.</p>
     1433<h4>IMAGE_GATHER4_B_CL_O</h4>
     1434<p>Opcode: 86 (0x56)<br />
     1435Syntax: IMAGE_GATHER4_B_CL_O VDATA(4), VADDR(4:7), SRSRC(4,8), SSAMP(4)<br />
     1436Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1437from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm.
     1438The first address register holds the offset for X,Y,Z. Next address
     1439register holds the LOD bias value. The last address register holds the clamp value.</p>
     1440<h4>IMAGE_GATHER4_C</h4>
     1441<p>Opcode: 72 (0x48)<br />
     1442Syntax: IMAGE_GATHER4_C VDATA(4), VADDR(3:6), SRSRC(4,8), SSAMP(4)<br />
     1443Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1444from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm.
     1445The instruction performs Z-compare operation choosen in SSAMP sampler.
     1446The first address register holds the Z-compare value.</p>
     1447<h4>IMAGE_GATHER4_C_O</h4>
     1448<p>Opcode: 88 (0x58)<br />
     1449Syntax: IMAGE_GATHER4_C_O VDATA(4), VADDR(4:7), SRSRC(4,8), SSAMP(4)<br />
     1450Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1451from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm.
     1452The instruction performs Z-compare operation choosen in SSAMP sampler.
     1453The first address register holds the offset for X,Y,Z. Next address register holds
     1454the Z-compare value.</p>
     1455<h4>IMAGE_GATHER4_C_B</h4>
     1456<p>Opcode: 77 (0x4d)<br />
     1457Syntax: IMAGE_GATHER4_C_B VDATA(4), VADDR(3:6), SRSRC(4,8), SSAMP(4)<br />
     1458Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1459from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm. The instruction performs
     1460Z-compare operation choosen in SSAMP sampler. The first address register holds
     1461the LOD bias value. Next address register holds the Z-compare value. </p>
     1462<h4>IMAGE_GATHER4_C_B_O</h4>
     1463<p>Opcode: 93 (0x5d)<br />
     1464Syntax: IMAGE_GATHER4_C_B_O VDATA(4), VADDR(4:7), SRSRC(4,8), SSAMP(4)<br />
     1465Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1466from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm. The instruction performs
     1467Z-compare operation choosen in SSAMP sampler. The first address register holds
     1468the offset for X,Y,Z. Next address register holds the LOD bias value.
     1469Next address register holds the Z-compare value. </p>
     1470<h4>IMAGE_GATHER4_C_B_CL</h4>
     1471<p>Opcode: 78 (0x4e)<br />
     1472Syntax: IMAGE_GATHER4_C_B_CL VDATA(4), VADDR(4:7), SRSRC(4,8), SSAMP(4)<br />
     1473Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1474from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm. The instruction performs
     1475Z-compare operation choosen in SSAMP sampler. The first address register holds
     1476the LOD bias value. Next address register holds the Z-compare value. The last address
     1477register holds the clamp value.</p>
     1478<h4>IMAGE_GATHER4_C_B_CL_O</h4>
     1479<p>Opcode: 94 (0x5e)<br />
     1480Syntax: IMAGE_GATHER4_C_B_CL_O VDATA(4), VADDR(5:8), SRSRC(4,8), SSAMP(4)<br />
     1481Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1482from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm. The instruction performs
     1483Z-compare operation choosen in SSAMP sampler. The first address register holds
     1484the offset for X,Y,Z. Next address register holds the LOD bias value.
     1485Next address register holds the Z-compare value. The last address register holds
     1486the clamp value.</p>
     1487<h4>IMAGE_GATHER4_C_CL</h4>
     1488<p>Opcode: 73 (0x49)<br />
     1489Syntax: IMAGE_GATHER4_C_CL VDATA(4), VADDR(4:7), SRSRC(4,8), SSAMP(4)<br />
     1490Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1491from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm. The instruction
     1492performs Z-compare operation choosen in SSAMP sampler. The first address register
     1493holds the Z-compare value. The last address register holds the clamp value.</p>
     1494<h4>IMAGE_GATHER4_C_CL_O</h4>
     1495<p>Opcode: 89 (0x59)<br />
     1496Syntax: IMAGE_GATHER4_C_CL_O VDATA(4), VADDR(5:8), SRSRC(4,8), SSAMP(4)<br />
     1497Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1498from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm. The instruction
     1499performs Z-compare operation choosen in SSAMP sampler. The first address register holds
     1500the offset for X,Y,Z. Next address register holds the Z-compare value.
     1501The last address register holds the clamp value.</p>
     1502<h4>IMAGE_GATHER4_C_L</h4>
     1503<p>Opcode: 76 (0x4c)<br />
     1504Syntax: IMAGE_GATHER4_C_L VDATA(4), VADDR(3:6), SRSRC(4,8), SSAMP(4)<br />
     1505Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1506from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm. The instruction
     1507performs Z-compare operation choosen in SSAMP sampler. The first address register
     1508holds the Z-compare value. The last address register holds the LOD value.</p>
     1509<h4>IMAGE_GATHER4_C_L_O</h4>
     1510<p>Opcode: 92 (0x5c)<br />
     1511Syntax: IMAGE_GATHER4_C_L_O VDATA(4), VADDR(4:7), SRSRC(4,8), SSAMP(4)<br />
     1512Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1513from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm. The instruction
     1514performs Z-compare operation choosen in SSAMP sampler. The first address register holds
     1515the offset for X,Y,Z. Next address register holds the Z-compare value.
     1516The last address register holds the LOD value.</p>
     1517<h4>IMAGE_GATHER4_C_LZ</h4>
     1518<p>Opcode: 79 (0x4f)<br />
     1519Syntax: IMAGE_GATHER4_C_LZ VDATA(4), VADDR(2:5), SRSRC(4,8), SSAMP(4)<br />
     1520Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1521from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm. The instruction
     1522performs Z-compare operation choosen in SSAMP sampler. The first address register
     1523holds the Z-compare value. Force use of mipmap level 0 (???).</p>
     1524<h4>IMAGE_GATHER4_C_LZ_O</h4>
     1525<p>Opcode: 95 (0x5f)<br />
     1526Syntax: IMAGE_GATHER4_C_LZ VDATA(4), VADDR(3:6), SRSRC(4,8), SSAMP(4)<br />
     1527Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1528from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm. The instruction
     1529performs Z-compare operation choosen in SSAMP sampler. The first address register holds
     1530the offset for X,Y,Z. Next address register holds the Z-compare value.
     1531Force use of mipmap level 0 (???).</p>
     1532<h4>IMAGE_GATHER4_CL</h4>
     1533<p>Opcode: 65 (0x41)<br />
     1534Syntax: IMAGE_GATHER4_CL VDATA(4), VADDR(2:5), SRSRC(4,8), SSAMP(4)<br />
     1535Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1536from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm.
     1537The last address register holds the clamp value.</p>
     1538<h4>IMAGE_GATHER4_CL_O</h4>
     1539<p>Opcode: 81 (0x51)<br />
     1540Syntax: IMAGE_GATHER4_CL_O VDATA(4), VADDR(3:6), SRSRC(4,8), SSAMP(4)<br />
     1541Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1542from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm. The first address register
     1543holds the offset for X,Y,Z. The last address register holds the clamp value.</p>
     1544<h4>IMAGE_GATHER4_L</h4>
     1545<p>Opcode: 68 (0x44)<br />
     1546Syntax: IMAGE_GATHER4_L VDATA(4), VADDR(2:5), SRSRC(4,8), SSAMP(4)<br />
     1547Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1548from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm.
     1549The last address register holds the LOD value.</p>
     1550<h4>IMAGE_GATHER4_L_O</h4>
     1551<p>Opcode: 84 (0x54)<br />
     1552Syntax: IMAGE_GATHER4_L_O VDATA(4), VADDR(3:6), SRSRC(4,8), SSAMP(4)<br />
     1553Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1554from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm. The first address register
     1555holds the offset for X,Y,Z. The last address register holds the LOD value.</p>
     1556<h4>IMAGE_GATHER4_LZ</h4>
     1557<p>Opcode: 71 (0x47)<br />
     1558Syntax: IMAGE_GATHER4_LZ VDATA(4), VADDR(1:4), SRSRC(4,8), SSAMP(4)<br />
     1559Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1560from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm.
     1561Force use of mipmap level 0 (???).</p>
     1562<h4>IMAGE_GATHER4_LZ_O</h4>
     1563<p>Opcode: 87 (0x57)<br />
     1564Syntax: IMAGE_GATHER4_LZ_O VDATA(4), VADDR(2:5), SRSRC(4,8), SSAMP(4)<br />
     1565Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1566from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm. The first address register
     1567holds the offset for X,Y,Z. Force use of mipmap level 0 (???).</p>
     1568<h4>IMAGE_GATHER4_O</h4>
     1569<p>Opcode: 80 (0x50)<br />
     1570Syntax: IMAGE_GATHER4_O VDATA(4), VADDR(2:5), SRSRC(4,8), SSAMP(4)<br />
     1571Description: Get component's value from 4 neighboring pixels, starting from coordinates
     1572from VADDR. Refer to IMAGE_GATHER4 to learn about algorithm.  The first address register
     1573holds the offset for X,Y,Z. </p>
    14101574<h4>IMAGE_LOAD</h4>
    14111575<p>Opcode: 0 (0x0)<br />
     
    15081672Description: Get sampled pixel value from SRSRC image at address VADDR by using
    15091673SSAMP sampler. The instruction performs Z-compare operation choosen in SSAMP sampler.
    1510 The first address register holds the Z-compare value.
    1511 Next address register holds the LOD bias value.</p>
     1674The first register holds the LOD bias value. Next address register holds the
     1675Z-compare value.</p>
    15121676<h4>IMAGE_SAMPLE_C_B_CL</h4>
    15131677<p>Opcode: 46 (0x2e)<br />
     
    15151679Description: Get sampled pixel value from SRSRC image at address VADDR by using
    15161680SSAMP sampler. The instruction performs Z-compare operation choosen in SSAMP sampler.
    1517 The first address register holds the Z-compare value. Next address register holds the
    1518 LOD bias value. The last address register holds the clamp value.</p>
     1681The first register holds the LOD bias value. Next address register holds the
     1682Z-compare value. The last address register holds the clamp value.</p>
    15191683<h4>IMAGE_SAMPLE_C_B_CL_O</h4>
    15201684<p>Opcode: 62 (0x62)<br />
     
    15221686Description: Get sampled pixel value from SRSRC image at address VADDR by using
    15231687SSAMP sampler. The instruction performs Z-compare operation choosen in SSAMP sampler.
    1524 The first address register holds the offset for X,Y,Z.
    1525 Next address register holds the Z-compare value. Next address register holds the
    1526 LOD bias value. The last address register holds the clamp value.</p>
     1688The first address register holds the offset for X,Y,Z. Next address register holds
     1689the LOD bias value. Next address register holds the Z-compare value.
     1690The last address register holds the clamp value.</p>
    15271691<h4>IMAGE_SAMPLE_C_B_O</h4>
    15281692<p>Opcode: 61 (0x3d)<br />
     
    15301694Description: Get sampled pixel value from SRSRC image at address VADDR by using
    15311695SSAMP sampler. The instruction performs Z-compare operation choosen in SSAMP sampler.
    1532 The first address register holds the offset for X,Y,Z. Next address register
    1533 holds the Z-compare value. Next address register holds the LOD bias value.</p>
     1696The first address register holds the offset for X,Y,Z. Next address register holds
     1697the LOD bias value. Next address register holds the Z-compare value. </p>
    15341698<h4>IMAGE_SAMPLE_C_CL</h4>
    15351699<p>Opcode: 41 (0x29)<br />
     
    15651729Description: Get sampled pixel value from SRSRC image at address VADDR by using
    15661730SSAMP sampler. The instruction performs Z-compare operation choosen in SSAMP sampler.
    1567 The first address register holds the offset for X,Y,Z.  Next address register holds
     1731The first address register holds the offset for X,Y,Z. Next address register holds
    15681732the Z-compare value. Next 2-6 address registers holds user derivatives.
    15691733The last address register holds the clamp value.</p>