Releases: FNA-XNA/FNA3D
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:
21.11
Fixes:
- Vulkan: Make mipmap quality match other drivers
- OpenGL:
- Removed the Wayland alpha workaround. Wayland users should migrate to Mesa 21.3 and newer.
- Removed the ANGLE D3D11 ARB_draw_elements_base_vertex workaround
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
21.10
New Features:
- The Vulkan renderer is now officially considered stable!
- Vulkan will be made the default when our crowdsourced test suite is complete
Deprecations:
- The Metal renderer is now deprecated
- Metal users should migrate to Vulkan via MoltenVK, which is far more stable and performant
- MetalRenderer will be removed in 22.01
Fixes:
- OpenGL: Work around a radeonsi Git driver regression related to point sprite state
- Vulkan:
- Fix a vertex texture sample race
- Avoid a possible crash when the OS does not a return a display's refresh rate
- D3D11:
- Work around a gigantic horrible Xbox OS regression for UWP swapchains
- Draw directly to the swapchain when a faux-backbuffer is not needed, improves performance
- Tracing: Minor VS2010 buildfix
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
21.09
Fixes:
- D3D11:
- Try to discard target textures before setting them as targets, fixes debug layer spam
- Fix vertex buffer state shadowing
- OpenGL: Work around errors caused by windows that default to 2X multisampling (Xwayland...)
- Tracing: Buffer disk writes, should dramatically improve tracing performance
- Continued work on the Vulkan pre-release
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors: