yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
a697b2c67
master
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}