Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e7c1f6f9f7324a8344e46935d407b777876d5004
https://github.com/WebKit/WebKit/commit/e7c1f6f9f7324a8344e46935d407b777876d5004
Author: Kimmo Kinnunen <[email protected]>
Date: 2026-03-02 (Mon, 02 Mar 2026)
Changed paths:
A LayoutTests/webgl/unused-uniform-location-expected.txt
A LayoutTests/webgl/unused-uniform-location.html
M Source/WebCore/html/canvas/WebGL2RenderingContext.cpp
M Source/WebCore/html/canvas/WebGLProgram.cpp
M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
M Source/WebCore/platform/graphics/GraphicsContextGLActiveInfo.h
M Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp
M Source/WebKit/Shared/WebGL.serialization.in
Log Message:
-----------
REGRESSION (301944@main): WebGL uniform block variables get uniform location
objects
https://bugs.webkit.org/show_bug.cgi?id=309018
rdar://171569214
Reviewed by Dan Glastonbury.
Default uniform block variables ("regular uniforms") are the ones that
get location.
Uniform block variables get block index. WebKit would return
WebGLUniformLocation object referring to -1 location when uniform block
name would be queried for getUniformLocation().
Fix by filtering active uniforms that have block index != -1 when
constructing the default uniform block location map.
Test: webgl/unused-uniform-location.html
* LayoutTests/webgl/unused-uniform-location-expected.txt: Added.
* LayoutTests/webgl/unused-uniform-location.html: Added.
* Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getActiveUniforms):
* Source/WebCore/html/canvas/WebGLProgram.cpp:
* Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::getActiveUniform):
* Source/WebCore/platform/graphics/GraphicsContextGLActiveInfo.h:
* Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::activeUniforms):
* Source/WebKit/Shared/WebGL.serialization.in:
Canonical link: https://commits.webkit.org/308507@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications