initial commit, 4.5 stable
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
This commit is contained in:
43
servers/rendering/renderer_rd/shaders/half_inc.glsl
Normal file
43
servers/rendering/renderer_rd/shaders/half_inc.glsl
Normal file
@@ -0,0 +1,43 @@
|
||||
// Use of FP16 in Godot is done explicitly through the types half and hvec.
|
||||
// The extensions must be supported by the system to use this shader.
|
||||
//
|
||||
// If EXPLICIT_FP16 is not defined, all operations will use full precision
|
||||
// floats instead and all casting operations will not be performed.
|
||||
|
||||
#ifndef HALF_INC_H
|
||||
#define HALF_INC_H
|
||||
|
||||
#ifdef EXPLICIT_FP16
|
||||
|
||||
#extension GL_EXT_shader_explicit_arithmetic_types_float16 : require
|
||||
#extension GL_EXT_shader_16bit_storage : require
|
||||
|
||||
#define HALF_FLT_MIN float16_t(6.10352e-5)
|
||||
#define HALF_FLT_MAX float16_t(65504.0)
|
||||
|
||||
#define half float16_t
|
||||
#define hvec2 f16vec2
|
||||
#define hvec3 f16vec3
|
||||
#define hvec4 f16vec4
|
||||
#define hmat2 f16mat2
|
||||
#define hmat3 f16mat3
|
||||
#define hmat4 f16mat4
|
||||
#define saturateHalf(x) min(float16_t(x), HALF_FLT_MAX)
|
||||
|
||||
#else
|
||||
|
||||
#define HALF_FLT_MIN float(1.175494351e-38F)
|
||||
#define HALF_FLT_MAX float(3.402823466e+38F)
|
||||
|
||||
#define half float
|
||||
#define hvec2 vec2
|
||||
#define hvec3 vec3
|
||||
#define hvec4 vec4
|
||||
#define hmat2 mat2
|
||||
#define hmat3 mat3
|
||||
#define hmat4 mat4
|
||||
#define saturateHalf(x) (x)
|
||||
|
||||
#endif
|
||||
|
||||
#endif // HALF_INC_H
|
Reference in New Issue
Block a user