aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan/shaders/blit.vert
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2019-12-16 17:54:41 -0300
committerReinUsesLisp <reinuseslisp@airmail.cc>2019-12-16 17:59:08 -0300
commitb52297767e0a7598348299ad38abe2375571251a (patch)
tree068f30a91cb0fd8f4ac55cfd0fba148a38b72ca9 /src/video_core/renderer_vulkan/shaders/blit.vert
parent65b1b05e056c238a9fd2febc02d24fc0736ab1c6 (diff)
renderer_vulkan/shader: Add helper GLSL shaders
These shaders are used to specify code that is not dynamically generated in the Vulkan backend. Instead of packing it inside the build system, it's manually built and copied to the C++ file to avoid adding unnecessary build time dependencies. quad_array should be dropped in the future since it can be emulated with a memory pool generated from the CPU.
Diffstat (limited to 'src/video_core/renderer_vulkan/shaders/blit.vert')
-rw-r--r--src/video_core/renderer_vulkan/shaders/blit.vert28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/shaders/blit.vert b/src/video_core/renderer_vulkan/shaders/blit.vert
new file mode 100644
index 000000000..c64d9235a
--- /dev/null
+++ b/src/video_core/renderer_vulkan/shaders/blit.vert
@@ -0,0 +1,28 @@
+// Copyright 2019 yuzu Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+/*
+ * Build instructions:
+ * $ glslangValidator -V $THIS_FILE -o output.spv
+ * $ spirv-opt -O --strip-debug output.spv -o optimized.spv
+ * $ xxd -i optimized.spv
+ *
+ * Then copy that bytecode to the C++ file
+ */
+
+#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;
+}