vkd3d-proton/libs/vkd3d/shaders/cs_swapchain_fullscreen.comp

22 lines
629 B
Plaintext

#version 450
layout(local_size_x = 8, local_size_y = 8) in;
layout(set = 1, binding = 0) writeonly uniform image2D FragColor;
layout(set = 0, binding = 0) uniform sampler2D Tex;
layout(push_constant, std430) uniform Registers
{
uvec2 output_resolution;
vec2 coord_scale;
} registers;
void main()
{
if (any(greaterThanEqual(gl_GlobalInvocationID.xy, registers.output_resolution)))
return;
vec2 frag_coord = vec2(gl_GlobalInvocationID.xy) + 0.5;
vec2 tex_coord = frag_coord * registers.coord_scale;
vec4 color = textureLod(Tex, tex_coord, 0.0);
imageStore(FragColor, ivec2(gl_GlobalInvocationID.xy), color);
}