yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Harsh Aggarwal (NVIDIA)Fix 7441: CUDA boolean vector layout to use 1-byte elements (#7862)bdda8a90c

master
19.2 KiB477 linesraw
1result code = 0
2standard error = {
3}
4standard output = {
5{
6    "parameters": [
7        {
8            "name": "vertexT",
9            "binding": {"kind": "shaderResource", "index": 0},
10            "type": {
11                "kind": "resource",
12                "baseShape": "texture2D",
13                "resultType": {
14                    "kind": "vector",
15                    "elementCount": 4,
16                    "elementType": {
17                        "kind": "scalar",
18                        "scalarType": "float32"
19                    }
20                }
21            }
22        },
23        {
24            "name": "vertexS",
25            "binding": {"kind": "samplerState", "index": 0},
26            "type": {
27                "kind": "samplerState"
28            }
29        },
30        {
31            "name": "vertexC",
32            "binding": {"kind": "constantBuffer", "index": 0},
33            "type": {
34                "kind": "constantBuffer",
35                "elementType": {
36                    "kind": "struct",
37                    "fields": [
38                        {
39                            "name": "vertexCA",
40                            "type": {
41                                "kind": "vector",
42                                "elementCount": 3,
43                                "elementType": {
44                                    "kind": "scalar",
45                                    "scalarType": "float32"
46                                }
47                            },
48                            "binding": {"kind": "uniform", "offset": 0, "size": 12, "elementStride": 4}
49                        },
50                        {
51                            "name": "vertexCB",
52                            "type": {
53                                "kind": "scalar",
54                                "scalarType": "float32"
55                            },
56                            "binding": {"kind": "uniform", "offset": 12, "size": 4, "elementStride": 0}
57                        },
58                        {
59                            "name": "vertexCC",
60                            "type": {
61                                "kind": "vector",
62                                "elementCount": 3,
63                                "elementType": {
64                                    "kind": "scalar",
65                                    "scalarType": "float32"
66                                }
67                            },
68                            "binding": {"kind": "uniform", "offset": 16, "size": 12, "elementStride": 4}
69                        },
70                        {
71                            "name": "vertexCD",
72                            "type": {
73                                "kind": "vector",
74                                "elementCount": 2,
75                                "elementType": {
76                                    "kind": "scalar",
77                                    "scalarType": "float32"
78                                }
79                            },
80                            "binding": {"kind": "uniform", "offset": 32, "size": 8, "elementStride": 4}
81                        }
82                    ]
83                },
84                "containerVarLayout": {
85                    "binding": {"kind": "constantBuffer", "index": 0}
86                },
87                "elementVarLayout": {
88                    "type": {
89                        "kind": "struct",
90                        "fields": [
91                            {
92                                "name": "vertexCA",
93                                "type": {
94                                    "kind": "vector",
95                                    "elementCount": 3,
96                                    "elementType": {
97                                        "kind": "scalar",
98                                        "scalarType": "float32"
99                                    }
100                                },
101                                "binding": {"kind": "uniform", "offset": 0, "size": 12, "elementStride": 4}
102                            },
103                            {
104                                "name": "vertexCB",
105                                "type": {
106                                    "kind": "scalar",
107                                    "scalarType": "float32"
108                                },
109                                "binding": {"kind": "uniform", "offset": 12, "size": 4, "elementStride": 0}
110                            },
111                            {
112                                "name": "vertexCC",
113                                "type": {
114                                    "kind": "vector",
115                                    "elementCount": 3,
116                                    "elementType": {
117                                        "kind": "scalar",
118                                        "scalarType": "float32"
119                                    }
120                                },
121                                "binding": {"kind": "uniform", "offset": 16, "size": 12, "elementStride": 4}
122                            },
123                            {
124                                "name": "vertexCD",
125                                "type": {
126                                    "kind": "vector",
127                                    "elementCount": 2,
128                                    "elementType": {
129                                        "kind": "scalar",
130                                        "scalarType": "float32"
131                                    }
132                                },
133                                "binding": {"kind": "uniform", "offset": 32, "size": 8, "elementStride": 4}
134                            }
135                        ]
136                    },
137                    "binding": {"kind": "uniform", "offset": 0, "size": 40, "elementStride": 0}
138                }
139            }
140        },
141        {
142            "name": "fragmentT",
143            "binding": {"kind": "shaderResource", "index": 1},
144            "type": {
145                "kind": "resource",
146                "baseShape": "texture2D",
147                "resultType": {
148                    "kind": "vector",
149                    "elementCount": 4,
150                    "elementType": {
151                        "kind": "scalar",
152                        "scalarType": "float32"
153                    }
154                }
155            }
156        },
157        {
158            "name": "fragmentS",
159            "binding": {"kind": "samplerState", "index": 1},
160            "type": {
161                "kind": "samplerState"
162            }
163        },
164        {
165            "name": "fragmentC",
166            "binding": {"kind": "constantBuffer", "index": 1},
167            "type": {
168                "kind": "constantBuffer",
169                "elementType": {
170                    "kind": "struct",
171                    "fields": [
172                        {
173                            "name": "fragmentCA",
174                            "type": {
175                                "kind": "vector",
176                                "elementCount": 3,
177                                "elementType": {
178                                    "kind": "scalar",
179                                    "scalarType": "float32"
180                                }
181                            },
182                            "binding": {"kind": "uniform", "offset": 0, "size": 12, "elementStride": 4}
183                        },
184                        {
185                            "name": "fragmentCB",
186                            "type": {
187                                "kind": "scalar",
188                                "scalarType": "float32"
189                            },
190                            "binding": {"kind": "uniform", "offset": 12, "size": 4, "elementStride": 0}
191                        },
192                        {
193                            "name": "fragmentCC",
194                            "type": {
195                                "kind": "vector",
196                                "elementCount": 3,
197                                "elementType": {
198                                    "kind": "scalar",
199                                    "scalarType": "float32"
200                                }
201                            },
202                            "binding": {"kind": "uniform", "offset": 16, "size": 12, "elementStride": 4}
203                        },
204                        {
205                            "name": "fragmentCD",
206                            "type": {
207                                "kind": "vector",
208                                "elementCount": 2,
209                                "elementType": {
210                                    "kind": "scalar",
211                                    "scalarType": "float32"
212                                }
213                            },
214                            "binding": {"kind": "uniform", "offset": 32, "size": 8, "elementStride": 4}
215                        }
216                    ]
217                },
218                "containerVarLayout": {
219                    "binding": {"kind": "constantBuffer", "index": 0}
220                },
221                "elementVarLayout": {
222                    "type": {
223                        "kind": "struct",
224                        "fields": [
225                            {
226                                "name": "fragmentCA",
227                                "type": {
228                                    "kind": "vector",
229                                    "elementCount": 3,
230                                    "elementType": {
231                                        "kind": "scalar",
232                                        "scalarType": "float32"
233                                    }
234                                },
235                                "binding": {"kind": "uniform", "offset": 0, "size": 12, "elementStride": 4}
236                            },
237                            {
238                                "name": "fragmentCB",
239                                "type": {
240                                    "kind": "scalar",
241                                    "scalarType": "float32"
242                                },
243                                "binding": {"kind": "uniform", "offset": 12, "size": 4, "elementStride": 0}
244                            },
245                            {
246                                "name": "fragmentCC",
247                                "type": {
248                                    "kind": "vector",
249                                    "elementCount": 3,
250                                    "elementType": {
251                                        "kind": "scalar",
252                                        "scalarType": "float32"
253                                    }
254                                },
255                                "binding": {"kind": "uniform", "offset": 16, "size": 12, "elementStride": 4}
256                            },
257                            {
258                                "name": "fragmentCD",
259                                "type": {
260                                    "kind": "vector",
261                                    "elementCount": 2,
262                                    "elementType": {
263                                        "kind": "scalar",
264                                        "scalarType": "float32"
265                                    }
266                                },
267                                "binding": {"kind": "uniform", "offset": 32, "size": 8, "elementStride": 4}
268                            }
269                        ]
270                    },
271                    "binding": {"kind": "uniform", "offset": 0, "size": 40, "elementStride": 0}
272                }
273            }
274        },
275        {
276            "name": "sharedT",
277            "binding": {"kind": "shaderResource", "index": 2},
278            "type": {
279                "kind": "resource",
280                "baseShape": "texture2D",
281                "resultType": {
282                    "kind": "vector",
283                    "elementCount": 4,
284                    "elementType": {
285                        "kind": "scalar",
286                        "scalarType": "float32"
287                    }
288                }
289            }
290        },
291        {
292            "name": "sharedS",
293            "binding": {"kind": "samplerState", "index": 2},
294            "type": {
295                "kind": "samplerState"
296            }
297        },
298        {
299            "name": "sharedC",
300            "binding": {"kind": "constantBuffer", "index": 2},
301            "type": {
302                "kind": "constantBuffer",
303                "elementType": {
304                    "kind": "struct",
305                    "fields": [
306                        {
307                            "name": "sharedCA",
308                            "type": {
309                                "kind": "vector",
310                                "elementCount": 3,
311                                "elementType": {
312                                    "kind": "scalar",
313                                    "scalarType": "float32"
314                                }
315                            },
316                            "binding": {"kind": "uniform", "offset": 0, "size": 12, "elementStride": 4}
317                        },
318                        {
319                            "name": "sharedCB",
320                            "type": {
321                                "kind": "scalar",
322                                "scalarType": "float32"
323                            },
324                            "binding": {"kind": "uniform", "offset": 12, "size": 4, "elementStride": 0}
325                        },
326                        {
327                            "name": "sharedCC",
328                            "type": {
329                                "kind": "vector",
330                                "elementCount": 3,
331                                "elementType": {
332                                    "kind": "scalar",
333                                    "scalarType": "float32"
334                                }
335                            },
336                            "binding": {"kind": "uniform", "offset": 16, "size": 12, "elementStride": 4}
337                        },
338                        {
339                            "name": "sharedCD",
340                            "type": {
341                                "kind": "vector",
342                                "elementCount": 2,
343                                "elementType": {
344                                    "kind": "scalar",
345                                    "scalarType": "float32"
346                                }
347                            },
348                            "binding": {"kind": "uniform", "offset": 32, "size": 8, "elementStride": 4}
349                        }
350                    ]
351                },
352                "containerVarLayout": {
353                    "binding": {"kind": "constantBuffer", "index": 0}
354                },
355                "elementVarLayout": {
356                    "type": {
357                        "kind": "struct",
358                        "fields": [
359                            {
360                                "name": "sharedCA",
361                                "type": {
362                                    "kind": "vector",
363                                    "elementCount": 3,
364                                    "elementType": {
365                                        "kind": "scalar",
366                                        "scalarType": "float32"
367                                    }
368                                },
369                                "binding": {"kind": "uniform", "offset": 0, "size": 12, "elementStride": 4}
370                            },
371                            {
372                                "name": "sharedCB",
373                                "type": {
374                                    "kind": "scalar",
375                                    "scalarType": "float32"
376                                },
377                                "binding": {"kind": "uniform", "offset": 12, "size": 4, "elementStride": 0}
378                            },
379                            {
380                                "name": "sharedCC",
381                                "type": {
382                                    "kind": "vector",
383                                    "elementCount": 3,
384                                    "elementType": {
385                                        "kind": "scalar",
386                                        "scalarType": "float32"
387                                    }
388                                },
389                                "binding": {"kind": "uniform", "offset": 16, "size": 12, "elementStride": 4}
390                            },
391                            {
392                                "name": "sharedCD",
393                                "type": {
394                                    "kind": "vector",
395                                    "elementCount": 2,
396                                    "elementType": {
397                                        "kind": "scalar",
398                                        "scalarType": "float32"
399                                    }
400                                },
401                                "binding": {"kind": "uniform", "offset": 32, "size": 8, "elementStride": 4}
402                            }
403                        ]
404                    },
405                    "binding": {"kind": "uniform", "offset": 0, "size": 40, "elementStride": 0}
406                }
407            }
408        },
409        {
410            "name": "sharedTV",
411            "binding": {"kind": "shaderResource", "index": 3},
412            "type": {
413                "kind": "resource",
414                "baseShape": "texture2D",
415                "resultType": {
416                    "kind": "vector",
417                    "elementCount": 4,
418                    "elementType": {
419                        "kind": "scalar",
420                        "scalarType": "float32"
421                    }
422                }
423            }
424        },
425        {
426            "name": "sharedTF",
427            "binding": {"kind": "shaderResource", "index": 4},
428            "type": {
429                "kind": "resource",
430                "baseShape": "texture2D",
431                "resultType": {
432                    "kind": "vector",
433                    "elementCount": 4,
434                    "elementType": {
435                        "kind": "scalar",
436                        "scalarType": "float32"
437                    }
438                }
439            }
440        }
441    ],
442    "entryPoints": [
443        {
444            "name": "mainVS",
445            "stage": "vertex",
446            "result": {
447                "semanticName": "SV_POSITION",
448                "type": {
449                    "kind": "vector",
450                    "elementCount": 4,
451                    "elementType": {
452                        "kind": "scalar",
453                        "scalarType": "float32"
454                    }
455                }
456            }
457        },
458        {
459            "name": "mainFS",
460            "stage": "fragment",
461            "result": {
462                "stage": "fragment",
463                "binding": {"kind": "varyingOutput", "index": 0},
464                "semanticName": "SV_TARGET",
465                "type": {
466                    "kind": "vector",
467                    "elementCount": 4,
468                    "elementType": {
469                        "kind": "scalar",
470                        "scalarType": "float32"
471                    }
472                }
473            }
474        }
475    ]
476}
477}