Skip to content

Releases: redorav/hlslpp

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

3.2.1

31 Jul 13:10
bae41f0
Compare
Choose a tag to compare
  • Fix integer division and casting. Wrong instructions were being used in both NEON and SSE