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
- Shader warning in 'Hidden/Core/DebugOccluder' thrown after building High Definition 3D Sample Template
- Audio Mixer “+” buttons overlap with UI when the Audio Mixer window layout is set to Horizontal
- "Clear" button in the "Set project display name" closes all the pop-up instead of clearing just a name from the field
- Video Player renders no video on specific devices when using Vulkan
- The Editor slows itself down by showing tons of warnings when the majority of TransformAccessArrays content are NullRefs
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)"