Releases: FNA-XNA/FNA3D
21.06
Fixes:
-fpermissivefix 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:
20.12
New Features:
- Added an x64 configuration to visualc
Fixes:
- D3D11: Dramatically improved the error messages, notably for GetDeviceRemovedReason
- Continued work on the Vulkan beta
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
20.11
Modified Features:
- Metal is no longer the default on macOS, due to poor driver performance (especially on Big Sur)
- Metal is now the only renderer on iOS/tvOS, as OpenGL no longer applies for our supported hardware
Fixes:
- D3D11:
- Fix a couple potential memory leaks for shaders and the backbuffer
- Dramatically reduce memory use for games frequently using GetData
- Restore textures that were bound while also being used as render targets
- Fix bool uniform memory alignment
- Disable DXGI's keyboard shortcuts (or at least, try to... Microsoft pls)
- Metal: Force a pipeline flush when SetData is called on a texture that was bound on the same frame
- OpenGL: Return 0 from PrepareWindowAttributes when SDL_GL_LoadLibrary fails
- Continued work on the Vulkan beta
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
20.10
New Features:
- Add FNA3D_VULKAN_FORCE_MAILBOX_VSYNC environment variable
Fixes:
- API: Fix the SetRenderTargets parameter name for preserving target contents
- D3D11:
- Fix possible memory corruption for GetShader calls
- Various fixes/optimizations for the InputLayout cache
- Fix presenting the wrong region during window resizes
- Fix falling back to OpenGL when Feature Level 10_0 is not present
- Fix state shadowing for binding a single index buffer but with different index sizes
- CMake: Disable Vulkan/SPIR-V for Emscripten builds
- Xcode-iOS: Disable HLSL explicitly, to prevent the build from trying to include it
- Continued work on the Vulkan beta
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors:
20.09
First official release of FNA3D!
Thanks to our GitHub Sponsors, including...
Super Sponsors:
Sponsors: