summaryrefslogtreecommitdiffstats
path: root/src/video_core
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2020-12-30 06:02:07 +0100
committerReinUsesLisp <reinuseslisp@airmail.cc>2020-12-30 06:02:07 +0100
commit87ff58b1d713df6f4c292e56d1af20c0bfb9598f (patch)
treee81f07945ea42dfc511dda88c928397636da40f1 /src/video_core
parenthost_shaders: Add texture color blit fragment shader (diff)
downloadyuzu-87ff58b1d713df6f4c292e56d1af20c0bfb9598f.tar
yuzu-87ff58b1d713df6f4c292e56d1af20c0bfb9598f.tar.gz
yuzu-87ff58b1d713df6f4c292e56d1af20c0bfb9598f.tar.bz2
yuzu-87ff58b1d713df6f4c292e56d1af20c0bfb9598f.tar.lz
yuzu-87ff58b1d713df6f4c292e56d1af20c0bfb9598f.tar.xz
yuzu-87ff58b1d713df6f4c292e56d1af20c0bfb9598f.tar.zst
yuzu-87ff58b1d713df6f4c292e56d1af20c0bfb9598f.zip
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/host_shaders/CMakeLists.txt1
-rw-r--r--src/video_core/host_shaders/vulkan_blit_depth_stencil.frag16
2 files changed, 17 insertions, 0 deletions
diff --git a/src/video_core/host_shaders/CMakeLists.txt b/src/video_core/host_shaders/CMakeLists.txt
index 5b24f9866..7059c2d2a 100644
--- a/src/video_core/host_shaders/CMakeLists.txt
+++ b/src/video_core/host_shaders/CMakeLists.txt
@@ -9,6 +9,7 @@ set(SHADER_FILES
opengl_present.vert
pitch_unswizzle.comp
vulkan_blit_color_float.frag
+ vulkan_blit_depth_stencil.frag
vulkan_present.frag
vulkan_present.vert
)
diff --git a/src/video_core/host_shaders/vulkan_blit_depth_stencil.frag b/src/video_core/host_shaders/vulkan_blit_depth_stencil.frag
new file mode 100644
index 000000000..19bb23a5a
--- /dev/null
+++ b/src/video_core/host_shaders/vulkan_blit_depth_stencil.frag
@@ -0,0 +1,16 @@
+// Copyright 2020 yuzu Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#version 450
+#extension GL_ARB_shader_stencil_export : require
+
+layout(binding = 0) uniform sampler2D depth_tex;
+layout(binding = 1) uniform isampler2D stencil_tex;
+
+layout(location = 0) in vec2 texcoord;
+
+void main() {
+ gl_FragDepth = textureLod(depth_tex, texcoord, 0).r;
+ gl_FragStencilRefARB = textureLod(stencil_tex, texcoord, 0).r;
+}