Add support for Subpass Input proposal of issue #1069.
Subpass input types are given as:
layout(input_attachment_index = 1) SubpassInput<float4> subpass_f;
layout(input_attachment_index = 2) SubpassInput<int4> subpass_i;
layout(input_attachment_index = 3) SubpassInput<uint4> subpass_u;
layout(input_attachment_index = 1) SubpassInputMS<float4> subpass_ms_f;
layout(input_attachment_index = 2) SubpassInputMS<int4> subpass_ms_i;
layout(input_attachment_index = 3) SubpassInputMS<uint4> subpass_ms_u;
The input attachment may also be specified using attribute syntax:
[[vk::input_attachment_index(7)]] SubpassInput subpass_2;
The template type may be a shorter-than-vec4 vector, but currently user
structs are not supported. (An unimplemented error will be issued).
The load operations are methods on objects of the above type:
float4 result = subpass_f.SubpassLoad();
int4 result = subpass_i.SubpassLoad();
uint4 result = subpass_u.SubpassLoad();
float4 result = subpass_ms_f.SubpassLoad(samp);
int4 result = subpass_ms_i.SubpassLoad(samp);
uint4 result = subpass_ms_u.SubpassLoad(samp);
Additionally, the AST printer could not print EOpSubpass* nodes. Now it can.
Fixes #1069
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| AST.FromFile.cpp | Loading commit data... | |
| BuiltInResource.FromFile.cpp | Loading commit data... | |
| CMakeLists.txt | Loading commit data... | |
| Config.FromFile.cpp | Loading commit data... | |
| HexFloat.cpp | Loading commit data... | |
| Hlsl.FromFile.cpp | Loading commit data... | |
| Initializer.h | Loading commit data... | |
| Link.FromFile.Vk.cpp | Loading commit data... | |
| Link.FromFile.cpp | Loading commit data... | |
| Pp.FromFile.cpp | Loading commit data... | |
| README.md | Loading commit data... | |
| Remap.FromFile.cpp | Loading commit data... | |
| Settings.cpp | Loading commit data... | |
| Settings.h | Loading commit data... | |
| Spv.FromFile.cpp | Loading commit data... | |
| TestFixture.cpp | Loading commit data... | |
| TestFixture.h | Loading commit data... | |
| main.cpp | Loading commit data... |