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
- Foldout arrow indent is misaligned in the Inspector when used in Custom Type
- [Android] The Player screen turns black when playing a video under certain conditions
- Search window icons at the bottom are cut off when Search window is resized vertically
- "Try something else?" text label is cut off when searching for a long text in the Search window
- Rendering Debugger window sections do not have a minimum width set when resizing with the slider in the middle of the window
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)"