Releases: FNA-XNA/FNA
Releases · FNA-XNA/FNA
19.05
New Features:
- Effect render state changes are now stored in a "PipelineCache", rather than a naively-tracked array of render state objects. This should reduce the memory used by Effects and improve portability for graphics APIs that use precompiled pipeline state objects.
- Update to FAudio 19.05
Fixes:
- Most uses of
msvcrt
have been replaced with C# equivalents, for improved CLR compatibility SetPresentationInterval
has been moved from FNAPlatform to IGLDevice- OpenGLDevice:
GL_PROGRAM_POINT_SIZE
is now handled by MojoShader - SDL2_FNAPlatform:
- Refactor SDL window/context flag management for future IGLDevice implementations
- FakeRWops now implements RWsize
19.04
New Features:
- Add FingerIdEXT extension
- Update to FAudio 19.04
- OpenGLDevice: Add support for PSIZE0 vertex attribute (compatibility profile only)
Fixes:
- OpenGLDevice: Fix debug extension checks for ES3
- TouchPanel: Event processing has been replaced with a new polling system
- GraphicsDeviceManager: Check PreferredDepthStencilFormat at device creation
19.03
New Features:
- ABI:
- Add MSBuild project files
- GamerServices/Net namespaces now reference the FNA.NetStub library
- Update to FAudio 19.03
Fixes:
- SpriteBatch: Non-immediate batches now use Discard when updating the vertex buffer
- OpenGLDevice: Clamp glPixelStorei alignment for texture uploads to 8, per the GL spec
- SDL2_FNAPlatform: Fix a possible crash on ShowRuntimeError when title/message are null
19.02
New Features:
- Add ABI compatibility files. This is useful when testing XNA-built games against FNA without using a relinking tool like XnaToFna beforehand.
- Update to FAudio 19.02
Fixes:
- SpriteBatch: Significant performance improvements for
Texture
,BackToFront
, andFrontToBack
sort modes - SoundEffect: Allow DopplerScale to be 0
- Effect: Various fixes for struct parameter support
19.01
New Features:
- FAudio now has its own release logs!
Fixes:
- Make GetHashCode consistent between Vector2/Vector3/Vector4
18.12
New Features:
- Add support for DisplayOrientation
- Add iOS dllmaps (os="osx" cpu="armv8")
- Update to SDL 2.0.9
- HIDAPI support for Xbox 360, Xbox One, DualShock 4, and Switch Pro controllers
- Windows/macOS: Left/Right motor support should be dramatically improved
- Windows: FAudio now automatically matches WASAPI's requested period size
Fixes:
- Various MonoPInvokeCallback attributes for native callbacks, needed on iOS
- Song: FromUri relative paths should be relative to the title root
- SoundEffect: Swap WaveFormatEx endianness for Xbox 360 content
- Texture2D: FromStream should seek to the beginning if the stream starts at the end
- OpenGLDevice: The default framebuffer/renderbuffer handles may not always be 0
18.11
New Features:
- Add full support for Microsoft.Xna.Framework.Input.Touch
Fixes:
- OpenGLDevice: Add explicit UnmanagedFunctionPointer attributes to delegates for .NET Native
18.10
New Features:
- FNA now officially supports Xbox One and Nintendo Switch
- The Audio/Media namespaces have been rewritten to use FAudio
Removed Features:
- The IALDevice interface has been removed
- Microphone is now supported via the FNAPlatform
- All other Audio/Media code uses FAudio instead
- OpenAL# and Vorbisfile# have been removed
- FAudio includes stb_vorbis, to replace Vorbisfile
- Removed FNA_AUDIO_DEVICE_NAME
- Use
SDL_AUDIO_DEVICE_NAME
instead
- Use
- Removed FNA_AUDIO_DISABLE_SOUND
- Applications not using Audio/Media no longer need this variable
- Set
SDL_AUDIODRIVER=dummy
if you still need a fallback
- Removed FNA_SONG_DISABLE_THREADS
- Song streaming is now asynchronous without spawning a special thread
- Removed VERBOSE_AL_DEBUGGING
- Removed BASIC_PROFILER
- Removed the Gendarme rule files, we no longer use Gendarme for code analysis
Modified Features:
- DynamicSoundEffectInstance: SubmitFloatBufferEXT now requires a buffer before playback begins
Fixes:
- Makefile now uses
mcs
instead ofdmcs
- DllImports no longer have ".dll" in them, improving .NET Core multiplatform support
- StorageDevice: Fix crash when DriveInfo is not available
- SDL2_FNAPlatform: BRUTE fixes for SDL_image interop
18.09
New Features:
- Add FNA_OPENGL_WINDOW_DEPTHSTENCILFORMAT environment variable
Fixes:
- Keyboard: GetState(PlayerIndex) was erroneously marked obsolete
- ContentReader: Optimize shared resource fixup layout
- ContentTypeReaderManager: Run additional fixups for heavily nested types in GetTypeReader
- ReflectiveReader:
- Reduce garbage generation when initializing the reader
- Properties no longer require a set accessor
- SDL2_FNAPlatform:
- Fix ClientSizeChanged regression for non-resizable windows
- Xbox One no longer attempts EXT_swap_control_tear VSync
18.08
New Features:
- OpenGLDevice: Added support for KHR_debug, in addition to ARB_debug_output
Fixes:
- SpriteBatch/SpriteFont: Various optimizations centered around redundant array accesses
- VideoPlayer: Added more safety checks to Dispose method
- OpenGLDevice: Independent write mask support now checks for all known variants of glColorMaski
- SDL2_FNAPlatform:
- Added a mouse state fallback for platforms without global mouse support
- Added an Environment.Directory fallback for platforms without AppDomain.CurrentDomain.BaseDirectory
- Possible safety fix for GetStorageRoot on macOS