Releases: FNA-XNA/FNA3D
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:
21.06
Fixes:
-fpermissive
fix for C++ compilers- Minor cleanup for OpenGLRenderer
- Minor cleanup for the template driver
- Continued work on the Vulkan pre-release
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
21.05
Fixes:
- Minor Xcode project file updates
- OpenGL: Fix setting present interval for EGL-based contexts
- Continued work on the Vulkan pre-release
- Added
FNA3D_VULKAN_DEVICE_LOCAL_HEAP_USAGE_FACTOR
- Removed
FNA3D_VULKAN_MEMORY_REQUIREMENT
- Added
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
21.04
Fixes:
- OpenGL:
- Fix a possible conditional on uninitialized memory in ReadBackbuffer
- Builds no longer require SDL_syswm.h, unless you're building for UIKit
- VertexElementFormat.Color input should be normalized, even if VertexElementUsage is not also Color
- Work around Wayland transparency issues by inaccurately forcing an RGB8 backbuffer, rather than RGBA8
- D3D11: Various threading safety fixes, notably for shader programs and ReadBackbuffer
- Fixed a tracing bug that caused data to get overwritten after calling ResetBackbuffer
- Continued work on the Vulkan pre-release
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
21.03
New Features:
- Added support for tracing FNA3D call streams. FNA3D binaries built with tracing enabled will capture FNA3D calls and serialize them to a file, which can be played back on any platform and renderer with the program found in the replay/ folder. Note that these traces contains texture/buffer data, so be careful to respect copyrights regarding game data!
Fixes:
- Fix a possible crash when calling SetRenderTargets with 0 targets but a non-null target array
- Micro-optimize OpenGL thread commands by skipping the round-trip through the public FNA3D API
- Continued work on the Vulkan pre-release
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
21.02
New Features:
- Added FNA3D_SysRenderer.h, which contains extensions for external graphics middleware interop
Fixes:
- Fix VPOS for OpenGL ES contexts
- Pipeline cache data is now properly invalidated when associated shaders are deleted
- Wrap-up work on the Vulkan beta, now in the release candidate stage
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
21.01
New Features:
- CMake: Add a build option to allow disabling the D3D11 backend
Fixes:
- Enforce SDL 2.0.12 or newer as a build requirement
- Fix GLSL support for PSIZE1+ attributes
- Continued work on the Vulkan beta
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors: