Skip to content

Releases: FNA-XNA/FNA

20.12

01 Dec 16:17
Compare
Choose a tag to compare

New Features:

Fixes:

  • Prevent binding a texture at the same time that it is being used as a render target
  • SDL2_FNAPlatform: GraphicsAdapter.Adapters should be rebuilt on any display change
  • GraphicsDevice: Fix SetRenderTargets(null) not passing RenderTargetUsage
  • Harden SoundEffect.FromStream for incomplete WAV chunks

Thanks to our GitHub Sponsors, including...

Super Sponsors:

Sponsors:

20.11

01 Nov 14:53
Compare
Choose a tag to compare

New Features:

  • SoundEffect.FromStream now supports loop points from smpl chunks
  • DDSFromStreamEXT now supports TextureCube
  • Update to FNA3D 20.11
  • Update to FAudio 20.11

Fixes:

  • SoundEffect: Fix native object cleanup when no audio device is available
  • SDL2_FNAPlatform:
    • Force SDL_GAMECONTROLLER_USE_BUTTON_LABELS=0, because Steam is incredibly dumb
    • The backslash/pipe key now correctly maps to OemPipe
    • The menu/apps key is now properly mapped

Thanks to our GitHub Sponsors, including...

Super Sponsors:

Sponsors:

20.10

01 Oct 14:58
Compare
Choose a tag to compare

New Features:

  • TextInputEXT: Add TextEditing event, allowing for improved CJK text composition
  • Update to FNA3D 20.10
  • Update to FAudio 20.10

Fixes:

  • SDL2_FNAPlatform:
    • For ApplyChanges, cancel out minimize/maximize behavior
    • Ignore resize events when the window is not in focus
  • SpriteBatch: Fix sprite sorting for batches larger than 2048 sprites
  • WaveBank disposal now explicitly closes streaming files, per FAudio 20.10 compliance
  • Windows: Mixing 32/64-bit binaries now emits a slightly nicer BadImageFormatException

Thanks to our GitHub Sponsors, including...

Super Sponsors:

Sponsors:

20.09

01 Sep 15:12
Compare
Choose a tag to compare

New Features:

  • IGLDevice has been replaced with FNA3D, the new graphics library for FNA!
    • Direct3D 11 is now supported and is the default for Windows/Xbox
    • Vulkan is now available as an experimental backend
    • Metal is now the default for Apple platforms
    • ModernGL and ThreadedGL have been removed
    • THREADED_GL and DISABLE_THREADING have been removed
    • MojoShader is now statically linked directly into FNA3D
    • SDL2_image has been replaced with FNA3D_Image, which is built into FNA3D
  • Add experimental support for WebAssembly via Emscripten and mono-wasm
  • Update to FAudio 20.09

Modified Features:

  • SetStringMarkerEXT is now always present, you no longer need to wrap it in a try block
  • The following environment variables have been renamed:
    • FNA_GRAPHICS_FORCE_GLDEVICE
    • FNA_GRAPHICS_MOJOSHADER_PROFILE
    • FNA_GRAPHICS_BACKBUFFER_SCALE_NEAREST
    • FNA_OPENGL_DISABLE_LATESWAPTEAR
    • FNA_OPENGL_WINDOW_DEPTHSTENCILFORMAT
    • FNA_OPENGL_FORCE_ES3
    • FNA_OPENGL_FORCE_CORE_PROFILE
    • FNA_OPENGL_FORCE_COMPATIBILITY_PROFILE
  • The above variables are now under the FNA3D namespace:
    • FNA3D_FORCE_DRIVER
    • FNA3D_MOJOSHADER_PROFILE
    • FNA3D_BACKBUFFER_SCALE_NEAREST
    • FNA3D_DISABLE_LATESWAPTEAR
    • FNA3D_OPENGL_WINDOW_DEPTHSTENCILFORMAT
    • FNA3D_OPENGL_FORCE_ES3
    • FNA3D_OPENGL_FORCE_CORE_PROFILE
    • FNA3D_OPENGL_FORCE_COMPATIBILITY_PROFILE

Removed Features:

  • Removed WIIU_GAMEPAD build option

Fixes:

  • Game.RunOneFrame() now polls OS events, and no longer calls BeginRun/EndRun

Thanks to our GitHub Sponsors, including...

Super Sponsors:

Sponsors:

20.08

01 Aug 15:41
Compare
Choose a tag to compare

New Features:

Removed Features:

  • dllmaps for iOS/tvOS have been removed, due to the upcoming macOS ARM release
    • See the wiki for more information about the replacement

Fixes:

  • Remove dead code in ModelReader, should mildly improve load performance

Thanks to our GitHub Sponsors, including...

Super Sponsors:

Sponsors:

20.07

01 Jul 15:35
Compare
Choose a tag to compare

New Features:

Fixes:

  • Typo fix in ProfileCapabilities
  • Add a lock to the DynamicSoundEffectInstance list in FrameworkDispatcher
  • UTF8: Fix a potential buffer overread when passing null managed strings to native code

Thanks to our GitHub Sponsors, including...

Super Sponsors:

Sponsors:

20.06

01 Jun 14:08
Compare
Choose a tag to compare

New Features:

  • Added ProfileCapabilities, a secret internal XNA class that doesn't really do anything!
  • Update to FAudio 20.06

Fixes:

  • UTF8 marshaling no longer allocates managed memory, dramatically improving P/Invoke performance
  • SpriteBatch: CheckBegin is now done in release builds, not just debug builds
  • SoundEffectInstance: Add ObjectDisposedException to Pan/Apply3D
  • XACT: Reduce garbage generation from IntPtr comparisons
  • EffectMaterialReader: Fixed missing int[] parameter reading

Thanks to our GitHub Sponsors, including...

Super Sponsors:

Sponsors:

20.05

01 May 14:18
Compare
Choose a tag to compare

New Features:

  • VideoPlayer: YUV 4:2:2 and 4:4:4 formats are now supported!
  • Update to FAudio 20.05

Fixes:

  • MouseState: ToString now prints the full state in detail
  • MetalDevice: Don't use Depth16 as a fallback for Depth24
  • OpenGLDevice: Add fallback for windows with D32S8 depth formats
  • EffectPass: Applying a pass not in the CurrentTechnique now throws InvalidOperation
  • VideoPlayer: YUV->RGB conversion now follows ITU-R BT.709 instead of ITU-R BT.601

Thanks to our GitHub Sponsors, including...

Super Sponsors:

Sponsors:

20.04

01 Apr 15:10
Compare
Choose a tag to compare

New Features

  • Update to SDL 2.0.12
  • Update to FAudio 20.04

Fixes:

  • Eliminate garbage generation from GamePadState structures
  • GraphicsDevice constructor now explicitly sets swap interval for all GLDevices
  • OpenGLDevice: Fix a bogus ColorMask in Clear that was swapping G and B
  • Effect:
    • Unhandled render/sampler state changes are now printed with the Exception
    • Add a no-op case for the mysterious "178" render state

Thanks to our GitHub Sponsors, including...

Super Sponsors:

Sponsors:

20.03

01 Mar 15:56
Compare
Choose a tag to compare

New Features

  • FNA now checks for an FNA.Settings.props file next to the solution file. This makes it possible to use Build Options without modifying the FNA source code.
  • MetalDevice now runs with the validation layer enabled in Debug builds
  • Update to FAudio 20.03

Fixes:

  • Even moar accuracy fixes for IGraphicsDeviceManager/Service initialization
  • MetalDevice: Create the backbuffer on device creation, not at the first reset
  • Allow .NET 4.0 projects to reference FNA.Core (for real this time)
  • Fix dllmaps on OpenBSD

Thanks to our GitHub Sponsors, including...

Super Sponsors:

Sponsors: