Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 19a2252db08cadac7ce04a570c7d4be1db253245 https://github.com/WebKit/WebKit/commit/19a2252db08cadac7ce04a570c7d4be1db253245 Author: Kimmo Kinnunen <kkinnu...@apple.com> Date: 2023-06-01 (Thu, 01 Jun 2023)
Changed paths: M Source/WTF/wtf/StdLibExtras.h M Source/WebCore/html/canvas/WebGL2RenderingContext.cpp M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp M Source/WebCore/html/canvas/WebGLRenderingContextBase.h M Source/WebCore/platform/graphics/GraphicsContextGL.cpp M Source/WebCore/platform/graphics/GraphicsContextGL.h M Source/bmalloc/bmalloc/Algorithm.h M Tools/TestWebKitAPI/CMakeLists.txt M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj R Tools/TestWebKitAPI/Tests/WTF/StdLibExtras.cpp A Tools/TestWebKitAPI/Tests/WTF/StdLibExtrasTests.cpp Log Message: ----------- Row byte count is not available in GraphicsContextGL::computeImageSizeBytes https://bugs.webkit.org/show_bug.cgi?id=257452 rdar://109969560 Reviewed by Dan Glastonbury. GraphicsContextGL::computeImageSizeInBytes would return the image size but not the count of row bytes. The row bytes are needed for GPUP side implementation where the GPUP is queried for tightly packed image and then the image data is expanded by WP to the client buffer. Rename to computeImageSize. Simplify the computation by using Checked all the way to the end. The idea of Checked is that the intermediate values do not need to be checked. Return a struct instead of numerous output variables. These were error-prone, as they were written even though the function would return error. Remove the unused paddingInBytes, which was not used. Add row bytes variables. Add checked variant of roundUpToMultipleOfNonPowerOfTwo. Add unchecked variant, for consistency. Fix overflow in bmalloc::roundUpToMultipleOfNonPowerOfTwo and untemplatize, as the template parameter could not be anything else than size_t. * Source/WTF/wtf/StdLibExtras.h: (WTF::roundUpToMultipleOfNonPowerOfTwo): * Source/WebCore/html/canvas/WebGL2RenderingContext.cpp: (WebCore::WebGL2RenderingContext::readPixels): * Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp: (WebCore::WebGLRenderingContextBase::readPixels): (WebCore::WebGLRenderingContextBase::validateImageFormatAndType): (WebCore::WebGLRenderingContextBase::validateTexFuncData): * Source/WebCore/html/canvas/WebGLRenderingContextBase.h: * Source/WebCore/platform/graphics/GraphicsContextGL.cpp: (WebCore::GraphicsContextGL::computeImageSize): (WebCore::GraphicsContextGL::packImageData): (WebCore::GraphicsContextGL::extractPixelBuffer): (WebCore::GraphicsContextGL::extractTextureData): (WebCore::GraphicsContextGL::computeImageSizeInBytes): Deleted. * Source/WebCore/platform/graphics/GraphicsContextGL.h: * Source/bmalloc/bmalloc/Algorithm.h: (bmalloc::roundUpToMultipleOfNonPowerOfTwo): * Tools/TestWebKitAPI/Tests/WTF/StdLibExtras.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/264794@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes