mirror of https://github.com/yuzu-mirror/yuzu
Merge pull request #7396 from FernandoS27/blit-this-mf
TextureCache: Eliminate format deduction as full depth conversion has been supported.pull/8/head
commit
3031223153
@ -1,19 +0,0 @@
|
|||||||
// Copyright 2021 yuzu Emulator Project
|
|
||||||
// Licensed under GPLv2 or any later version
|
|
||||||
// Refer to the license.txt file included.
|
|
||||||
|
|
||||||
#version 450
|
|
||||||
#extension GL_ARB_shader_stencil_export : require
|
|
||||||
|
|
||||||
layout(binding = 0) uniform sampler2D color_texture;
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
ivec2 coord = ivec2(gl_FragCoord.xy);
|
|
||||||
vec4 color = texelFetch(color_texture, coord, 0).rgba;
|
|
||||||
uint depth_stencil_unorm = (uint(color.b * (exp2(10) - 1.0f)) << 22)
|
|
||||||
| (uint(color.g * (exp2(11) - 1.0f)) << 11)
|
|
||||||
| (uint(color.r * (exp2(11) - 1.0f)));
|
|
||||||
|
|
||||||
gl_FragDepth = float(depth_stencil_unorm >> 8) / (exp2(24.0) - 1.0f);
|
|
||||||
gl_FragStencilRefARB = int(depth_stencil_unorm & 0x00FF);
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
// Copyright 2021 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_tex;
|
|
||||||
layout(binding = 1) uniform isampler2D stencil_tex;
|
|
||||||
|
|
||||||
layout(location = 0) out vec4 color;
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
ivec2 coord = ivec2(gl_FragCoord.xy);
|
|
||||||
uint depth = uint(textureLod(depth_tex, coord, 0).r * (exp2(24.0) - 1.0f));
|
|
||||||
uint stencil = uint(textureLod(stencil_tex, coord, 0).r);
|
|
||||||
|
|
||||||
color.b = float(depth >> 22) / (exp2(10) - 1.0);
|
|
||||||
color.g = float((depth >> 11) & 0x00FF) / (exp2(11) - 1.0);
|
|
||||||
color.r = float(depth & 0x00FF) / (exp2(11) - 1.0);
|
|
||||||
color.a = 1.0f;
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
// Copyright 2021 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_tex;
|
|
||||||
layout(binding = 1) uniform isampler2D stencil_tex;
|
|
||||||
|
|
||||||
layout(location = 0) out vec4 color;
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
ivec2 coord = ivec2(gl_FragCoord.xy);
|
|
||||||
uint depth = uint(textureLod(depth_tex, coord, 0).r * (exp2(24.0) - 1.0f));
|
|
||||||
uint stencil = uint(textureLod(stencil_tex, coord, 0).r);
|
|
||||||
|
|
||||||
color.r = float(depth >> 16) / (exp2(16) - 1.0);
|
|
||||||
color.g = float((depth >> 16) & 0x00FF) / (exp2(16) - 1.0);
|
|
||||||
color.b = 0.0f;
|
|
||||||
color.a = 1.0f;
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
// Copyright 2021 yuzu Emulator Project
|
|
||||||
// Licensed under GPLv2 or any later version
|
|
||||||
// Refer to the license.txt file included.
|
|
||||||
|
|
||||||
#version 450
|
|
||||||
#extension GL_ARB_shader_stencil_export : require
|
|
||||||
|
|
||||||
layout(binding = 0) uniform sampler2D color_texture;
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
ivec2 coord = ivec2(gl_FragCoord.xy);
|
|
||||||
vec4 color = texelFetch(color_texture, coord, 0).rgba;
|
|
||||||
uint depth_stencil_unorm = (uint(color.r * (exp2(16) - 1.0f)) << 16)
|
|
||||||
| (uint(color.g * (exp2(16) - 1.0f)) << 16);
|
|
||||||
|
|
||||||
gl_FragDepth = float(depth_stencil_unorm >> 8) / (exp2(24.0) - 1.0f);
|
|
||||||
gl_FragStencilRefARB = int(depth_stencil_unorm & 0x00FF);
|
|
||||||
}
|
|
Loading…
Reference in New Issue