hlslpp
hlslpp copied to clipboard
Math library using HLSL syntax with multiplatform SIMD support
Signed and unsigned integer vectors comparison operators (==, ) seem to be working incorrectly in some cases on Intel-based Macs. This is reproducible in CI system of my project which...
Current approach to [unit testing in HLSL++](https://github.com/redorav/hlslpp/tree/master/src) has not enough flexibility to find regressions in Release builds and reporting them in CI build system. HLSL++ unit tests are checking test...
Unlike in HLSL, HLSL++ will still pack all types in 16b n128, even if running in HLSLPP_SCALAR. That breaks the C++HLSL interop with constant/structured buffer packing which is an useful...
Would you consider adding support for double precision matrix such as double4x4?
There are lots of cases in animation require computing the inverse of affine matrices, there are many assumptions that one can make when a 4x4 matrix is an affine transformation,...
It is ambiguous to do things like hlslpp::radians(0.3f) because float can be implicitly converted to floatN. Even if it's not the purpose of hlsl++ to provide scalar versions of these...
Synthetic tests for the various configurations would be able to create a comparison table for all the different functions, and find problematic areas.
They're too generic currently and inefficient. We can probably specialize most combinations using constructs such as vcombine_f32(vget_high_f32(x), vget_low_f32(y)) vrev64q_f32(x) etc.