mirror of https://github.com/xemu-project/xemu.git
33 lines
996 B
GLSL
33 lines
996 B
GLSL
#version 460
|
|
|
|
#pragma use_vulkan_memory_model
|
|
|
|
#extension GL_EXT_nontemporal_keyword: require
|
|
|
|
layout(location=0) in vec2 in_uv;
|
|
|
|
layout(binding=1, rgba8) uniform nontemporal image2D u_nontempimage;
|
|
layout(binding=2, rgba8) uniform image2D u_image;
|
|
layout(binding=3) uniform writeonly nontemporal image2D u_nontempnoformatimage;
|
|
layout(binding=4) uniform writeonly image2D u_noformatimage;
|
|
|
|
void function_accepting_nontemporal(nontemporal writeonly image2D image) {
|
|
|
|
}
|
|
|
|
void function_not_accepting_nontemporal(writeonly image2D image) {
|
|
|
|
}
|
|
|
|
void main() {
|
|
const ivec2 uv = ivec2(in_uv.x, in_uv.y);
|
|
imageStore(u_nontempimage, uv, imageLoad(u_nontempimage, uv));
|
|
imageStore(u_image, uv, imageLoad(u_image, uv));
|
|
|
|
function_accepting_nontemporal(u_nontempnoformatimage);
|
|
function_accepting_nontemporal(u_noformatimage);
|
|
function_not_accepting_nontemporal(u_noformatimage);
|
|
// This would fail to compile
|
|
// function_not_accepting_nontemporal(u_nontempnoformatimage);
|
|
}
|