Avoid branch in half2float in gl_compatibility renderer

This commit is contained in:
clayjohn 2023-02-14 20:31:36 -08:00
parent 8c7b98d452
commit 58bad55d42

View file

@ -14,11 +14,7 @@ uint float2half(uint f) {
uint half2float(uint h) {
uint h_e = h & uint(0x7c00);
if (h_e == uint(0x0000)) {
return uint(0);
} else {
return ((h & uint(0x8000)) << uint(16)) | ((h_e + uint(0x1c000)) << uint(13)) | ((h & uint(0x03ff)) << uint(13));
}
return ((h & uint(0x8000)) << uint(16)) | uint((h_e >> uint(10)) != uint(0)) * (((h_e + uint(0x1c000)) << uint(13)) | ((h & uint(0x03ff)) << uint(13)));
}
uint packHalf2x16(vec2 v) {