Browse Source

Texture Cache: Correct conversion shaders.

nce_cpp
Fernando Sahmkow 4 years ago
parent
commit
dc87895c22
  1. 2
      src/video_core/host_shaders/convert_abgr8_to_d24s8.frag
  2. 2
      src/video_core/host_shaders/convert_d24s8_to_abgr8.frag

2
src/video_core/host_shaders/convert_abgr8_to_d24s8.frag

@ -9,7 +9,7 @@ layout(binding = 0) uniform sampler2D color_texture;
void main() {
ivec2 coord = ivec2(gl_FragCoord.xy);
uvec4 color = uvec4(texelFetch(color_texture, coord, 0).rgba * (exp2(8) - 1.0f));
uvec4 color = uvec4(texelFetch(color_texture, coord, 0).abgr * (exp2(8) - 1.0f));
uvec4 bytes = color << uvec4(24, 16, 8, 0);
uint depth_stencil_unorm = bytes.x | bytes.y | bytes.z | bytes.w;

2
src/video_core/host_shaders/convert_d24s8_to_abgr8.frag

@ -19,5 +19,5 @@ void main() {
lowp uint stencil_val = textureLod(stencil_tex, coord, 0).r;
highp uvec4 components =
uvec4(stencil_val, (uvec3(depth_val) >> uvec3(24u, 16u, 8u)) & 0x000000FFu);
color = vec4(components) / (exp2(8.0) - 1.0);
color.abgr = vec4(components) / (exp2(8.0) - 1.0);
}
Loading…
Cancel
Save