Skip to content

Releases: redorav/hlslpp

3.6

22 Dec 20:39
Compare
Choose a tag to compare

Merry Christmas! 🎄

  • Added ldexp
  • Add a simple half class and f16tof32/f32tof16 functions
  • Add uint and enforce int to be 4 bytes
  • Added first collection of data packing functions
  • Fix incorrect mapping of _hlslpp_subm_ps to vmlsq_f32 which was causing sin_ps and cos_ps to return incorrect values on ARM
  • Enforce alignment on types to avoid platform mismatches
  • Fix clang-cl + ARM64 platform combination

3.5.3

25 Sep 17:42
1f3b894
Compare
Choose a tag to compare
  • Hotfix version to fix compile error in ARM64EC

3.5.2

24 Sep 09:01
Compare
Choose a tag to compare
  • Fix matrix cast in AVX (from float4x4 to 3x3)
  • First usage of AVX512 for the sign function
  • Address-of operator for swizzle returns address of float (e.g. &vector.z returns address of third component, not of swizzle struct)
  • Add store and load for quaternions

3.5.1

18 Aug 19:06
07541bc
Compare
Choose a tag to compare

3.5

20 May 20:58
Compare
Choose a tag to compare
3.5
  • IMPORTANT: reworked headers to follow a more logical folder structure. Compatibility headers are provided to aid migration so existing code will work as is, they will be removed in future versions! Easy way is to replace "hlsl++_" with "hlsl++/"
  • Added WebAssembly intrinsics: most functionality has been tested but there are still some rough edges, it has been tested with the Emscripten Visual Studio Target plugin
  • Improve matrix compile times by putting rarely-used swizzles behind define (the hlsl spec defines _mNM and __NM)
  • Separate matrix_type and matrix headers to improve compile times for users
  • Improve compile times for our custom type_traits
  • Fix trunc for the SSE2 double type changing the rounding mode and other shenanigans. The solution is more "by the book"

3.4

23 Dec 12:52
Compare
Choose a tag to compare
3.4
  • Fixed all unit test warnings. Unit tests now run as part of build
  • Added clamp to int and uint
  • Fix round, floor and ceil to better conform to hlsl
  • Add option to specify reverse z and and infinite far plane when creating perspective matrices
  • Add missing vector-matrix multiplication functions
  • Add matrix constructors from vectors
  • Small performance improvement to SSE permutation intrinsic to avoid computing parameter twice
  • Add distance() function
  • Add normalize() to doubleN
  • Add cross() for doubleN
  • Further improve compile times for swizzleN for all types of vectors

3.3.1

21 Apr 19:17
Compare
Choose a tag to compare

· Quaternion nlerp bugfix

3.3

20 Apr 20:55
Compare
Choose a tag to compare
3.3
  • Add the select() function now that HLSL 2021 has standardized it
  • Have separate type headers for vector and quaternion (matrix not implemented yet)
  • Further addressed compile times for swizzles and third-party headers
  • Disambiguate equality and comparison operators
  • Fix quaternion slerp producing nans
  • Fix uintN swizzle
  • Added uintN to the natvis
  • Make division safer in scalar mode
  • Fix float1x3 matrix move constructor

3.2.3

10 Dec 00:00
Compare
Choose a tag to compare
  • Fix integer abs function

3.2.2

21 Aug 11:07
Compare
Choose a tag to compare
  • Add [ ] operators for select matrices (3x3 and 4x4) and vector types
  • Fix bug with float1 / floatN and float1 - floatN operators