com.unity.burst 1.8.3
Source docsNotes: processedReleased February 6, 2023
Unity Compatibility
Minimum Unity: 2020.3
Package Dependencies
✨ Features
- Added selection of line and highlight of selected line and selected lines register usage.
- FunctionPointer()::Invoke usage is now checked and patched to ensure the calling convention is compatible with burst.
- Added SIMD smell test to the Burst Inspector, highlighting ARM or x86-64 SIMD instruction differently depending on whether they work for packed or scalar inputs.
- Added a toggle for filtering out ".Generated" jobs from the Burst Inspector target job list.
- Added a Burst AOT setting for the kind of debug information generated for player builds
🔧 Bug Fixes
- Fixed AoT linking error on Windows Link based linkers when file paths (typically user names/home folders) contain non-ASCII characters.
- Fixed ARM vector registers not being highlighted.
- Fixed Burst Inspector sometimes throwing ArugmentOutOfRangeException when copying without color-tags from assembly that is colored.
- Fixes error when calling direct call method from background thread without having previously called a `BurstCompiler` API from the main thread
- Fixes "Plain Without Debug Information" outputting assembly with debug information.
- Fixed a hashing error that could occur when a struct implements a generic interface multiple times with different generic parameters
- An issue that could cause function pointers to point to the wrong burst function, if a domain reload occurs and a compilation started before the reload, completes soon after.
- Fixed bug in a small set of managed fallback versions of intrinsics, where the bitwise representation of float values would not be maintained
- Fixed player build error that could occur if the project contains an assembly whose name doesn't match the assembly filename
- Crashes on 32bit cpus when an entry point with byvalue paramaters was called, when using dispatch (multiple supported cpu targets).
- Fixed module verification errors when using overloaded functions as function pointers
- Fixed an issue the definition order of overloaded methods with function pointer parameters would decide which overload was actually being used
- Fixed compiler AccessViolationException that could occur when compiling two or more types with the same name but different source assemblies
- Burst now updates its list of assembly paths if they change, for instance - adding packages that contain precompiled assemblies.
- Fixed a stall that could occur at Editor shutdown
- Fixed BC1361 error when trying to compile large static readonly arrays.
- Fixed compilation error when using `CompileFunctionPointer` from Burst in code compiled with Roslyn on .NET 7+
- Fixed a `BadImageFormatException` error that could occur in DOTS Runtime builds
- Fixed the inspector job tree view splitting jobs, with '.' in their parameters.
- Fixed internal compiler error when implcitly converting an array to a `Span`
- Fixed managed fallback implementation of `Sse4_2.cmpestrs`
- "LLVM IR Optimisation Diagnostics" tab in Burst Inspector was blank if "Native Debug Mode Compilation" was enabled; this is now fixed
- Fixed burst tree view items leading to wrong job if some jobs where hidden from view by filter or similar.
- Fixed "Callee/caller attribute ABI did not match!" error that could occur in certain player builds when calling an entry point that had at least one struct-by-value parameter
- Fixed namespace collision that could occur between Unity.Burst.Cecil.dll and the com.unity.nuget.mono-cecil package
- Enum values cast to integers in a format string previously output the enum type name; now the integer value is correctly output
- Fix Burst compilation on QNX Arm
- Fixed visual artifact in Burst Inspector, where block of enhanced code was cut at the bottom.
- Fixed compiler crash when invoking `FunctionPointer`s based on a generic delegate in DOTS Runtime
- Fixed internal compiler error that occurred when creating debug metadata from certain obfuscated dlls
- Fixed "Assertion failed on expression: ‘exception == SCRIPTING\_NULL’” errors and editor crash when the project path contained multi-byte Unicode characters
📈 Improvements
- Changed burst inspector source location comments from "===" to either ";" or "#" depending on the given assembly kind.
- Changed horizontal code focus in the Burst Inspector to only scroll when branches fill more than half the space
- Changes so target job list in the Burst Inspector is a fold-able/expandable tree view, instead of a simple list.
- Improved how optimisation remarks are displayed in the "LLVM IR Optimisation Diagnostics" tab in Burst Inspector to make them more useful
- Burst now only generates full debug information when "Native Debug Mode Compilation" and script debug information is enabled
