Bug 223337

Summary: webgl/2.0.1/conformance/misc/expando-loss.html fails
Product: WebKit Reporter: Kimmo Kinnunen <kkinnunen>
Component: WebGLAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: dino, kbr, kkinnunen, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 222812    

Description Kimmo Kinnunen 2021-03-17 00:23:30 PDT
webgl/2.0.1/conformance/misc/expando-loss.html fails
Comment 1 Kimmo Kinnunen 2021-03-17 01:10:11 PDT
https://www.khronos.org/registry/webgl/sdk/tests/conformance/misc/expando-loss.html?webglVersion=2&quiet=0&quick=1

This test verifies that WebGL object expandos are preserved across garbage collections.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".

Basic Bindings
PASS getParameter(TEXTURE_BINDING_2D) returns instance that was bound.
PASS getParameter(TEXTURE_BINDING_2D): Expect basic expando to survive despite GC.
PASS getParameter(TEXTURE_BINDING_2D): Expect subobject expando to survive despite GC.
PASS getParameter(FRAMEBUFFER_BINDING) returns instance that was bound.
PASS getParameter(FRAMEBUFFER_BINDING): Expect basic expando to survive despite GC.
PASS getParameter(FRAMEBUFFER_BINDING): Expect subobject expando to survive despite GC.
PASS getParameter(RENDERBUFFER_BINDING) returns instance that was bound.
PASS getParameter(RENDERBUFFER_BINDING): Expect basic expando to survive despite GC.
PASS getParameter(RENDERBUFFER_BINDING): Expect subobject expando to survive despite GC.
PASS getParameter(ELEMENT_ARRAY_BUFFER_BINDING) returns instance that was bound.
PASS getParameter(ELEMENT_ARRAY_BUFFER_BINDING): Expect basic expando to survive despite GC.
PASS getParameter(ELEMENT_ARRAY_BUFFER_BINDING): Expect subobject expando to survive despite GC.
PASS getParameter(ARRAY_BUFFER_BINDING) returns instance that was bound.
PASS getParameter(ARRAY_BUFFER_BINDING): Expect basic expando to survive despite GC.
PASS getParameter(ARRAY_BUFFER_BINDING): Expect subobject expando to survive despite GC.
PASS getParameter(TEXTURE_BINDING_CUBE_MAP) returns instance that was bound.
PASS getParameter(TEXTURE_BINDING_CUBE_MAP): Expect basic expando to survive despite GC.
PASS getParameter(TEXTURE_BINDING_CUBE_MAP): Expect subobject expando to survive despite GC.

Programs and Shaders
PASS getParameter(gl.CURRENT_PROGRAM) return instance set with useProgram
PASS Vertex shader instance found in getAttachedShaders
PASS Fragment shader instance found in getAttachedShaders
PASS Current program: Expect basic expando to survive despite GC.
PASS Current program: Expect subobject expando to survive despite GC.
PASS [object WebGLProgram] is an instance of WebGLProgram
PASS Shader[0]: Expect basic expando to survive despite GC.
PASS Shader[0]: Expect subobject expando to survive despite GC.
PASS [object WebGLShader] is an instance of WebGLShader
PASS Shader[1]: Expect basic expando to survive despite GC.
PASS Shader[1]: Expect subobject expando to survive despite GC.
PASS [object WebGLShader] is an instance of WebGLShader

Vertex Attribute Buffers
PASS getVertexAttrib(VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) return instance set with vertexAttribPointer
PASS Vertex Attribute Buffer: Expect basic expando to survive despite GC.
PASS Vertex Attribute Buffer: Expect subobject expando to survive despite GC.
PASS [object WebGLBuffer] is an instance of WebGLBuffer

FrameBuffer Attachments
PASS getFramebufferAttachmentParameter(COLOR_ATTACHMENT0) returns instance set with framebufferRenderbuffer
PASS getFramebufferAttachmentParameter(DEPTH_ATTACHMENT) returns instance set with framebufferRenderbuffer
PASS getFramebufferAttachmentParameter(STENCIL_ATTACHMENT) returns instance set with framebufferRenderbuffer
FAIL getFramebufferAttachmentParameter(DEPTH_STENCIL_ATTACHMENT) returns instance set with framebufferRenderbuffer
PASS COLOR_ATTACHMENT0: Expect basic expando to survive despite GC.
PASS COLOR_ATTACHMENT0: Expect subobject expando to survive despite GC.
PASS [object WebGLRenderbuffer] is an instance of WebGLRenderbuffer
PASS DEPTH_ATTACHMENT: Expect basic expando to survive despite GC.
PASS DEPTH_ATTACHMENT: Expect subobject expando to survive despite GC.
PASS [object WebGLRenderbuffer] is an instance of WebGLRenderbuffer
PASS STENCIL_ATTACHMENT: Expect basic expando to survive despite GC.
PASS STENCIL_ATTACHMENT: Expect subobject expando to survive despite GC.
PASS [object WebGLRenderbuffer] is an instance of WebGLRenderbuffer
FAIL successfullyParsed should be true (of type boolean). Was undefined (of type undefined).

TEST COMPLETE
Comment 2 Kimmo Kinnunen 2021-03-17 01:45:44 PDT
At least macOS 11.3, iMacPro1,1, Radeon Pro Vega 56
Comment 3 Radar WebKit Bug Importer 2021-03-24 00:24:13 PDT
<rdar://problem/75773979>
Comment 4 EWS 2022-07-21 11:41:34 PDT
Committed 252695@main (70f7b05838c5): <https://commits.webkit.org/252695@main>

Reviewed commits have been landed. Closing PR #2038 and removing active labels.