Revert "Cleanup: GPU: Remove unused shader library guards"

This reverts commit 05115b0f88.

Material shaders do not compile after this change
This commit is contained in:
Clément Foucault
2025-08-26 15:39:13 +02:00
parent 06ddc55846
commit 1f3971cae9
6 changed files with 79 additions and 43 deletions

View File

@@ -6,20 +6,24 @@
#include "gpu_glsl_cpp_stubs.hh"
#define M_PI 3.14159265358979323846f /* pi */
#define M_TAU 6.28318530717958647692f /* tau = 2*pi */
#define M_PI_2 1.57079632679489661923f /* pi/2 */
#define M_PI_4 0.78539816339744830962f /* pi/4 */
#define M_SQRT2 1.41421356237309504880f /* sqrt(2) */
#define M_SQRT1_2 0.70710678118654752440f /* 1/sqrt(2) */
#define M_SQRT3 1.73205080756887729352f /* sqrt(3) */
#define M_SQRT1_3 0.57735026918962576450f /* 1/sqrt(3) */
#define M_1_PI 0.318309886183790671538f /* 1/pi */
#define M_E 2.7182818284590452354f /* e */
#define M_LOG2E 1.4426950408889634074f /* log_2 e */
#define M_LOG10E 0.43429448190325182765f /* log_10 e */
#define M_LN2 0.69314718055994530942f /* log_e 2 */
#define M_LN10 2.30258509299404568402f /* log_e 10 */
/* WORKAROUND: to guard against double include in EEVEE. */
#ifndef GPU_SHADER_MATH_BASE_LIB_GLSL
# define GPU_SHADER_MATH_BASE_LIB_GLSL
# define M_PI 3.14159265358979323846f /* pi */
# define M_TAU 6.28318530717958647692f /* tau = 2*pi */
# define M_PI_2 1.57079632679489661923f /* pi/2 */
# define M_PI_4 0.78539816339744830962f /* pi/4 */
# define M_SQRT2 1.41421356237309504880f /* sqrt(2) */
# define M_SQRT1_2 0.70710678118654752440f /* 1/sqrt(2) */
# define M_SQRT3 1.73205080756887729352f /* sqrt(3) */
# define M_SQRT1_3 0.57735026918962576450f /* 1/sqrt(3) */
# define M_1_PI 0.318309886183790671538f /* 1/pi */
# define M_E 2.7182818284590452354f /* e */
# define M_LOG2E 1.4426950408889634074f /* log_2 e */
# define M_LOG10E 0.43429448190325182765f /* log_10 e */
# define M_LN2 0.69314718055994530942f /* log_e 2 */
# define M_LN10 2.30258509299404568402f /* log_e 10 */
/* `powf` is really slow for raising to integer powers. */
@@ -102,7 +106,7 @@ float _atan2(float y, float x)
{
return atan(y, x);
}
#define atan2 _atan2
# define atan2 _atan2
/**
* Safe `a` modulo `b`.
@@ -273,3 +277,5 @@ float wrap(float a, float b, float c)
}
/** \} */
#endif /* GPU_SHADER_MATH_BASE_LIB_GLSL */

View File

@@ -6,6 +6,10 @@
#include "gpu_shader_math_base_lib.glsl"
/* WORKAROUND: to guard against double include in EEVEE. */
#ifndef GPU_SHADER_MATH_FAST_LIB_GLSL
# define GPU_SHADER_MATH_FAST_LIB_GLSL
/* [Drobot2014a] Low Level Optimizations for GCN. */
float sqrt_fast(float v)
{
@@ -50,3 +54,5 @@ float atan_fast(float x)
}
return (x < 0.0f) ? -r : r;
}
#endif /* GPU_SHADER_MATH_FAST_LIB_GLSL */

View File

@@ -7,6 +7,10 @@
#include "gpu_shader_math_rotation_lib.glsl"
#include "gpu_shader_math_vector_lib.glsl"
/* WORKAROUND: to guard against double include in EEVEE. */
#ifndef GPU_SHADER_MATH_MATRIX_LIB_GLSL
# define GPU_SHADER_MATH_MATRIX_LIB_GLSL
/* -------------------------------------------------------------------- */
/** \name Static constructors
* \{ */
@@ -69,7 +73,7 @@ float4x4 mat4x4_identity()
/** \} */
/* Metal does not need prototypes. */
#ifndef GPU_METAL
# ifndef GPU_METAL
/* -------------------------------------------------------------------- */
/** \name Matrix Operations
@@ -457,7 +461,7 @@ bool is_uniformly_scaled(float3x3 mat);
/** \} */
#endif /* GPU_METAL */
# endif /* GPU_METAL */
/* ---------------------------------------------------------------------- */
/** \name Implementation
@@ -492,7 +496,7 @@ float4x4 invert(float4x4 mat, out bool r_success)
return r_success ? inverse(mat) : float4x4(0.0f);
}
#if defined(GPU_OPENGL) || defined(GPU_METAL)
# if defined(GPU_OPENGL) || defined(GPU_METAL)
float2 normalize(float2 a)
{
return a * inversesqrt(length_squared(a));
@@ -505,7 +509,7 @@ float4 normalize(float4 a)
{
return a * inversesqrt(length_squared(a));
}
#endif
# endif
float2x2 normalize(float2x2 mat)
{
@@ -1573,3 +1577,5 @@ bool is_unit_scale(float2x2 m)
}
/** \} */
#endif /* GPU_SHADER_MATH_MATRIX_LIB_GLSL */

View File

@@ -7,6 +7,10 @@
#include "gpu_shader_math_vector_lib.glsl"
#include "gpu_shader_utildefines_lib.glsl"
/* WORKAROUND: to guard against double include in EEVEE. */
#ifndef GPU_SHADER_MATH_ROTATION_LIB_GLSL
# define GPU_SHADER_MATH_ROTATION_LIB_GLSL
/* -------------------------------------------------------------------- */
/** \name Rotation Types
* \{ */
@@ -177,3 +181,5 @@ AxisAngle to_axis_angle(EulerXYZ eul)
}
/** \} */
#endif /* GPU_SHADER_MATH_ROTATION_LIB_GLSL */

View File

@@ -6,8 +6,12 @@
#include "gpu_shader_math_base_lib.glsl"
/* WORKAROUND: to guard against double include in EEVEE. */
#ifndef GPU_SHADER_MATH_VECTOR_LIB_GLSL
# define GPU_SHADER_MATH_VECTOR_LIB_GLSL
/* Metal does not need prototypes. */
#ifndef GPU_METAL
# ifndef GPU_METAL
/**
* Return true if all components is equal to zero.
@@ -256,7 +260,7 @@ float average(float2 a);
float average(float3 a);
float average(float4 a);
#endif /* !GPU_METAL */
# endif /* !GPU_METAL */
/* ---------------------------------------------------------------------- */
/** \name Implementation
@@ -710,7 +714,7 @@ float average(float4 a)
return reduce_add(a) * (1.0f / 4.0f);
}
#define ASSERT_UNIT_EPSILON 0.0002f
# define ASSERT_UNIT_EPSILON 0.0002f
/* Checks are flipped so NAN doesn't assert because we're making sure the value was
* normalized and in the case we don't want NAN to be raising asserts since there
@@ -735,3 +739,5 @@ bool is_unit_scale(float4 v)
}
/** \} */
#endif /* GPU_SHADER_MATH_VECTOR_LIB_GLSL */

View File

@@ -6,32 +6,36 @@
#include "gpu_glsl_cpp_stubs.hh"
#ifndef FLT_MAX
# define FLT_MAX uintBitsToFloat(0x7F7FFFFFu)
# define FLT_MIN uintBitsToFloat(0x00800000u)
# define FLT_EPSILON 1.192092896e-07F
#endif
#ifndef SHRT_MAX
# define SHRT_MAX 0x00007FFF
# define INT_MAX 0x7FFFFFFF
# define USHRT_MAX 0x0000FFFFu
# define UINT_MAX 0xFFFFFFFFu
#endif
#define NAN_FLT uintBitsToFloat(0x7FC00000u)
#define FLT_11_MAX uintBitsToFloat(0x477E0000)
#define FLT_10_MAX uintBitsToFloat(0x477C0000)
#define FLT_11_11_10_MAX float3(FLT_11_MAX, FLT_11_MAX, FLT_10_MAX)
/* WORKAROUND: to guard against double include in EEVEE. */
#ifndef GPU_SHADER_UTILDEFINES_GLSL
# define GPU_SHADER_UTILDEFINES_GLSL
#define UNPACK2(a) (a)[0], (a)[1]
#define UNPACK3(a) (a)[0], (a)[1], (a)[2]
#define UNPACK4(a) (a)[0], (a)[1], (a)[2], (a)[3]
# ifndef FLT_MAX
# define FLT_MAX uintBitsToFloat(0x7F7FFFFFu)
# define FLT_MIN uintBitsToFloat(0x00800000u)
# define FLT_EPSILON 1.192092896e-07F
# endif
# ifndef SHRT_MAX
# define SHRT_MAX 0x00007FFF
# define INT_MAX 0x7FFFFFFF
# define USHRT_MAX 0x0000FFFFu
# define UINT_MAX 0xFFFFFFFFu
# endif
# define NAN_FLT uintBitsToFloat(0x7FC00000u)
# define FLT_11_MAX uintBitsToFloat(0x477E0000)
# define FLT_10_MAX uintBitsToFloat(0x477C0000)
# define FLT_11_11_10_MAX float3(FLT_11_MAX, FLT_11_MAX, FLT_10_MAX)
# define UNPACK2(a) (a)[0], (a)[1]
# define UNPACK3(a) (a)[0], (a)[1], (a)[2]
# define UNPACK4(a) (a)[0], (a)[1], (a)[2], (a)[3]
/**
* Clamp input into [0..1] range.
*/
#define saturate(a) clamp(a, 0.0f, 1.0f)
# define saturate(a) clamp(a, 0.0f, 1.0f)
#define isfinite(a) (!isinf(a) && !isnan(a))
# define isfinite(a) (!isinf(a) && !isnan(a))
/* clang-format off */
#define in_range_inclusive(val, min_v, max_v) (all(greaterThanEqual(val, min_v)) && all(lessThanEqual(val, max_v)))
@@ -76,7 +80,7 @@ void set_flag_from_test(inout int value, bool test, int flag)
}
/* Keep define to match C++ implementation. */
#define SET_FLAG_FROM_TEST(value, test, flag) set_flag_from_test(value, test, flag)
# define SET_FLAG_FROM_TEST(value, test, flag) set_flag_from_test(value, test, flag)
/**
* Return true if the bit inside bitmask at bit_index is set high.
@@ -158,3 +162,5 @@ float3 offset_ray(float3 P, float3 Ng)
(abs(P.y) < origin) ? uf.y : P_i.y,
(abs(P.z) < origin) ? uf.z : P_i.z);
}
#endif /* GPU_SHADER_UTILDEFINES_GLSL */