yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
24919659
main
1 2layout (input_attachment_index = 1 )SubpassInput < float4 > subpass_f4 : register(t1 ); 3layout (input_attachment_index = 2 )SubpassInput < int4 > subpass_i4 ; 4layout (input_attachment_index = 3 )SubpassInput < uint4 > subpass_u4 ; 5 6layout (input_attachment_index = 4 )SubpassInputMS < float4 > subpass_ms_f4 ; 7layout (input_attachment_index = 5 )SubpassInputMS < int4 > subpass_ms_i4 ; 8layout (input_attachment_index = 6 )SubpassInputMS < uint4 > subpass_ms_u4 ; 9 10layout (input_attachment_index = 1 )SubpassInput < float3 > subpass_f3 ; 11layout (input_attachment_index = 2 )SubpassInput < int3 > subpass_i3 ; 12layout (input_attachment_index = 3 )SubpassInput < uint3 > subpass_u3 ; 13 14layout (input_attachment_index = 4 )SubpassInputMS < float3 > subpass_ms_f3 ; 15layout (input_attachment_index = 5 )SubpassInputMS < int3 > subpass_ms_i3 ; 16layout (input_attachment_index = 6 )SubpassInputMS < uint3 > subpass_ms_u3 ; 17 18layout (input_attachment_index = 1 )SubpassInput < float2 > subpass_f2 ; 19layout (input_attachment_index = 2 )SubpassInput < int2 > subpass_i2 ; 20layout (input_attachment_index = 3 )SubpassInput < uint2 > subpass_u2 ; 21 22layout (input_attachment_index = 4 )SubpassInputMS < float2 > subpass_ms_f2 ; 23layout (input_attachment_index = 5 )SubpassInputMS < int2 > subpass_ms_i2 ; 24layout (input_attachment_index = 6 )SubpassInputMS < uint2 > subpass_ms_u2 ; 25 26layout (input_attachment_index = 1 )SubpassInput < float > subpass_f ; 27layout (input_attachment_index = 2 )SubpassInput < int > subpass_i ; 28layout (input_attachment_index = 3 )SubpassInput < uint > subpass_u ; 29 30layout (input_attachment_index = 4 )SubpassInputMS < float > subpass_ms_f ; 31layout (input_attachment_index = 5 )SubpassInputMS < int > subpass_ms_i ; 32layout (input_attachment_index = 6 )SubpassInputMS < uint > subpass_ms_u ; 33 34[[vk ::input_attachment_index (7 )]]SubpassInput subpass_2 ; 35 36struct mystruct_f_t 37{ 38float c0 ; 39float2 c1 ; 40float c2 ; 41}; 42 43struct mystruct_i_t 44{ 45int c0 ; 46int2 c1 ; 47int c2 ; 48}; 49 50struct mystruct_u_t 51{ 52uint c0 ; 53uint2 c1 ; 54uint c2 ; 55}; 56 57// TODO: ... 58// layout(input_attachment_index = 7) SubpassInput<mystruct_f_t> subpass_fs; 59// layout(input_attachment_index = 8) SubpassInputMS<mystruct_f_t> subpass_ms_fs; 60 61// layout(input_attachment_index = 7) SubpassInput<mystruct_i_t> subpass_is; 62// layout(input_attachment_index = 8) SubpassInputMS<mystruct_i_t> subpass_ms_is; 63 64// layout(input_attachment_index = 7) SubpassInput<mystruct_u_t> subpass_us; 65// layout(input_attachment_index = 8) SubpassInputMS<mystruct_u_t> subpass_ms_us; 66 67float4 main () :SV_Target0 68{ 69float4 result00 = subpass_f4 .SubpassLoad (); 70int4 result01 = subpass_i4 .SubpassLoad (); 71uint4 result02 = subpass_u4 .SubpassLoad (); 72 73float4 result10 = subpass_ms_f4 .SubpassLoad (3 ); 74int4 result11 = subpass_ms_i4 .SubpassLoad (3 ); 75uint4 result12 = subpass_ms_u4 .SubpassLoad (3 ); 76 77float3 result20 = subpass_f3 .SubpassLoad (); 78int3 result21 = subpass_i3 .SubpassLoad (); 79uint3 result22 = subpass_u3 .SubpassLoad (); 80 81float3 result30 = subpass_ms_f3 .SubpassLoad (3 ); 82int3 result31 = subpass_ms_i3 .SubpassLoad (3 ); 83uint3 result32 = subpass_ms_u3 .SubpassLoad (3 ); 84 85float2 result40 = subpass_f2 .SubpassLoad (); 86int2 result41 = subpass_i2 .SubpassLoad (); 87uint2 result42 = subpass_u2 .SubpassLoad (); 88 89float2 result50 = subpass_ms_f2 .SubpassLoad (2 ); 90int2 result51 = subpass_ms_i2 .SubpassLoad (2 ); 91uint2 result52 = subpass_ms_u2 .SubpassLoad (2 ); 92 93float result60 = subpass_f .SubpassLoad (); 94int result61 = subpass_i .SubpassLoad (); 95uint result62 = subpass_u .SubpassLoad (); 96 97float result70 = subpass_ms_f .SubpassLoad (2 ); 98int result71 = subpass_ms_i .SubpassLoad (2 ); 99uint result72 = subpass_ms_u .SubpassLoad (2 ); 100 101float4 result73 = subpass_2 .SubpassLoad (); 102 103// TODO: 104// mystruct_f_t result80 = subpass_fs.SubpassLoad(); 105// mystruct_i_t result81 = subpass_is.SubpassLoad(); 106// mystruct_u_t result82 = subpass_us.SubpassLoad(); 107 108// mystruct_f_t result90 = subpass_ms_sf.SubpassLoad(2); 109// mystruct_i_t result91 = subpass_ms_if.SubpassLoad(2); 110// mystruct_u_t result92 = subpass_ms_uf.SubpassLoad(2); 111 112return 0 ; 113}