Releases: FNA-XNA/FNA3D
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:
21.08
Fixes:
- D3D11:
- Fix a crash on presentation due to overlays violating thread safety rules (looking at you, EGS)
- Fix generating color renderbuffers with no multisampling support
- OpenGL: Explicitly check for anisotropic filtering support, fixes support for llvmpipe in particular
- Continued work on the Vulkan pre-release
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
21.07
New Features:
- MojoShader has migrated from Mercurial to Git, and we have transferred ownership of our repository to Ryan C. Gordon, the original author of MojoShader. All previous links should remain valid, but our Git history is now the official history!
Fixes:
- D3D11: Fix emitting POSITION1+ attributes in HLSL shaders
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors: