summaryrefslogtreecommitdiffstats
path: root/src/video_core/host_shaders/convert_abgr8_to_d32f.frag
blob: a1880b916346b872f33455b7c58c6117b7a43647 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// SPDX-FileCopyrightText: Copyright 2023 Your Project
// SPDX-License-Identifier: GPL-2.0-or-later

#version 450

layout(binding = 0) uniform sampler2D color_texture;

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 depth_float = uintBitsToFloat(depth_unorm);

    gl_FragDepth = depth_float;
}