yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
c45f02579
master
1result code = 0 2standard error = { 3} 4standard output = { 5{ 6 "parameters": [ 7 { 8 "name": "param", 9 "binding": {"kind": "constantBuffer", "index": 1}, 10 "type": { 11 "kind": "parameterBlock", 12 "elementType": { 13 "kind": "struct", 14 "name": "A", 15 "fields": [ 16 { 17 "name": "x", 18 "type": { 19 "kind": "scalar", 20 "scalarType": "float32" 21 }, 22 "binding": {"kind": "uniform", "offset": 0, "size": 4, "elementStride": 0} 23 }, 24 { 25 "name": "y", 26 "type": { 27 "kind": "scalar", 28 "scalarType": "float32" 29 }, 30 "userAttribs": [ 31 { 32 "name": "DefaultValue", 33 "arguments": [ 34 1 35 ] 36 } 37 ], 38 "binding": {"kind": "uniform", "offset": 4, "size": 4, "elementStride": 0} 39 } 40 ], 41 "userAttribs": [ 42 { 43 "name": "MyStruct", 44 "arguments": [ 45 0, 46 1.000000, 47 "A" 48 ] 49 } 50 ] 51 }, 52 "containerVarLayout": { 53 "binding": {"kind": "constantBuffer", "index": 0} 54 }, 55 "elementVarLayout": { 56 "type": { 57 "kind": "struct", 58 "name": "A", 59 "fields": [ 60 { 61 "name": "x", 62 "type": { 63 "kind": "scalar", 64 "scalarType": "float32" 65 }, 66 "binding": {"kind": "uniform", "offset": 0, "size": 4, "elementStride": 0} 67 }, 68 { 69 "name": "y", 70 "type": { 71 "kind": "scalar", 72 "scalarType": "float32" 73 }, 74 "userAttribs": [ 75 { 76 "name": "DefaultValue", 77 "arguments": [ 78 1 79 ] 80 } 81 ], 82 "binding": {"kind": "uniform", "offset": 4, "size": 4, "elementStride": 0} 83 } 84 ], 85 "userAttribs": [ 86 { 87 "name": "MyStruct", 88 "arguments": [ 89 0, 90 1.000000, 91 "A" 92 ] 93 } 94 ] 95 }, 96 "binding": {"kind": "uniform", "offset": 0, "size": 8, "elementStride": 0} 97 } 98 } 99 }, 100 { 101 "name": "param2", 102 "binding": {"kind": "constantBuffer", "index": 2}, 103 "type": { 104 "kind": "parameterBlock", 105 "elementType": { 106 "kind": "struct", 107 "name": "B", 108 "fields": [ 109 { 110 "name": "x", 111 "type": { 112 "kind": "scalar", 113 "scalarType": "float32" 114 }, 115 "binding": {"kind": "uniform", "offset": 0, "size": 4, "elementStride": 0} 116 }, 117 { 118 "name": "z", 119 "type": { 120 "kind": "scalar", 121 "scalarType": "float32" 122 }, 123 "userAttribs": [ 124 { 125 "name": "DefaultValue", 126 "arguments": [ 127 2 128 ] 129 } 130 ], 131 "binding": {"kind": "uniform", "offset": 4, "size": 4, "elementStride": 0} 132 } 133 ], 134 "userAttribs": [ 135 { 136 "name": "MyStruct", 137 "arguments": [ 138 0, 139 2.000000, 140 "\"" 141 ] 142 } 143 ] 144 }, 145 "containerVarLayout": { 146 "binding": {"kind": "constantBuffer", "index": 0} 147 }, 148 "elementVarLayout": { 149 "type": { 150 "kind": "struct", 151 "name": "B", 152 "fields": [ 153 { 154 "name": "x", 155 "type": { 156 "kind": "scalar", 157 "scalarType": "float32" 158 }, 159 "binding": {"kind": "uniform", "offset": 0, "size": 4, "elementStride": 0} 160 }, 161 { 162 "name": "z", 163 "type": { 164 "kind": "scalar", 165 "scalarType": "float32" 166 }, 167 "userAttribs": [ 168 { 169 "name": "DefaultValue", 170 "arguments": [ 171 2 172 ] 173 } 174 ], 175 "binding": {"kind": "uniform", "offset": 4, "size": 4, "elementStride": 0} 176 } 177 ], 178 "userAttribs": [ 179 { 180 "name": "MyStruct", 181 "arguments": [ 182 0, 183 2.000000, 184 "\"" 185 ] 186 } 187 ] 188 }, 189 "binding": {"kind": "uniform", "offset": 0, "size": 8, "elementStride": 0} 190 } 191 } 192 }, 193 { 194 "name": "globalInt", 195 "userAttribs": [ 196 { 197 "name": "DefaultValue", 198 "arguments": [ 199 2 200 ] 201 } 202 ], 203 "binding": {"kind": "uniform", "offset": 0, "size": 4, "elementStride": 0}, 204 "type": { 205 "kind": "scalar", 206 "scalarType": "int32" 207 } 208 }, 209 { 210 "name": "param3", 211 "binding": {"kind": "uniform", "offset": 16, "size": 4, "elementStride": 0}, 212 "type": { 213 "kind": "struct", 214 "name": "D", 215 "fields": [ 216 { 217 "name": "a", 218 "type": { 219 "kind": "scalar", 220 "scalarType": "int32" 221 }, 222 "binding": {"kind": "uniform", "offset": 0, "size": 4, "elementStride": 0} 223 } 224 ], 225 "userAttribs": [ 226 { 227 "name": "StructVarParam", 228 "arguments": [ 229 0 230 ] 231 } 232 ] 233 } 234 }, 235 { 236 "name": "globalInt2", 237 "userAttribs": [ 238 { 239 "name": "StructVarParam", 240 "arguments": [ 241 1 242 ] 243 } 244 ], 245 "binding": {"kind": "uniform", "offset": 20, "size": 4, "elementStride": 0}, 246 "type": { 247 "kind": "scalar", 248 "scalarType": "int32" 249 } 250 } 251 ], 252 "entryPoints": [ 253 { 254 "name": "main", 255 "stage": "compute", 256 "parameters": [ 257 { 258 "name": "dispatchThreadID", 259 "semanticName": "SV_DISPATCHTHREADID", 260 "type": { 261 "kind": "vector", 262 "elementCount": 3, 263 "elementType": { 264 "kind": "scalar", 265 "scalarType": "uint32" 266 } 267 } 268 }, 269 { 270 "name": "a", 271 "userAttribs": [ 272 { 273 "name": "DefaultValue", 274 "arguments": [ 275 3 276 ] 277 } 278 ], 279 "binding": {"kind": "uniform", "offset": 0, "size": 4, "elementStride": 0}, 280 "type": { 281 "kind": "scalar", 282 "scalarType": "float32" 283 } 284 }, 285 { 286 "name": "b", 287 "userAttribs": [ 288 { 289 "name": "StructVarParam", 290 "arguments": [ 291 2 292 ] 293 } 294 ], 295 "binding": {"kind": "uniform", "offset": 4, "size": 4, "elementStride": 0}, 296 "type": { 297 "kind": "scalar", 298 "scalarType": "float32" 299 } 300 } 301 ], 302 "threadGroupSize": [1, 1, 1], 303 "userAttribs": [ 304 { 305 "name": "MyStruct", 306 "arguments": [ 307 2, 308 3.000000, 309 "main" 310 ] 311 }, 312 { 313 "name": "MyStruct", 314 "arguments": [ 315 -2, 316 -3.000000, 317 "" 318 ] 319 } 320 ] 321 } 322 ] 323} 324}