Steps to reproduce:
- Import attached package in URP project with VFX package available
- Open VFX "UUM_128198_Simplified_Repro"
- Open Scene
Actual results:
The two sphere have different radius:
[Internal link]
There are three ways of change if:
- Disable Set Scale block in Update (which is actually writing scale {1,1,1})
[Internal link]
Or
- Switch to Runtime Mode
[Internal link]
Or
- Enable Debug Symbol in VFX preference
[Internal link]
Expected results:
The two sphere have the same radius:
[Internal link]
Reproducible with versions: 6000.64f1
Not reproducible with versions: 6000.1.0a6
Can’t test with versions: N/A
Tested on (OS): Windows
Notes:
- The issue has been involuntary fixed by the change #55907 (152ffc69c650565c8c7c99143ea14c70824ebeb4) which optimize attribute layout and this exact issue isn't reproducible with more recent revision
- This is reproducible in runtime (see Repro_Simplest_UUM_128198, it plugs properties to boolean slot in the update context)
- The failure seems to come from FXC, same shader, look at `store_raw` count in IL output, we except 7 values (32bits) written, so, at least two store_raw (which handle 4 value written)
- https://shader-playground.timjones.io/7ab31914c581a1155cf38cd25da39c20 in cs_5_0 🔴
- https://shader-playground.timjones.io/0e336f681f9718c3ad7d1e510384e69e in cs_5_1 🟢
- The problem is not reproducible on PS4/PS5/XboxOne/XboxSeries (because these platform doesn't use FXC)