summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2020-12-30 05:48:44 +0100
committerReinUsesLisp <reinuseslisp@airmail.cc>2020-12-30 05:48:44 +0100
commit82b7daed9cc119d1cb373e73ba3240a2e085f3eb (patch)
treebeaa59b20bc8c35f778d2c1a043de9f8df80b6e0 /src
parenthost_shaders: Add compute shader to copy BC4 as RG32UI to RGBA8 (diff)
downloadyuzu-82b7daed9cc119d1cb373e73ba3240a2e085f3eb.tar
yuzu-82b7daed9cc119d1cb373e73ba3240a2e085f3eb.tar.gz
yuzu-82b7daed9cc119d1cb373e73ba3240a2e085f3eb.tar.bz2
yuzu-82b7daed9cc119d1cb373e73ba3240a2e085f3eb.tar.lz
yuzu-82b7daed9cc119d1cb373e73ba3240a2e085f3eb.tar.xz
yuzu-82b7daed9cc119d1cb373e73ba3240a2e085f3eb.tar.zst
yuzu-82b7daed9cc119d1cb373e73ba3240a2e085f3eb.zip
Diffstat (limited to 'src')
-rw-r--r--src/video_core/host_shaders/CMakeLists.txt2
-rw-r--r--src/video_core/host_shaders/convert_depth_to_float.frag13
-rw-r--r--src/video_core/host_shaders/convert_float_to_depth.frag13
3 files changed, 28 insertions, 0 deletions
diff --git a/src/video_core/host_shaders/CMakeLists.txt b/src/video_core/host_shaders/CMakeLists.txt
index 338bf9eec..faf298f1c 100644
--- a/src/video_core/host_shaders/CMakeLists.txt
+++ b/src/video_core/host_shaders/CMakeLists.txt
@@ -1,6 +1,8 @@
set(SHADER_FILES
block_linear_unswizzle_2d.comp
block_linear_unswizzle_3d.comp
+ convert_depth_to_float.frag
+ convert_float_to_depth.frag
full_screen_triangle.vert
opengl_copy_bc4.comp
opengl_present.frag
diff --git a/src/video_core/host_shaders/convert_depth_to_float.frag b/src/video_core/host_shaders/convert_depth_to_float.frag
new file mode 100644
index 000000000..624c58509
--- /dev/null
+++ b/src/video_core/host_shaders/convert_depth_to_float.frag
@@ -0,0 +1,13 @@
+// Copyright 2020 yuzu Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#version 450
+
+layout(binding = 0) uniform sampler2D depth_texture;
+layout(location = 0) out float output_color;
+
+void main() {
+ ivec2 coord = ivec2(gl_FragCoord.xy);
+ output_color = texelFetch(depth_texture, coord, 0).r;
+}
diff --git a/src/video_core/host_shaders/convert_float_to_depth.frag b/src/video_core/host_shaders/convert_float_to_depth.frag
new file mode 100644
index 000000000..d86c795f4
--- /dev/null
+++ b/src/video_core/host_shaders/convert_float_to_depth.frag
@@ -0,0 +1,13 @@
+// Copyright 2020 yuzu Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#version 450
+
+layout(binding = 0) uniform sampler2D color_texture;
+
+void main() {
+ ivec2 coord = ivec2(gl_FragCoord.xy);
+ float color = texelFetch(color_texture, coord, 0).r;
+ gl_FragDepth = color;
+}