Bug 241417

Summary: Multisampled renderbuffer loses content when switched
Product: WebKit Reporter: Juraj Bleho <bleho>
Component: WebGLAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: dino, kbr, kkinnunen, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari 15   
Hardware: iPhone / iPad   
OS: iOS 15   

Description Juraj Bleho 2022-06-08 07:38:26 PDT
I guess GPU uses internal memory for rendering output. This output is copied into main memory when switching to different render target. When using MS render buffer data are copied out only after first use.
Steps to reproduce:
1. create multisampled renderbuffer (color/depth doesn't matter)
2. render something into this render buffer
3. switch to different framebuffer
4. switch back to previous multisampled render buffer
5. render something else (overwrite data from step 2)
6. switch to different framebuffer
7. read data from multisampled renderbuffer and observe that it contains data from step 2 instead of data from step 5.

Also noticed that gl.clear doesn't work with MS render buffer.
Comment 1 Kenneth Russell 2022-06-10 16:43:22 PDT
Please provide a self-contained test case and please tell us on exactly what hardware and which version of Safari the problem is reproduced. Thanks.
Comment 2 Radar WebKit Bug Importer 2022-06-15 07:39:12 PDT
<rdar://problem/95201546>