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
This commit is contained in:
Squall-Leonhart 2023-10-17 02:38:07 +11:00
parent 07143ce15c
commit 326ebbb2fa
6 changed files with 5 additions and 37 deletions

View file

@ -21,7 +21,6 @@ set(SHADER_FILES
convert_abgr8_to_d24s8.frag
convert_abgr8_to_d32f.frag
convert_d32f_to_abgr8.frag
convert_d32f_to_bgra8.frag
convert_d24s8_to_abgr8.frag
convert_depth_to_float.frag
convert_float_to_depth.frag

View file

@ -1,4 +1,4 @@
// SPDX-FileCopyrightText: Copyright 2023 Your Project
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#version 450
@ -9,10 +9,7 @@ void main() {
ivec2 coord = ivec2(gl_FragCoord.xy);
vec4 color = texelFetch(color_texture, coord, 0).abgr;
uvec4 bytes = uvec4(color * (exp2(8) - 1.0f)) << uvec4(24, 16, 8, 0);
uint depth_unorm = bytes.x | bytes.y | bytes.z | bytes.w;
float value = color.a * (color.r + color.g + color.b) / 3.0f;
float depth_float = uintBitsToFloat(depth_unorm);
gl_FragDepth = depth_float;
gl_FragDepth = value;
}

View file

@ -1,15 +0,0 @@
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#version 450
layout(binding = 0) uniform sampler2D depth_tex;
layout(location = 0) out vec4 color;
void main() {
ivec2 coord = ivec2(gl_FragCoord.xy);
float depth = texelFetch(depth_tex, coord, 0).r;
color = vec4(depth, depth, depth, 1.0);
color = color.bgra; // Swap color channels for BGRA format
}