Skip to content

Commit 4ca59c2

Browse files
committed
Removed unnecessary struct for unused partial specialization of some bit functions in glsl_compat. Also added a few nice utilities to complex
1 parent 41ca055 commit 4ca59c2

File tree

2 files changed

+22
-51
lines changed

2 files changed

+22
-51
lines changed

include/nbl/builtin/hlsl/complex.hlsl

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,24 @@ complex_t<Scalar> polar(const Scalar r, const Scalar theta)
361361
return retVal;
362362
}
363363

364+
365+
// --------------------------------------------- Some more functions that come in handy --------------------------------------
366+
// Fast mul by i
367+
template<typename Scalar>
368+
complex_t<Scalar> rotateLeft(NBL_CONST_REF_ARG(complex_t<Scalar>) value)
369+
{
370+
complex_t<Scalar> retVal = { -value.imag(), value.real() };
371+
return retVal;
372+
}
373+
374+
// Fast mul by -i
375+
template<typename Scalar>
376+
complex_t<Scalar> rotateRight(NBL_CONST_REF_ARG(complex_t<Scalar>) value)
377+
{
378+
complex_t<Scalar> retVal = { value.imag(), -value.real() };
379+
return retVal;
380+
}
381+
364382
}
365383
}
366384

@@ -378,23 +396,4 @@ NBL_REGISTER_OBJ_TYPE(complex_t<float64_t2>,::nbl::hlsl::alignment_of_v<float64_
378396
NBL_REGISTER_OBJ_TYPE(complex_t<float64_t3>,::nbl::hlsl::alignment_of_v<float64_t3>)
379397
NBL_REGISTER_OBJ_TYPE(complex_t<float64_t4>,::nbl::hlsl::alignment_of_v<float64_t4>)
380398

381-
382-
383-
--------------------------------------------- Some more functions that come in handy --------------------------------------
384-
// Fast mul by i
385-
template<typename Scalar>
386-
complex_t<Scalar> rotateLeft(NBL_CONST_REF_ARG(complex_t<Scalar>) value)
387-
{
388-
complex_t<Scalar> retVal = {- value.imag(), value.real()};
389-
return retVal;
390-
}
391-
392-
// Fast mul by -i
393-
template<typename Scalar>
394-
complex_t<Scalar> rotateRight(NBL_CONST_REF_ARG(complex_t<Scalar>) value)
395-
{
396-
complex_t<Scalar> retVal = {value.imag(), -value.real()};
397-
return retVal;
398-
}
399-
400399
#endif

include/nbl/builtin/hlsl/glsl_compat/core.hlsl

Lines changed: 4 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -208,44 +208,16 @@ T bitfieldExtract( T val, uint32_t offsetBits, uint32_t numBits )
208208
return impl::bitfieldExtract<T, is_signed<T>::value, is_integral<T>::value>::__call(val,offsetBits,numBits);
209209
}
210210

211-
namespace impl
212-
{
213-
214-
template<typename T>
215-
struct bitfieldInsert
216-
{
217-
static T __call( T base, T insert, uint32_t offset, uint32_t count )
218-
{
219-
return spirv::bitFieldInsert<T>( base, insert, offset, count );
220-
}
221-
};
222-
223-
} //namespace impl
224-
225211
template<typename T>
226-
T bitfieldInsert( T base, T insert, uint32_t offset, uint32_t bits )
212+
T bitfieldInsert(T base, T insert, uint32_t offset, uint32_t bits)
227213
{
228-
return impl::bitfieldInsert<T>::__call(base, insert, offset, bits);
214+
return spirv::bitFieldInsert<T>(base, insert, offset, bits);
229215
}
230216

231-
namespace impl
232-
{
233-
234-
template<typename T>
235-
struct bitfieldReverse
236-
{
237-
static T __call( T base )
238-
{
239-
return spirv::bitFieldReverse<T>( base );
240-
}
241-
};
242-
243-
} //namespace impl
244-
245217
template<typename T>
246-
T bitfieldReverse( T value )
218+
T bitfieldReverse(T value)
247219
{
248-
return impl::bitfieldReverse<T>::__call(value);
220+
return spirv::bitFieldReverse<T>(value);
249221
}
250222

251223
#endif

0 commit comments

Comments
 (0)