MonoGame 3.8.6
StableMonoGame Foundation, released Oct 8
MonoGame 3.8.6 adds a native OpenGL backend and Nintendo Switch 2 support. It also includes many Vulkan, DX12 and DesktopGL fixes and new math and texture APIs.
Highlights
- Native OpenGL backend added
- Nintendo Switch 2 support added
- Two-sided stencil state implemented for Vulkan and DX12 backends
- Texture2D SetData span overloads and new vector and quaternion transform methods
- Smaller install size from stripped binaries, and dependencies with security vulnerabilities removed
Changelog
New12
- Native OpenGL backend
- Nintendo Switch 2 support
- Two-sided stencil state for Vulkan and DX12 backends
- Texture2D SetData span overloads
- Vector3.TransformCoord
- Vector4 Quaternion transforms
- Round method overloads for vector structs
- Srgb8Etc2, Srgb8A1Etc2 and SRgb8A8Etc2 surface formats supported in GetColorData
- StorageContainer classes re-added
- Native GPU handles exposed
- External texture can be wrapped in a RenderTarget2D
- Builds can run on a Docker Linux image
Improved11
- Install size reduced by stripping binaries
- Dependencies with security vulnerabilities removed
- Xbox updates
- DX12 fixes part IV
- Block on processing compressed textures removed, with test cases added
- Content Builder build outputs cleaned up to English only
- Song.Native work refactored into the native MGM
- More tests enabled on macOS and Linux
- Pipeline warning cleanup
- XML documentation added for GraphicsAdapter and Album's GetAlbumArt and GetThumbnail overloads
- SpriteBatch.Draw doc comments now state rotation is in radians
Fixed15
- Bad NormalizedShort2/4 format in Vulkan
- Matrix.GetHashCode() implementation
- Backbuffer resizing on native
- Missing state changes in video player
- Vulkan RenderTarget sync
- WindowsDX RenderTargetCube MSAA depth rendering
- Render target retention after dispose
- SpriteFont whitespace advance when kerning is disabled
- Lock order violation in OggStreamer background thread
- Relative OutputDirectory in ContentBuilderProcessorContext
- DesktopGL scissor test now temporarily disabled during clear to match XNA behavior
- DesktopGL MRT outputs masked for single output shaders
- Vulkan swapchain size handling that caused a recreation loop
- FBX models importing sideways
- DesktopGL fallback when an MSAA request creates a non-MSAA framebuffer
Before you upgrade
- The build command now uses the '--mg-arch' option.