diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-12-30 05:48:44 +0100 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-12-30 05:48:44 +0100 |
commit | 82b7daed9cc119d1cb373e73ba3240a2e085f3eb (patch) | |
tree | beaa59b20bc8c35f778d2c1a043de9f8df80b6e0 /src/video_core/host_shaders | |
parent | host_shaders: Add compute shader to copy BC4 as RG32UI to RGBA8 (diff) | |
download | yuzu-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/video_core/host_shaders')
-rw-r--r-- | src/video_core/host_shaders/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/video_core/host_shaders/convert_depth_to_float.frag | 13 | ||||
-rw-r--r-- | src/video_core/host_shaders/convert_float_to_depth.frag | 13 |
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; +} |