diff --git a/libs/vkd3d/meson.build b/libs/vkd3d/meson.build index 82ac7567..46ad8ee0 100644 --- a/libs/vkd3d/meson.build +++ b/libs/vkd3d/meson.build @@ -17,6 +17,9 @@ vkd3d_shaders =[ 'shaders/gs_fullscreen.geom', 'shaders/vs_fullscreen.vert', 'shaders/vs_fullscreen_layer.vert', + + 'shaders/vs_swapchain_fullscreen.vert', + 'shaders/fs_swapchain_fullscreen.frag', ] vkd3d_src = [ diff --git a/libs/vkd3d/shaders/fs_swapchain_fullscreen.frag b/libs/vkd3d/shaders/fs_swapchain_fullscreen.frag new file mode 100644 index 00000000..7a43cb30 --- /dev/null +++ b/libs/vkd3d/shaders/fs_swapchain_fullscreen.frag @@ -0,0 +1,10 @@ +#version 450 + +layout(location = 0) out vec4 FragColor; +layout(location = 0) in vec2 vUV; +layout(set = 0, binding = 0) uniform sampler2D Tex; + +void main() +{ + FragColor = textureLod(Tex, vUV, 0.0); +} diff --git a/libs/vkd3d/shaders/vs_swapchain_fullscreen.vert b/libs/vkd3d/shaders/vs_swapchain_fullscreen.vert new file mode 100644 index 00000000..9b6995bb --- /dev/null +++ b/libs/vkd3d/shaders/vs_swapchain_fullscreen.vert @@ -0,0 +1,12 @@ +#version 450 + +layout(location = 0) out vec2 vUV; + +void main() +{ + gl_Position = vec4( + float(gl_VertexIndex & 1) * 4.0f - 1.0f, + float(gl_VertexIndex & 2) * 2.0f - 1.0f, + 0.0f, 1.0f); + vUV = gl_Position.xy * 0.5 + 0.5; +} diff --git a/libs/vkd3d/vkd3d_shaders.h b/libs/vkd3d/vkd3d_shaders.h index 4c0a21f4..6b5e2720 100644 --- a/libs/vkd3d/vkd3d_shaders.h +++ b/libs/vkd3d/vkd3d_shaders.h @@ -44,5 +44,7 @@ enum vkd3d_meta_copy_mode #include #include #include +#include +#include #endif /* __VKD3D_SPV_SHADERS_H */