summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders-msl/tesc/water_tess.tesc
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders-msl/tesc/water_tess.tesc')
-rw-r--r--3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders-msl/tesc/water_tess.tesc15
1 files changed, 10 insertions, 5 deletions
diff --git a/3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders-msl/tesc/water_tess.tesc b/3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders-msl/tesc/water_tess.tesc
index 596abe13091..d74f5752f8b 100644
--- a/3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders-msl/tesc/water_tess.tesc
+++ b/3rdparty/bgfx/3rdparty/spirv-cross/reference/shaders-msl/tesc/water_tess.tesc
@@ -26,7 +26,8 @@ struct main0_in
float2 vPatchPosBase [[attribute(0)]];
};
-inline bool frustum_cull(thread const float2& p0, constant UBO& v_41)
+static inline __attribute__((always_inline))
+bool frustum_cull(thread const float2& p0, constant UBO& v_41)
{
float2 min_xz = (p0 - float2(10.0)) * v_41.uScale.xy;
float2 max_xz = ((p0 + v_41.uPatchSize) + float2(10.0)) * v_41.uScale.xy;
@@ -49,7 +50,8 @@ inline bool frustum_cull(thread const float2& p0, constant UBO& v_41)
return !_215;
}
-inline float lod_factor(thread const float2& pos_, constant UBO& v_41)
+static inline __attribute__((always_inline))
+float lod_factor(thread const float2& pos_, constant UBO& v_41)
{
float2 pos = pos_ * v_41.uScale.xy;
float3 dist_to_cam = v_41.uCamPos - float3(pos.x, 0.0, pos.y);
@@ -57,17 +59,20 @@ inline float lod_factor(thread const float2& pos_, constant UBO& v_41)
return fast::clamp(level, 0.0, v_41.uMaxTessLevel.x);
}
-inline float4 tess_level(thread const float4& lod, constant UBO& v_41)
+static inline __attribute__((always_inline))
+float4 tess_level(thread const float4& lod, constant UBO& v_41)
{
return exp2(-lod) * v_41.uMaxTessLevel.y;
}
-inline float tess_level(thread const float& lod, constant UBO& v_41)
+static inline __attribute__((always_inline))
+float tess_level(thread const float& lod, constant UBO& v_41)
{
return v_41.uMaxTessLevel.y * exp2(-lod);
}
-inline void compute_tess_levels(thread const float2& p0, constant UBO& v_41, device float2& vOutPatchPosBase, device float4& vPatchLods, device half (&gl_TessLevelOuter)[4], device half (&gl_TessLevelInner)[2])
+static inline __attribute__((always_inline))
+void compute_tess_levels(thread const float2& p0, constant UBO& v_41, device float2& vOutPatchPosBase, device float4& vPatchLods, device half (&gl_TessLevelOuter)[4], device half (&gl_TessLevelInner)[2])
{
vOutPatchPosBase = p0;
float2 param = p0 + (float2(-0.5) * v_41.uPatchSize);