Crash glBlitFramebuffer() on PowerVR GE8320

Hello.

We are currently developing using Unreal Engine 5.5.4.
During playing, we encountered a crash that occurs only on devices with PowerVR GE8320 when change screen orientation.
The crash happens in glBlitFramebuffer() during screen rotation.

The occurred devices :

  • Realme C2 (RMX1941) – Android 9, OpenGL ES 3.2 build 1.10@5130912
  • Oppo A78 (CPH2483) – Android 12, OpenGL ES 3.2 build 1.10@5130912

Below is the crash backtrace that occurred when playing the engine template project with the OpenGL renderer on the Realme C2.

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'Realme/RMX1941/RMX1941:9/PPR1.180610.011/1616400576:user/release-keys'
Revision: '0'
ABI: 'arm64'
pid: 29871, tid: 30200, name: Thread-4  >>> com.YourCompany.MyProject <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x4f0
Cause: null pointer dereference
    x0  0000000000000001  x1  000000000000302a  x2  0000000000000001  x3  00000070b4115600
    x4  0000000000000000  x5  00000070b4115420  x6  0000000000000010  x7  00000000ffffffff
    x8  0000000000000000  x9  0000000000000002  x10 0000000000000000  x11 000000000000302a
    x12 00000000000002d0  x13 0000000000000001  x14 0000000000000001  x15 aaaaaaaaaaaaaaab
    x16 000000710d69ecf8  x17 000000710d6dfba4  x18 00000071a15bb000  x19 00000070fc191780
    x20 00000070fc1997e8  x21 00000070fc11dc00  x22 00000070fc195c80  x23 0000000000000000
    x24 0000000000000000  x25 00000070b4115c08  x26 0000000000000000  x27 0000000000000000
    x28 00000070b4115c18  x29 00000070b4115af0
    sp  00000070b4115660  lr  000000710c91ed48  pc  000000710c91ed54

backtrace:
    #00 pc 0000000000015d54  /vendor/lib64/egl/libGLESv2_mtk.so
    #01 pc 0000000000015950  /vendor/lib64/egl/libGLESv2_mtk.so (glBlitFramebuffer+5320)
    #02 pc 00000000121b2cd0  /data/app/com.YourCompany.MyProject-Di88srMiG05wSnVmTvF9xw==/lib/arm64/libUnreal.so (offset 0xaa5f000)
    #03 pc 0000000012209524  /data/app/com.YourCompany.MyProject-Di88srMiG05wSnVmTvF9xw==/lib/arm64/libUnreal.so (offset 0xaa5f000) (FOpenGLDynamicRHI::UnlockTexture2DArray_RenderThread(FRHICommandListImmediate&, FRHITexture*, unsigned int, unsigned int, bool)+1200)
    #04 pc 000000000c8e0e54  /data/app/com.YourCompany.MyProject-Di88srMiG05wSnVmTvF9xw==/lib/arm64/libUnreal.so (offset 0xaa5f000)
    #05 pc 000000000c8ad5f0  /data/app/com.YourCompany.MyProject-Di88srMiG05wSnVmTvF9xw==/lib/arm64/libUnreal.so (offset 0xaa5f000) (GetTypeHash(FSamplerStateInitializerRHI const&)+40)