On the G71 (Samsung Galaxy 8) and G72 (Samsung Galaxy 9) we are having issues using the EGL_EXT_protected_content and GL_EXT_protected_textures extensions in our pipeline.
It seems that repeated destruction and creation of a secure context results in corrupted textures (ghosting, flashing screens, blocky artifacts across the screen). At first we thought it was a synchronisation issue, but adding in fences at appropriate points unfortunately didn't do anything. glFinish() calls seemed to improve the situation a little, but it just took slightly longer to see the problem happening again.
This is also happening when we use either textures or hardware buffers. The G71 exhibits the behaviour within the first 2-3 context recreations, and the G72 takes slightly longer.
We've modified one of the NDK samples that renders to a texture for a test case and are happy to send over the APK if anyone wants to have a better look at what's happening.
Sorry it took a couple of days to come back to you. I have been in contact with several engineers in the driver team looking for any potential workaround to the reported issue. Unfortunately, we can’t provide such a workaround. I would suggest to contact the OEM, in this case Samsung, for any update of the driver.
Thank you for reporting the issue.