2 layout(input_attachment_index = 1) SubpassInput<float4> subpass_f4 : register(t1);
3 layout(input_attachment_index = 2) SubpassInput<int4> subpass_i4;
4 layout(input_attachment_index = 3) SubpassInput<uint4> subpass_u4;
6 layout(input_attachment_index = 4) SubpassInputMS<float4> subpass_ms_f4;
7 layout(input_attachment_index = 5) SubpassInputMS<int4> subpass_ms_i4;
8 layout(input_attachment_index = 6) SubpassInputMS<uint4> subpass_ms_u4;
10 layout(input_attachment_index = 1) SubpassInput<float3> subpass_f3;
11 layout(input_attachment_index = 2) SubpassInput<int3> subpass_i3;
12 layout(input_attachment_index = 3) SubpassInput<uint3> subpass_u3;
14 layout(input_attachment_index = 4) SubpassInputMS<float3> subpass_ms_f3;
15 layout(input_attachment_index = 5) SubpassInputMS<int3> subpass_ms_i3;
16 layout(input_attachment_index = 6) SubpassInputMS<uint3> subpass_ms_u3;
18 layout(input_attachment_index = 1) SubpassInput<float2> subpass_f2;
19 layout(input_attachment_index = 2) SubpassInput<int2> subpass_i2;
20 layout(input_attachment_index = 3) SubpassInput<uint2> subpass_u2;
22 layout(input_attachment_index = 4) SubpassInputMS<float2> subpass_ms_f2;
23 layout(input_attachment_index = 5) SubpassInputMS<int2> subpass_ms_i2;
24 layout(input_attachment_index = 6) SubpassInputMS<uint2> subpass_ms_u2;
26 layout(input_attachment_index = 1) SubpassInput<float> subpass_f;
27 layout(input_attachment_index = 2) SubpassInput<int> subpass_i;
28 layout(input_attachment_index = 3) SubpassInput<uint> subpass_u;
30 layout(input_attachment_index = 4) SubpassInputMS<float> subpass_ms_f;
31 layout(input_attachment_index = 5) SubpassInputMS<int> subpass_ms_i;
32 layout(input_attachment_index = 6) SubpassInputMS<uint> subpass_ms_u;
34 [[vk::input_attachment_index(7)]] SubpassInput subpass_2;
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;
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;
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;
67 float4 main() : SV_Target0
69 float4 result00 = subpass_f4.SubpassLoad();
70 int4 result01 = subpass_i4.SubpassLoad();
71 uint4 result02 = subpass_u4.SubpassLoad();
73 float4 result10 = subpass_ms_f4.SubpassLoad(3);
74 int4 result11 = subpass_ms_i4.SubpassLoad(3);
75 uint4 result12 = subpass_ms_u4.SubpassLoad(3);
77 float3 result20 = subpass_f3.SubpassLoad();
78 int3 result21 = subpass_i3.SubpassLoad();
79 uint3 result22 = subpass_u3.SubpassLoad();
81 float3 result30 = subpass_ms_f3.SubpassLoad(3);
82 int3 result31 = subpass_ms_i3.SubpassLoad(3);
83 uint3 result32 = subpass_ms_u3.SubpassLoad(3);
85 float2 result40 = subpass_f2.SubpassLoad();
86 int2 result41 = subpass_i2.SubpassLoad();
87 uint2 result42 = subpass_u2.SubpassLoad();
89 float2 result50 = subpass_ms_f2.SubpassLoad(2);
90 int2 result51 = subpass_ms_i2.SubpassLoad(2);
91 uint2 result52 = subpass_ms_u2.SubpassLoad(2);
93 float result60 = subpass_f.SubpassLoad();
94 int result61 = subpass_i.SubpassLoad();
95 uint result62 = subpass_u.SubpassLoad();
97 float result70 = subpass_ms_f.SubpassLoad(2);
98 int result71 = subpass_ms_i.SubpassLoad(2);
99 uint result72 = subpass_ms_u.SubpassLoad(2);
101 float4 result73 = subpass_2.SubpassLoad();
104 // mystruct_f_t result80 = subpass_fs.SubpassLoad();
105 // mystruct_i_t result81 = subpass_is.SubpassLoad();
106 // mystruct_u_t result82 = subpass_us.SubpassLoad();
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);