blob: 1f9c7e65c0ede27c460f3b1b909f1c7bbef4fc46 [file]
#version 460
#pragma use_vulkan_memory_model
#extension GL_EXT_nontemporal_keyword: require
// Reading a nontemporal value through a swizzle. The flag is carried on the
// access chain, and pushing the swizzle onto that chain must combine the two
// sets of flags rather than replace them. Both loads below must therefore
// carry the Nontemporal memory operand.
layout(binding=0) buffer nontemporal NONTEMPORAL_BLOCK {
vec4 blk_in;
vec2 blk_out;
};
layout(binding=1) buffer BLOCK_NONTEMPORAL {
nontemporal vec4 mem_in;
vec2 mem_out;
};
void main() {
blk_out = blk_in.xy;
mem_out = mem_in.zw;
}