diff options
| author | 2023-10-17 02:38:07 +1100 | |
|---|---|---|
| committer | 2023-10-17 02:42:40 +1100 | |
| commit | 326ebbb2fa87f7e4006e1434649ba1f48b4bebfa (patch) | |
| tree | 96cf6f308e067b0c4157008ce7a6bca2f7c5bd65 /src/video_core/host_shaders | |
| parent | Make Clang happy. (diff) | |
| download | yuzu-326ebbb2fa87f7e4006e1434649ba1f48b4bebfa.tar.gz yuzu-326ebbb2fa87f7e4006e1434649ba1f48b4bebfa.tar.xz yuzu-326ebbb2fa87f7e4006e1434649ba1f48b4bebfa.zip | |
Changes based on hardware tests
Removes unnecessary d32f to bgra shader and blit functions,
update vk_texture_cache to use abgr shader for d32f to BGRA formats
updates abgr to d32f shader to comply with hardware tests
Diffstat (limited to 'src/video_core/host_shaders')
| -rw-r--r-- | src/video_core/host_shaders/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/video_core/host_shaders/convert_abgr8_to_d32f.frag | 9 | ||||
| -rw-r--r-- | src/video_core/host_shaders/convert_d32f_to_bgra8.frag | 15 |
3 files changed, 3 insertions, 22 deletions
diff --git a/src/video_core/host_shaders/CMakeLists.txt b/src/video_core/host_shaders/CMakeLists.txt index cff8e38d6..cd2549232 100644 --- a/src/video_core/host_shaders/CMakeLists.txt +++ b/src/video_core/host_shaders/CMakeLists.txt | |||
| @@ -21,7 +21,6 @@ set(SHADER_FILES | |||
| 21 | convert_abgr8_to_d24s8.frag | 21 | convert_abgr8_to_d24s8.frag |
| 22 | convert_abgr8_to_d32f.frag | 22 | convert_abgr8_to_d32f.frag |
| 23 | convert_d32f_to_abgr8.frag | 23 | convert_d32f_to_abgr8.frag |
| 24 | convert_d32f_to_bgra8.frag | ||
| 25 | convert_d24s8_to_abgr8.frag | 24 | convert_d24s8_to_abgr8.frag |
| 26 | convert_depth_to_float.frag | 25 | convert_depth_to_float.frag |
| 27 | convert_float_to_depth.frag | 26 | convert_float_to_depth.frag |
diff --git a/src/video_core/host_shaders/convert_abgr8_to_d32f.frag b/src/video_core/host_shaders/convert_abgr8_to_d32f.frag index a1880b916..095b910c2 100644 --- a/src/video_core/host_shaders/convert_abgr8_to_d32f.frag +++ b/src/video_core/host_shaders/convert_abgr8_to_d32f.frag | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | // SPDX-FileCopyrightText: Copyright 2023 Your Project | 1 | // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project |
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | 2 | // SPDX-License-Identifier: GPL-2.0-or-later |
| 3 | 3 | ||
| 4 | #version 450 | 4 | #version 450 |
| @@ -9,10 +9,7 @@ void main() { | |||
| 9 | ivec2 coord = ivec2(gl_FragCoord.xy); | 9 | ivec2 coord = ivec2(gl_FragCoord.xy); |
| 10 | vec4 color = texelFetch(color_texture, coord, 0).abgr; | 10 | vec4 color = texelFetch(color_texture, coord, 0).abgr; |
| 11 | 11 | ||
| 12 | uvec4 bytes = uvec4(color * (exp2(8) - 1.0f)) << uvec4(24, 16, 8, 0); | 12 | float value = color.a * (color.r + color.g + color.b) / 3.0f; |
| 13 | uint depth_unorm = bytes.x | bytes.y | bytes.z | bytes.w; | ||
| 14 | 13 | ||
| 15 | float depth_float = uintBitsToFloat(depth_unorm); | 14 | gl_FragDepth = value; |
| 16 | |||
| 17 | gl_FragDepth = depth_float; | ||
| 18 | } | 15 | } |
diff --git a/src/video_core/host_shaders/convert_d32f_to_bgra8.frag b/src/video_core/host_shaders/convert_d32f_to_bgra8.frag deleted file mode 100644 index 789c3e078..000000000 --- a/src/video_core/host_shaders/convert_d32f_to_bgra8.frag +++ /dev/null | |||
| @@ -1,15 +0,0 @@ | |||
| 1 | // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #version 450 | ||
| 5 | |||
| 6 | layout(binding = 0) uniform sampler2D depth_tex; | ||
| 7 | |||
| 8 | layout(location = 0) out vec4 color; | ||
| 9 | |||
| 10 | void main() { | ||
| 11 | ivec2 coord = ivec2(gl_FragCoord.xy); | ||
| 12 | float depth = texelFetch(depth_tex, coord, 0).r; | ||
| 13 | color = vec4(depth, depth, depth, 1.0); | ||
| 14 | color = color.bgra; // Swap color channels for BGRA format | ||
| 15 | } | ||