From 64fbf319f1d4103531c0d8aecaa330346a9ecc81 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Wed, 30 Dec 2020 01:59:12 -0300 Subject: [PATCH] host_shaders: Add shaders to present to the swapchain --- src/video_core/host_shaders/CMakeLists.txt | 2 ++ .../host_shaders/vulkan_present.frag | 15 +++++++++++++++ .../host_shaders/vulkan_present.vert | 19 +++++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 src/video_core/host_shaders/vulkan_present.frag create mode 100644 src/video_core/host_shaders/vulkan_present.vert diff --git a/src/video_core/host_shaders/CMakeLists.txt b/src/video_core/host_shaders/CMakeLists.txt index faf298f1c..6084984f9 100644 --- a/src/video_core/host_shaders/CMakeLists.txt +++ b/src/video_core/host_shaders/CMakeLists.txt @@ -8,6 +8,8 @@ set(SHADER_FILES opengl_present.frag opengl_present.vert pitch_unswizzle.comp + vulkan_present.frag + vulkan_present.vert ) find_program(GLSLANGVALIDATOR "glslangValidator" REQUIRED) diff --git a/src/video_core/host_shaders/vulkan_present.frag b/src/video_core/host_shaders/vulkan_present.frag new file mode 100644 index 000000000..0979ff3e6 --- /dev/null +++ b/src/video_core/host_shaders/vulkan_present.frag @@ -0,0 +1,15 @@ +// Copyright 2019 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#version 460 core + +layout (location = 0) in vec2 frag_tex_coord; + +layout (location = 0) out vec4 color; + +layout (binding = 1) uniform sampler2D color_texture; + +void main() { + color = texture(color_texture, frag_tex_coord); +} diff --git a/src/video_core/host_shaders/vulkan_present.vert b/src/video_core/host_shaders/vulkan_present.vert new file mode 100644 index 000000000..00b868958 --- /dev/null +++ b/src/video_core/host_shaders/vulkan_present.vert @@ -0,0 +1,19 @@ +// Copyright 2019 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#version 460 core + +layout (location = 0) in vec2 vert_position; +layout (location = 1) in vec2 vert_tex_coord; + +layout (location = 0) out vec2 frag_tex_coord; + +layout (set = 0, binding = 0) uniform MatrixBlock { + mat4 modelview_matrix; +}; + +void main() { + gl_Position = modelview_matrix * vec4(vert_position, 0.0, 1.0); + frag_tex_coord = vert_tex_coord; +}