Skip to content

Commit 75bec97

Browse files
committed
Bug fix
1 parent 59e388a commit 75bec97

File tree

4 files changed

+14
-19
lines changed

4 files changed

+14
-19
lines changed

include/nbl/builtin/hlsl/cpp_compat/intrinsics.hlsl

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ vector<T, 3> cross(NBL_CONST_REF_ARG(vector<T, 3>) lhs, NBL_CONST_REF_ARG(vector
4040
}
4141

4242
template<typename T>
43-
int clamp(NBL_CONST_REF_ARG(T) val, NBL_CONST_REF_ARG(T) min, NBL_CONST_REF_ARG(T) max)
43+
T clamp(NBL_CONST_REF_ARG(T) val, NBL_CONST_REF_ARG(T) min, NBL_CONST_REF_ARG(T) max)
4444
{
4545
#ifdef __HLSL_VERSION
4646

@@ -173,7 +173,7 @@ template<typename T> //requires ::nbl::hlsl::is_floating_point_v<T>
173173
inline T floor(NBL_CONST_REF_ARG(T) val)
174174
{
175175
#ifdef __HLSL_VERSION
176-
return spirv::Floor(val);
176+
return spirv::floor(val);
177177
#else
178178
return glm::floor(val);
179179
#endif
@@ -246,7 +246,7 @@ template<typename FloatingPoint>
246246
inline FloatingPoint isnan(NBL_CONST_REF_ARG(FloatingPoint) val)
247247
{
248248
#ifdef __HLSL_VERSION
249-
return spirv::IsNan(val);
249+
return spirv::isNan(val);
250250
#else
251251
return std::isnan(val);
252252
#endif
@@ -256,7 +256,7 @@ template<typename FloatingPoint>
256256
inline FloatingPoint isinf(NBL_CONST_REF_ARG(FloatingPoint) val)
257257
{
258258
#ifdef __HLSL_VERSION
259-
return spirv::IsInf(val);
259+
return spirv::isInf(val);
260260
#else
261261
return std::isinf(val);
262262
#endif
@@ -266,22 +266,17 @@ template<typename T>
266266
inline T exp2(NBL_CONST_REF_ARG(T) val)
267267
{
268268
#ifdef __HLSL_VERSION
269-
return spirv::Exp2(val);
269+
return spirv::exp2(val);
270270
#else
271271
return std::exp2(val);
272272
#endif
273273
}
274274

275-
#ifdef __HLSL_VERSION
276-
#define EXP2_SPECIALIZATION_RETUR_VAL spirv::Exp2(float(val))
277-
#else
278-
#define EXP2_SPECIALIZATION_RETUR_VAL std::exp2(val)
279-
#endif
280275
#define DEFINE_EXP2_SPECIALIZATION(TYPE)\
281276
template<>\
282277
inline TYPE exp2(NBL_CONST_REF_ARG(TYPE) val)\
283278
{\
284-
return EXP2_SPECIALIZATION_RETUR_VAL;\
279+
return _static_cast<TYPE>(1ull << val);\
285280
}\
286281

287282
DEFINE_EXP2_SPECIALIZATION(int16_t)
@@ -295,7 +290,7 @@ template<typename FloatingPoint>
295290
inline FloatingPoint rsqrt(FloatingPoint x)
296291
{
297292
#ifdef __HLSL_VERSION
298-
return spirv::InverseSqrt(x);
293+
return spirv::inverseSqrt(x);
299294
#else
300295
return 1.0f / std::sqrt(x);
301296
#endif
@@ -304,4 +299,4 @@ inline FloatingPoint rsqrt(FloatingPoint x)
304299
}
305300
}
306301

307-
#endif
302+
#endif

include/nbl/builtin/hlsl/shapes/beziers.hlsl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ struct Quadratic
407407
// p'(1/2) = 2(C-A)
408408

409409
// exponent so large it would wipe the mantissa on any relative operation
410-
const float_t PARAMETER_THRESHOLD = hlsl::exp2(24);
410+
const float_t PARAMETER_THRESHOLD = exp2(24);
411411
Candidates candidates;
412412

413413
float_t2 Bdiv2 = B*0.5;

include/nbl/builtin/hlsl/spirv_intrinsics/core.hlsl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,11 +252,11 @@ enable_if_t<is_integral_v<Integral>, Integral> bitFieldReverse( Integral base );
252252

253253
template<typename FloatingPoint>
254254
[[vk::ext_instruction( spv::OpIsNan )]]
255-
enable_if_t<is_floating_point_v<FloatingPoint>, bool> IsNan(FloatingPoint val);
255+
enable_if_t<is_floating_point_v<FloatingPoint>, bool> isNan(FloatingPoint val);
256256

257257
template<typename FloatingPoint>
258258
[[vk::ext_instruction( spv::OpIsInf )]]
259-
enable_if_t<is_floating_point_v<FloatingPoint>, bool> IsInf(FloatingPoint val);
259+
enable_if_t<is_floating_point_v<FloatingPoint>, bool> isInf(FloatingPoint val);
260260

261261
}
262262

include/nbl/builtin/hlsl/spirv_intrinsics/glsl.std.450.hlsl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ enable_if_t<is_integral_v<Integral> && (sizeof(scalar_type_t<Integral>) == 4), I
2828

2929
template<typename FloatingPoint>
3030
[[vk::ext_instruction(GLSLstd450::GLSLstd450Exp2, "GLSL.std.450")]]
31-
enable_if_t<is_floating_point<FloatingPoint>::value, FloatingPoint> Exp2(FloatingPoint val);
31+
enable_if_t<is_floating_point<FloatingPoint>::value, FloatingPoint> exp2(FloatingPoint val);
3232

3333
template<typename FloatingPoint>
3434
[[vk::ext_instruction(GLSLstd450::GLSLstd450InverseSqrt, "GLSL.std.450")]]
35-
enable_if_t<is_floating_point_v<FloatingPoint>, FloatingPoint> InverseSqrt(FloatingPoint val);
35+
enable_if_t<is_floating_point_v<FloatingPoint>, FloatingPoint> inverseSqrt(FloatingPoint val);
3636

3737
template<typename FloatingPoint>
3838
[[vk::ext_instruction(GLSLstd450::GLSLstd450Floor, "GLSL.std.450")]]
39-
enable_if_t<is_floating_point_v<FloatingPoint>, FloatingPoint> Floor(FloatingPoint val);
39+
enable_if_t<is_floating_point_v<FloatingPoint>, FloatingPoint> floor(FloatingPoint val);
4040

4141
}
4242
}

0 commit comments

Comments
 (0)