com.unity.burst 1.8.3

com.unity.burst

Source docs
Notes: processedReleased February 6, 2023

Browse versions

PreviousNext

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

API Changes

    ⚠️ Known Issues