yum-mirror/slang

Making it easier to work with shaders

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

ArielG-NVImplement 8.14-8.19 of OpenGL-GLSL specificationa697b2c67

master
1.0 KiB35 linesraw
1//TEST:SIMPLE(filecheck=CHECK_GLSL): -target glsl -stage fragment -entry main -allow-glsl
2//TEST:SIMPLE(filecheck=CHECK_SPV): -target spirv -emit-spirv-directly -stage fragment -entry main -allow-glsl
3
4#version 450
5
6// CHECK_SPV-DAG: InputAttachmentIndex 0
7// CHECK_SPV-DAG: OpTypeImage %float SubpassData 2 0 0 2 Unknown
8// CHECK_GLSL: subpassInput
9
10layout (input_attachment_index = 0, set = 0, binding = 0) uniform subpassInput subpass;
11
12// CHECK_SPV-DAG: InputAttachmentIndex 1
13// CHECK_SPV-DAG: OpTypeImage %float SubpassData 2 0 1 2 Unknown
14// CHECK_GLSL: subpassInputMS
15layout (input_attachment_index = 1, set = 0, binding = 1) uniform subpassInputMS subpassMS;
16
17layout (location = 0) out vec4 outColor;
18
19void someSideEffect(subpassInput subpassTmp)
20{
21    outColor.xy = subpassLoad(subpassTmp).xy;
22}
23
24void someSideEffectMS(subpassInputMS subpassTmp)
25{
26    outColor.zw = subpassLoad(subpassTmp, 0).zw;
27}
28
29// CHECK_GLSL-DAG: void main(
30// CHECK_SPV-DAG: OpEntryPoint
31
32void main() {
33    someSideEffect(subpass);
34    someSideEffectMS(subpassMS);
35}