Search Issue Tracker

Fixed

Fixed in 1.8.25

Votes

0

Found in [Package]

1.8.21

Issue ID

BUR-2882

Regression

No

Incorrect unsigned integer (uint) value comparisons are made when min() & max() functions are used with [BurstCompile(FloatPrecision.Low, FloatMode.Fast)]

Package: Burst

-

How to reproduce:
1. Open the attached project “IN-108878“
2. Open the window "Test Runner"
3. Find BuildBvhTest(20)
4. Right Click on BuildBvhTest(20)
5. Select “Run“
6. Open the window “Console“
7. Observe the Console

Expected result: A message is outputted in the Console “uint4(2393899008, 2393899008, 2393899008, 2393899008)“
Actual result: A message is outputted in the Console “uint4(1930428160, 2393899008, 2037382914, 2393899008)“

Reproducible with: 1.8.21(6000.0.54f1, 6000.1.12f1, 6000.2.0b10, 6000.3.0a2)
Could not test with: 1.8.20(6000.2.0a1) (Package error)

Reproducible on: Windows 11 Enterprise
Not reproducible on: No other environments tested

Workaround: Use [BurstCompile] with default settings

  1. Resolution Note (fix version 1.8.25):

    Burst would incorrectly use the floating point code path for `math.min` and `math.max` when using `FloatMode.Fast` which in effect turned unsigned comparison into signed comparison. The fix will be included in the next release of Burst.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.