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:
parent
07143ce15c
commit
326ebbb2fa
6 changed files with 5 additions and 37 deletions
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue