| 1042 | <h4>IMAGE_LOAD</h4> |
| 1043 | <p>Opcode: 0 (0x0)<br /> |
| 1044 | Syntax: IMAGE_LOAD VDATA(1:4), VADDR(1:4), SRSRC(4,8)<br /> |
| 1045 | Description: Load data from image SRSRC from pixel at address VADDR, and store their data |
| 1046 | to VDATA. Loaded data are converted to format given in image resource.<br /> |
| 1047 | Operation:<br /> |
| 1048 | <code>UINT* V = VMIMG(SRSRC, VADDR) |
| 1049 | VDATA = GET_SAMPLES(CONVERT_FROM_IMAGE(SRSRC, V), DMASK)</code></p> |
| 1050 | <h4>IMAGE_LOAD_MIP</h4> |
| 1051 | <p>Opcode: 1 (0x1)<br /> |
| 1052 | Syntax: IMAGE_LOAD_MIP VDATA(1:4), VADDR(1:4), SRSRC(4,8)<br /> |
| 1053 | Description: Load data from image SRSRC from pixel at address VADDR including MIP index, |
| 1054 | and store their data to VDATA. Loaded data are converted to format given in |
| 1055 | image resource.<br /> |
| 1056 | Operation:<br /> |
| 1057 | <code>UINT* V = VMIMG_MIP(SRSRC, VADDR) |
| 1058 | VDATA = GET_SAMPLES(CONVERT_FROM_IMAGE(SRSRC, V), DMASK)</code></p> |
| 1059 | <h4>IMAGE_LOAD_MIP_PCK</h4> |
| 1060 | <p>Opcode: 4 (0x4)<br /> |
| 1061 | Syntax: IMAGE_LOAD_MIP_PCK VDATA(1:4), VADDR(1:4), SRSRC(4,8)<br /> |
| 1062 | Description: Load data from image SRSRC from pixel at address VADDR including MIP index, |
| 1063 | and store their data to VDATA. Loaded data are raw without any conversion. DMASK controls |
| 1064 | what dwords will be stored to VDATA.<br /> |
| 1065 | Operation:<br /> |
| 1066 | <code>UINT* V = VMIMG_MIP(SRSRC, VADDR) |
| 1067 | VDATA = GET_SAMPLES(V, DMASK)</code></p> |
| 1068 | <h4>IMAGE_LOAD_MIP_PCK_SGN</h4> |
| 1069 | <p>Opcode: 5 (0x5)<br /> |
| 1070 | Syntax: IMAGE_LOAD_MIP_PCK_SGN VDATA(1:4), VADDR(1:4), SRSRC(4,8)<br /> |
| 1071 | Description: Load data from image SRSRC from pixel at address VADDR including MIP index, |
| 1072 | and store their data to VDATA. Loaded data are raw without any conversion, |
| 1073 | but sign extended. DMASK controls what dwords will be stored to VDATA.<br /> |
| 1074 | Operation:<br /> |
| 1075 | <code>UINT* V = VMIMG_MIP(SRSRC, VADDR) |
| 1076 | VDATA = GET_SAMPLES(V, DMASK) |
| 1077 | BYTE COMPBITS = COMPBITS(SRSRC) |
| 1078 | for (BYTE i = 0; i < BIT_CNT(DMASK); i++) |
| 1079 | VDATA[i] = SEXT(VDATA[i], COMPBITS)</code></p> |
| 1080 | <h4>IMAGE_LOAD_PCK</h4> |
| 1081 | <p>Opcode: 2 (0x2)<br /> |
| 1082 | Syntax: IMAGE_LOAD_PCK VDATA(1:4), VADDR(1:4), SRSRC(4,8)<br /> |
| 1083 | Description: Load data from image SRSRC from pixel at address VADDR, and store their data |
| 1084 | to VDATA. Loaded data are raw without any conversion. DMASK controls what dwords |
| 1085 | will be stored to VDATA.<br /> |
| 1086 | Operation:<br /> |
| 1087 | <code>UINT* V = VMIMG(SRSRC, VADDR) |
| 1088 | VDATA = GET_SAMPLES(V, DMASK)</code></p> |
| 1089 | <h4>IMAGE_LOAD_PCK_SGN</h4> |
| 1090 | <p>Opcode: 3 (0x3)<br /> |
| 1091 | Syntax: IMAGE_LOAD_PCK_SGN VDATA(1:4), VADDR(1:4), SRSRC(4,8)<br /> |
| 1092 | Description: Load data from image SRSRC from pixel at address VADDR, and store their data |
| 1093 | to VDATA. Loaded data are raw without any conversion, but sign extended. |
| 1094 | DMASK controls what dwords will be stored to VDATA.<br /> |
| 1095 | Operation:<br /> |
| 1096 | <code>UINT* V = VMIMG(SRSRC, VADDR) |
| 1097 | VDATA = GET_SAMPLES(V, DMASK) |
| 1098 | BYTE COMPBITS = COMPBITS(SRSRC) |
| 1099 | for (BYTE i = 0; i < BIT_CNT(DMASK); i++) |
| 1100 | VDATA[i] = SEXT(VDATA[i], COMPBITS)</code></p> |
| 1101 | <h4>IMAGE_STORE</h4> |
| 1102 | <p>Opcode: 8 (0x8)<br /> |
| 1103 | Syntax: IMAGE_STORE VDATA(1:4), VADDR(1:4), SRSRC(4,8)<br /> |
| 1104 | Description: Store data VDATA into image SRSRC to pixel at address VADDR. Data in VDATA |
| 1105 | is in format given image resource.<br /> |
| 1106 | Operation:<br /> |
| 1107 | <code>UINT* V = VMIMG(SRSRC, VADDR) |
| 1108 | STORE_IMAGE(V, CONVERT_TO_IMAGE(SRSRC, VDATA), DMASK)</code></p> |
| 1109 | <h4>IMAGE_STORE_MIP</h4> |
| 1110 | <p>Opcode: 9 (0x9)<br /> |
| 1111 | Syntax: IMAGE_STORE_MIP VDATA(1:4), VADDR(1:4), SRSRC(4,8)<br /> |
| 1112 | Description: Store data VDATA into image SRSRC to pixel at address VADDR including |
| 1113 | MIP index. Data in VDATA is in format given image resource.<br /> |
| 1114 | Operation:<br /> |
| 1115 | <code>UINT* V = VMIMG_MIP (SRSRC, VADDR) |
| 1116 | STORE_IMAGE(V, CONVERT_TO_IMAGE(SRSRC, VDATA), DMASK)</code></p> |
| 1117 | <h4>IMAGE_STORE_PCK</h4> |
| 1118 | <p>Opcode: 10 (0xa)<br /> |
| 1119 | Syntax: IMAGE_STORE_PCK VDATA(1:4), VADDR(1:4), SRSRC(4,8)<br /> |
| 1120 | Description: Store data VDATA into image SRSRC to pixel at address VADDR. Data in VDATA |
| 1121 | is in raw format.<br /> |
| 1122 | Operation:<br /> |
| 1123 | <code>UINT* V = VMIMG(SRSRC, VADDR) |
| 1124 | STORE_IMAGE(V, VDATA, DMASK)</code></p> |
| 1125 | <h4>IMAGE_STORE_MIP_PCK</h4> |
| 1126 | <p>Opcode: 11 (0xb)<br /> |
| 1127 | Syntax: IMAGE_STORE_MIP_PCK VDATA(1:4), VADDR(1:4), SRSRC(4,8)<br /> |
| 1128 | Description: Store data VDATA into image SRSRC to pixel at address VADDR including |
| 1129 | MIP index. Data in VDATA is in raw format.<br /> |
| 1130 | Operation:<br /> |
| 1131 | <code>UINT* V = VMIMG_MIP(SRSRC, VADDR) |
| 1132 | STORE_IMAGE(V, VDATA, DMASK)</code></p> |