Releases: FNA-XNA/FNA3D
22.09
New Features:
- D3D11: DXVK targets now get their D3DCompile function from vkd3d-utils
- Because this compiler is not finished yet, D3D11 now has to be explicitly forced for DXVK targets
Fixes:
- D3D11: Fix GetDrawableSize for Win32/GDK
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
22.08
Fixes:
- Vulkan:
- Fix support for BC7 textures
- Fix a buffer memory leak in the case where the client is pushing vertex data to one buffer frequently
- Treat whole-buffer updates using SetDataOptions.None as Discard, improving performance/stability
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
22.07
New Features:
- Vulkan now uses the callback feature of VK_EXT_debug_utils, when debug mode is enabled
Fixes:
- Vulkan: Handle
VK_INCOMPLETE
during device enumeration
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
22.06
Fixes:
- Vulkan: Fix crashes caused by disposing graphics resources on a thread (i.e. garbage collection)
- Tracing: Fix crashes caused by uploading really large graphics resources
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
22.05
Removed Features:
- CMake: Removed DISABLE_D3D11 option
Fixes:
- D3D11:
- Clear SDL_Window swapchain tag when releasing swapchains, fixes a startup crash
- Use SDL_iconv instead of MultiByteToWideChar
- Vulkan: Fix BGRA5551 swizzle
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
22.04
New Features:
- Added support for D3D11 on Linux via dxvk-native
- This feature requires either a DXBC SM4 emitter for MojoShader or a native HLSL compiler, neither currently exist
Fixes:
- D3D11: Precompiled the faux-backbuffer blit shaders, removing FNA3D's dependency on d3dcompiler
- MojoShader still requires an HLSL compiler for D3D11 support (see above)
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
22.03
New Features:
- D3D11 now supports presenting to multiple windows with a single device
- The expected behavior should be similar to Vulkan, varying behavior may be a bug
Fixes:
- Vulkan:
- Rework submit synchronization, should make better use of GPU time overall
- Fix a possible data race when updating buffer data during a defrag period
- Clean up some swapchain data checks
- Refresh the VisualC filters file
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
22.02
New Features:
- Vulkan now supports presenting to multiple windows with a single device
- FNA3D_Replay now supports forcing debug contexts for all traces
- Added support for BC7 textures
Modified Features:
FNA3D_GetDrawableSize
's documentation has been updated to suggest calling the function after the device has been made- Fixes MoltenVK high-DPI support
FNA3D_DISABLE_LATESWAPTEAR
has now been inverted intoFNA3D_ENABLE_LATESWAPTEAR
- Late swap tear is now disabled by default
Fixes:
- Vulkan:
- Buffer implementation has been simplified, improving performance
- Fixed incorrect sampler limit query
- A bunch of texture swizzle fixes
- D3D11:
- On newer systems, EnumAdapterByGpuPreference is now used to pick the dedicated GPU
- Device creation now correctly falls back to 11_0 and lower if 11_1 is an unknown version
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
22.01
New Features:
- Added support for SRGB textures/renderbuffers
Removed Features:
- The Metal renderer has been removed, in favor of Vulkan/MoltenVK
Fixes:
- Vulkan: Various fixes for device support checks
- Image: Log errors from stb_image
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
21.12
New Features:
- MojoShader: Add support for multiple shader contexts
- The threading rules are roughly the same as the renderers themselves. Don't go crazy with this!
Fixes:
- Vulkan:
- Fix validation errors for RenderTarget mipmap generation
- Fix SetBufferData overwriting in-flight None and Discard submissions
- Make device queue family requirements more lenient; compute and transfer bits aren't mandatory
- OpenGL: Fix ridiculous SetRenderTargets crash where a renderbuffer and texture share the same GLuint handle
- SPIR-V: Fix support for FragDepth builtin
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors: