Skip to content

Releases: FNA-XNA/FNA3D

22.09

01 Sep 14:06
Compare
Choose a tag to compare

New Features:

  • D3D11: DXVK targets now get their D3DCompile function from vkd3d-utils
    • Because this compiler is not finished yet, D3D11 now has to be explicitly forced for DXVK targets

Fixes:

  • D3D11: Fix GetDrawableSize for Win32/GDK

Thanks to our GitHub Sponsors, including...

Super Sponsors:

Sponsors:

22.08

01 Aug 15:42
Compare
Choose a tag to compare

Fixes:

  • Vulkan:
    • Fix support for BC7 textures
    • Fix a buffer memory leak in the case where the client is pushing vertex data to one buffer frequently
    • Treat whole-buffer updates using SetDataOptions.None as Discard, improving performance/stability

Thanks to our GitHub Sponsors, including...

Super Sponsors:

Sponsors:

22.07

01 Jul 15:51
Compare
Choose a tag to compare

New Features:

  • Vulkan now uses the callback feature of VK_EXT_debug_utils, when debug mode is enabled

Fixes:

  • Vulkan: Handle VK_INCOMPLETE during device enumeration

Thanks to our GitHub Sponsors, including...

Super Sponsors:

Sponsors:

22.06

01 Jun 12:44
Compare
Choose a tag to compare

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

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: