1// Valid declarations: 2layout(vulkan, input_attachment_index=0, set=0, binding=0) subpassInput subpass1; // valid 3layout(vulkan, set=0, binding=0) uniform ubo { float a; }; // valid 4layout(vulkan, set=0, binding=0) buffer ssbo { float b; }; // valid 5layout(vulkan, rgba32f, set=0, binding=0) readonly texture2D rtexture1; // valid 6layout(vulkan, rgba32f, set=0, binding=0) writeonly texture2D wtexture1; // valid 7layout(vulkan, set=0, binding=0) sampler2D sampler1; // valid 8 9// Invalid declarations: 10layout(vulkan, rgba32f, input_attachment_index=0, 11 set=0, binding=0) subpassInput subpass2; // invalid (has pixformat) 12layout(vulkan, rgba32f, texture=0) readonly texture2D rtexture2; // invalid (no set/binding) 13layout(vulkan, rgba32f, texture=0) writeonly texture2D wtexture2; // invalid (no set/binding) 14layout(vulkan, set=0, binding=0) readonly texture2D rtexture3; // invalid (no pixformat) 15layout(vulkan, set=0, binding=0) writeonly texture2D wtexture3; // invalid (no pixformat) 16layout(vulkan, texture=0, sampler=0) sampler2D sampler2; // invalid 17 18/*%%* 19layout qualifier 'rgba32f' is not permitted here 20layout qualifier 'texture' is not permitted here 21layout qualifier 'texture' is not permitted here 22storage textures must declare a pixel format 23storage textures must declare a pixel format 24layout qualifier 'texture' is not permitted here 25layout qualifier 'sampler' is not permitted here 26*%%*/ 27