Search Issue Tracker
Fixed in 2020.2.X
Fixed in 2019.4.X, 2020.1.X
Votes
0
Found in
2018.4
2019.3
2019.3.3f1
2020.1
2020.2
Issue ID
1227481
Regression
Yes
[Vulkan] Alpha channel is modified when copying between two RGBAFloat textures in compute shader and RGB channels are unused
Reproduction steps:
1. Open the attached project ("case_1227481-VulkanRepro.zip")
2. Open the repro scene ("Scene")
3. Inspect the gradient texture generated by compute shader
4. In Hierarchy, select Main Camera
5. In Inspector, find "Test Renderer (Script)" component
6. Change "Copy Mode" to "Alpha Only"
Expected result: Alpha channel should remain unchanged, as it was copied
Actual result: Alpha channel data changes (game view becomes black)
Reproducible with: 2018.4.20f1, 2019.3.7f1, 2020.1.0b4, 2020.2.0a5
Not reproducible with: 2017.4.39f1
Notes:
1. The issue reproduces on Vulkan graphics API
2. The issue does not reproduce on DX11, DX12 graphics APIs
3. If _CopySource type in TestCompute.compute is changed to Texture2D<float4>, alpha works as expected.
4. The issue happens only for B and A channels - if R or G are preserved instead, they work as expected.
5. Alpha is probably not really zeroed - in more complex cases channels are modified, but still based on default values (e.g. color shift, value range change).
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Prefab's scripts are constantly reloaded when trying to enter multiple digits or characters into public fields on custom scripts consecutively
- Crash on mono_g_hash_table_find_slot when entering Play Mode
- [iOS] Crash when pressing "Done" on the keyboard layout
- Sprite Atlas remains loaded in memory after scene change or unloading assets
- Decompressing a DeflateStream under IL2CPP misses a few bytes
Resolution Note (fix version 2020.2):
Fixed in 2020.2.0a12
Resolution Note (fix version 2020.1):
Fixed in 2020.1.0b10
Resolution Note (fix version 2019.4):
Fixed in 2019.4.1f1