SPIRV-Cross/reference/shaders/vulkan/frag/nonuniform-qualifier.vk.nocompat.frag.vk

75 lines
2.6 KiB
Plaintext
Raw Normal View History

#version 450
#extension GL_EXT_nonuniform_qualifier : require
#extension GL_EXT_samplerless_texture_functions : require
layout(set = 0, binding = 2, std140) uniform UBO
{
vec4 v[64];
} ubos[];
layout(set = 0, binding = 3, std430) buffer SSBO
{
uint counter;
vec4 v[];
} ssbos[];
layout(set = 0, binding = 0) uniform texture2D uSamplers[];
layout(set = 0, binding = 1) uniform sampler uSamps[];
layout(set = 0, binding = 4) uniform sampler2D uCombinedSamplers[];
layout(set = 0, binding = 0) uniform texture2DMS uSamplersMS[];
layout(set = 0, binding = 5, r32f) uniform image2D uImages[];
layout(set = 0, binding = 5, r32ui) uniform uimage2D uImagesU32[];
layout(location = 0) flat in int vIndex;
layout(location = 0) out vec4 FragColor;
layout(location = 1) in vec2 vUV;
void main()
{
int i = vIndex;
FragColor = texture(nonuniformEXT(sampler2D(uSamplers[i + 10], uSamps[i + 40])), vUV);
int _49 = i + 10;
FragColor = texture(uCombinedSamplers[nonuniformEXT(_49)], vUV);
int _65 = i + 20;
int _69 = i + 40;
FragColor += ubos[nonuniformEXT(_65)].v[_69];
int _83 = i + 50;
int _88 = i + 60;
FragColor += ssbos[nonuniformEXT(_83)].v[_88];
int _96 = i + 60;
int _100 = i + 70;
ssbos[nonuniformEXT(_96)].v[_100] = vec4(20.0);
int _106 = i + 10;
FragColor = texelFetch(uSamplers[nonuniformEXT(_106)], ivec2(vUV), 0);
int _116 = i + 100;
uint _122 = atomicAdd(ssbos[_116].counter, 100u);
vec2 queried = textureQueryLod(nonuniformEXT(sampler2D(uSamplers[i + 10], uSamps[i + 40])), vUV);
int _139 = i + 10;
queried += textureQueryLod(uCombinedSamplers[nonuniformEXT(_139)], vUV);
2022-01-05 13:51:36 +00:00
vec4 _147 = FragColor;
vec2 _149 = _147.xy + queried;
FragColor.x = _149.x;
FragColor.y = _149.y;
int _157 = i + 20;
FragColor.x += float(textureQueryLevels(uSamplers[nonuniformEXT(_157)]));
int _172 = i + 20;
FragColor.y += float(textureSamples(uSamplersMS[nonuniformEXT(_172)]));
int _184 = i + 20;
vec4 _189 = FragColor;
vec2 _191 = _189.xy + vec2(textureSize(uSamplers[nonuniformEXT(_184)], 0));
FragColor.x = _191.x;
FragColor.y = _191.y;
int _202 = i + 50;
FragColor += imageLoad(uImages[nonuniformEXT(_202)], ivec2(vUV));
int _213 = i + 20;
vec4 _218 = FragColor;
vec2 _220 = _218.xy + vec2(imageSize(uImages[nonuniformEXT(_213)]));
FragColor.x = _220.x;
FragColor.y = _220.y;
int _227 = i + 60;
imageStore(uImages[nonuniformEXT(_227)], ivec2(vUV), vec4(50.0));
int _240 = i + 70;
uint _248 = imageAtomicAdd(uImagesU32[nonuniformEXT(_240)], ivec2(vUV), 40u);
}