Repository navigation
LiteFX 0.5.1 - Alpha 05
- Improved descriptor management.
- Common descriptor allocation and binding architecture. (See PR #165)
- Unbounded arrays are no longer implicitly defined by setting the array element size to maximum. This allows to define multiple descriptor sets containing unbounded descriptor arrays without exceeding device limits in Vulkan. (See PR #166)
- Binding hints can now be passed to shader reflection to have better control over the pipeline layout without falling back to explicit definitions. (See PR #168)
- Descriptor sets can now mix samplers and other resources in a single set. (See PR #170)
- Descriptor types can now be specified at bind time, rather than pipeline creation time. (See PR #172)
- Descriptors on global descriptor heaps are now allocated from virtual allocators. (See PR #188)
- Command buffers can now track temporary descriptor sets to keep them allocated until the command buffer finished. (See PR #188)
- Improved memory management.
- Add support for putting resources on GPU upload heaps using ReBAR. (See PR #175)
- Implement queries for memory statistics. (See PR #184)
- Implement
AllocationBehaviorflags, that can be used to control what happens, if memory budgets are depleted. (See PR #186) - Add factory methods that don't throw if an allocation fails, but return a boolean instead to inform about success or failure. (See PR #186)
- Implement support for resource defragmentation. (See PR #192 and PR #195)
- Implement support for resource aliasing. (See PR #193)
- Improved rasterizer state.
- Texel buffer formats can now be specified during resource binding. (See PR #173)
- Additional shader stages for a descriptor set layout can now be provided through piepline binding hints. (See PR #185)
- Implement support for vertex buffer input rates. (See PR #187)
- Expose virtual allocators in the rendering API. (See PR #188)
- It is now possible to provide custom allocators for frame buffer images, which enables fixed-size or aliased render targets. (See PR #193)
- Implemented support for view instancing/multi-view rendering. (See PR #194)
🌋 Vulkan:
- Implement descriptor management using
VK_EXT_descriptor_buffer. (See PR #165) - Fixed issue that caused the native Vulkan swap chain to not properly transition present targets, if the DirectX 12 backend was enabled. (See PR #165)
- Fixed destruction of descriptor set layout handles. (PR #165)
❎ DirectX 12:
- Fixed an issue where scissor rects that did not start at the window origin were incorrectly passed to the pipeline. (See PR #158)
- Fixed an issue that caused image and sampler arrays to be mapped incorrectly to the underlying descriptor sets. (See PR #159)
- Added support for manually allocating descriptor ranges from global descriptor heaps. (See PR #174)
🐞 Bug Fixes:
- Fix issue where re-configuring the project would fail due to
CMAKE_CXX_COMPILERorCMAKE_C_COMPILERcache variables are being reset. (see PR #157) - Fix deprecation warning for some literal operators. (See PR #161)
- Fix debug layer warning about invalid stencil target access when a depth-only render target was used. (See PR #170)