Search Issue Tracker
By Design
Votes
0
Found in
2020.3
2020.3.32f1
Issue ID
1422925
Regression
No
[Android][OpenGL] Crash when reading and writing the same RWTexture in a Compute Shader
How to reproduce:
1. Open the user's attached "sspr.zip" project
2. Open the Build Settings (File->Build Settings...)
3. Switch Platform to "Android"
4. Open the Player Settings (Edit->Project Settings...->Player)
5. In the Android tab, "Other Settings" section change active Graphics API to "OpenGLES3"
6. Build and Run the "SampleScene" on an Android device
Expected results: Crash
Actual results: No crash
Reproducible with: 2020.3.34f1
Not reproducible with: 2021.3.2f1
Unable to test with: 2019.4.38f1 because of error CS0234, 2022.1.0f1, 2022.2.0a12 because of the error CS0122: x is inaccessible due to its protection level
Reproducible with:
VLNQA00391, Xiaomi Redmi 9A (M2006C3LG), Android 10, CPU: MediaTek Helio G25 (MT6762G), GPU: PowerVR Rogue GE8320
VLNQA00313, Huawei Y6 Ⅱ Compact (HUAWEI LYO-L01), Android 5.1, CPU: MediaTek MT6735, GPU: Mali-T720
----------, Oppo Reno Z 中国版 (PCDM10), Android 11, CPU: NOT FOUND, GPU: PowerVR Rogue GM9446
VLNQA00335, Samsung Galaxy S20+ 5G (SM-G986B), Android 10, CPU: Exynos 990, GPU: Mali-G77
Stacktrace:
#00 (wrapper managed-to-native) UnityEngine.Rendering.ScriptableRenderContext:Submit_Internal_Injected (UnityEngine.Rendering.ScriptableRenderContext&)
#01 UnityEngine.Rendering.ScriptableRenderContext:Submit_Internal () <0x13>
#02 UnityEngine.Rendering.ScriptableRenderContext:Submit () <0x13>
#03 UnityEngine.Rendering.Universal.UniversalRenderPipeline:RenderSingleCamera (UnityEngine.Rendering.ScriptableRenderContext,UnityEngine.Rendering.Universal.CameraData,bool) <0x807>
#04 UnityEngine.Rendering.Universal.UniversalRenderPipeline:RenderCameraStack (UnityEngine.Rendering.ScriptableRenderContext,UnityEngine.Camera) <0xb13>
#05 UnityEngine.Rendering.Universal.UniversalRenderPipeline:Render (UnityEngine.Rendering.ScriptableRenderContext,UnityEngine.Camera[]) <0x103>
#06 UnityEngine.Rendering.RenderPipeline:InternalRender (UnityEngine.Rendering.ScriptableRenderContext,UnityEngine.Camera[]) <0x3f>
#07 UnityEngine.Rendering.RenderPipelineManager:DoRenderLoop_Internal (UnityEngine.Rendering.RenderPipelineAsset,intptr,System.Collections.Generic.List`1<UnityEngine.Camera/RenderRequest>) <0xcb>
#08 (wrapper runtime-invoke) <Module>:runtime_invoke_void_object_intptr_object (object,intptr,intptr,intptr)
Note:
- Not reproducible on Windows when using OpenGLES3 Graphics API
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
- Changing "PreWarm" parameters on VFX Graph leads to significant performance drops and freeze
- Player display resolution changes to the native resolution of the monitor when Player becomes unresponsive
- [Quest] Game View is no longer rendered in the HMD if it's hidden in the Editor when using Meta Link
- Unity auto-generates code it can't compile when classes are renamed
- Terrain's "Grass Tint" Color picker has Alpha 0 by default
Resolution Note (2022.2.X):
The shader is using a format that OpenGL ES 3.1 does not support for read and write access in the same shader.
Only R32 formats can be used that way. (GLSL ES 3.1 spec chapter 4.9 "Except for image variables qualified with the format qualifiers r32f, r32i, and r32ui, image variables must specify either memory qualifier readonly or the memory qualifier writeonly")
You should get the following warning in the Unity Editor's shader inspector: "Shader warning in 'SSPRReflectionColor': HLSLcc: The resource 'Result' uses an unsupported type/format for read/write access at kernel CSBlur (on gles3)"