소스 검색

host_shaders: Add shaders to present to the swapchain

ReinUsesLisp 5 년 전
부모
커밋
64fbf319f1
3개의 변경된 파일36개의 추가작업 그리고 0개의 파일을 삭제
  1. 2 0
      src/video_core/host_shaders/CMakeLists.txt
  2. 15 0
      src/video_core/host_shaders/vulkan_present.frag
  3. 19 0
      src/video_core/host_shaders/vulkan_present.vert

+ 2 - 0
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)

+ 15 - 0
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);
+}

+ 19 - 0
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;
+}