Skip to content

Releases: FNA-XNA/FNA3D

22.05

01 May 15:59
Compare
Choose a tag to compare

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

01 Apr 15:52
Compare
Choose a tag to compare

New Features:

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

01 Mar 16:52
Compare
Choose a tag to compare

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

01 Feb 15:51
Compare
Choose a tag to compare

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 into FNA3D_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

01 Jan 16:50
Compare
Choose a tag to compare

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

01 Dec 16:42
Compare
Choose a tag to compare

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

01 Nov 15:44
Compare
Choose a tag to compare

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

01 Oct 15:02
Compare
Choose a tag to compare

New Features:

  • The Vulkan renderer is now officially considered stable!

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

01 Sep 15:45
Compare
Choose a tag to compare

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

01 Aug 15:40
Compare
Choose a tag to compare

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: