Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 091cad83074b8af99d15f8c29336fc760ffff24f
https://github.com/WebKit/WebKit/commit/091cad83074b8af99d15f8c29336fc760ffff24f
Author: Cameron McCormack <[email protected]>
Date: 2026-08-31 (Mon, 31 Aug 2026)
Changed paths:
M LayoutTests/fast/canvas/webgl/webgl2-texture-upload-enums.html
M LayoutTests/platform/mac/TestExpectations
Log Message:
-----------
Read RGB8 color buffers as RGBA and restore console suppression in
webgl2-texture-upload-enums.html
https://bugs.webkit.org/show_bug.cgi?id=322959
rdar://186229838
Reviewed by Dan Glastonbury.
Two independent problems.
279786@main added a `if (window.internals)` guard to eight sibling tests and
`if (window.internal)` to this one, so setWebGLErrorsToConsoleEnabled(false)
never ran and thirty console messages leaked into the output.
Two cases also read an RGB8 color buffer with RGB/UNSIGNED_BYTE. readPixels
accepts the pair implied by the buffer's component type, which is
RGBA/UNSIGNED_BYTE here, or the implementation-dependent pair reported by
IMPLEMENTATION_COLOR_READ_FORMAT and _TYPE. Metal has no 24-bit color format so
RGB8 is backed by RGBA8 and ANGLE reports RGBA, making RGB/UNSIGNED_BYTE
invalid.
The Vulkan backend behaves the same way, and the upstream conformance test reads
an RGB8 framebuffer as RGBA/UNSIGNED_BYTE. These cases have failed since macOS
moved to ANGLE-on-Metal.
No baseline change is needed: with both fixed, the output matches the existing
expectation again.
* LayoutTests/fast/canvas/webgl/webgl2-texture-upload-enums.html:
* LayoutTests/platform/mac/TestExpectations:
Canonical link: https://commits.webkit.org/320210@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications