Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3e6f143c6278c7e306454785343cba29355653ad https://github.com/WebKit/WebKit/commit/3e6f143c6278c7e306454785343cba29355653ad Author: Said Abou-Hallawa <s...@apple.com> Date: 2023-10-18 (Wed, 18 Oct 2023)
Changed paths: M Source/WTF/wtf/PlatformHave.h M Source/WTF/wtf/PlatformUse.h M Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp M Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h M Source/WebCore/platform/graphics/GraphicsContext.h M Source/WebCore/platform/graphics/NullGraphicsContext.h M Source/WebCore/platform/graphics/Path.cpp M Source/WebCore/platform/graphics/Path.h M Source/WebCore/platform/graphics/PathImpl.h M Source/WebCore/platform/graphics/PathSegment.cpp M Source/WebCore/platform/graphics/PathSegment.h M Source/WebCore/platform/graphics/PathStream.cpp M Source/WebCore/platform/graphics/PathStream.h M Source/WebCore/platform/graphics/cairo/PathCairo.cpp M Source/WebCore/platform/graphics/cairo/PathCairo.h M Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp M Source/WebCore/platform/graphics/cg/GraphicsContextCG.h M Source/WebCore/platform/graphics/cg/PathCG.cpp M Source/WebCore/platform/graphics/cg/PathCG.h M Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h M Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp M Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.h M Source/WebCore/rendering/svg/RenderSVGPath.cpp M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGPath.cpp M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h M Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.messages.in M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h Log Message: ----------- Inline stroking a single PathSegment https://bugs.webkit.org/show_bug.cgi?id=262822 rdar://116264934 Reviewed by Kimmo Kinnunen. Like what we do for the single-PathDataLine path, other single-segment path cases should be handled. Instead of sending a separate SetState message in addition to the StrokePath to GPUP, we can piggyback the stroke width and color to StrokePath or StrokePathSegment messages. * Source/WTF/wtf/PlatformHave.h: * Source/WTF/wtf/PlatformUse.h: * Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp: (WebCore::BifurcatedGraphicsContext::fillPathSegment): (WebCore::BifurcatedGraphicsContext::strokePathSegment): * Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h: * Source/WebCore/platform/graphics/GraphicsContext.h: * Source/WebCore/platform/graphics/NullGraphicsContext.h: * Source/WebCore/platform/graphics/Path.cpp: (WebCore::Path::singleDataLine const): Deleted. (WebCore::Path::singleArc const): Deleted. (WebCore::Path::singleQuadCurve const): Deleted. (WebCore::Path::singleBezierCurve const): Deleted. (WebCore::Path::definitelySingleLine const): Deleted. * Source/WebCore/platform/graphics/Path.h: (WebCore::Path::getSingle const): (WebCore::Path::isSingleLine const): (WebCore::Path::singleSegmentIfExists const): Deleted. * Source/WebCore/platform/graphics/PathImpl.h: (WebCore::PathImpl::singleSegment const): (WebCore::PathImpl::singleDataLine const): Deleted. (WebCore::PathImpl::singleArc const): Deleted. (WebCore::PathImpl::singleQuadCurve const): Deleted. (WebCore::PathImpl::singleBezierCurve const): Deleted. * Source/WebCore/platform/graphics/PathSegment.cpp: (WebCore::PathSegment::fastBoundingRect const): (WebCore::PathSegment::createPlatformPath const): * Source/WebCore/platform/graphics/PathSegment.h: (WebCore::PathSegment::get const): * Source/WebCore/platform/graphics/PathStream.cpp: (WebCore::PathStream::singleDataType const): Deleted. (WebCore::PathStream::singleDataLine const): Deleted. (WebCore::PathStream::singleArc const): Deleted. (WebCore::PathStream::singleQuadCurve const): Deleted. (WebCore::PathStream::singleBezierCurve const): Deleted. * Source/WebCore/platform/graphics/PathStream.h: * Source/WebCore/platform/graphics/cairo/PathCairo.cpp: (WebCore::PathCairo::createPlatformPath): * Source/WebCore/platform/graphics/cairo/PathCairo.h: * Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContextCG::fillPathWithGradient): (WebCore::GraphicsContextCG::fillPathWithGradientAndShadow): (WebCore::GraphicsContextCG::fillPath): (WebCore::GraphicsContextCG::strokePathWithGradient): (WebCore::GraphicsContextCG::strokePathWithGradientAndShadow): (WebCore::GraphicsContextCG::strokePath): (WebCore::GraphicsContextCG::fillPathSegment): (WebCore::GraphicsContextCG::strokePathSegment): * Source/WebCore/platform/graphics/cg/GraphicsContextCG.h: * Source/WebCore/platform/graphics/cg/PathCG.cpp: (WebCore::PathCG::createPlatformPath): * Source/WebCore/platform/graphics/cg/PathCG.h: * Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp: (WebCore::DisplayList::StrokeLine::apply const): * Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp: (WebCore::DisplayList::Recorder::fillPath): (WebCore::DisplayList::Recorder::fillPathSegment): (WebCore::DisplayList::Recorder::strokePath): (WebCore::DisplayList::Recorder::strokePathSegment): * Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h: * Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp: (WebCore::DisplayList::RecorderImpl::recordStrokeLineWithColorAndThickness): (WebCore::DisplayList::RecorderImpl::recordStrokeArcWithColorAndThickness): (WebCore::DisplayList::RecorderImpl::recordStrokeQuadCurveWithColorAndThickness): (WebCore::DisplayList::RecorderImpl::recordStrokeBezierCurveWithColorAndThickness): (WebCore::DisplayList::RecorderImpl::recordStrokePathSegmentWithColorAndThickness): (WebCore::DisplayList::RecorderImpl::recordStrokePathWithColorAndThickness): * Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.h: * Source/WebCore/rendering/svg/RenderSVGPath.cpp: (WebCore::RenderSVGPath::updateShapeFromElement): * Source/WebCore/rendering/svg/legacy/LegacyRenderSVGPath.cpp: (WebCore::LegacyRenderSVGPath::updateShapeFromElement): * Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp: (WebKit::RemoteDisplayListRecorder::strokeLineWithColorAndThickness): (WebKit::RemoteDisplayListRecorder::strokeArcWithColorAndThickness): (WebKit::RemoteDisplayListRecorder::strokeQuadCurveWithColorAndThickness): (WebKit::RemoteDisplayListRecorder::strokeBezierCurveWithColorAndThickness): (WebKit::RemoteDisplayListRecorder::strokePathSegmentWithColorAndThickness): (WebKit::RemoteDisplayListRecorder::strokePathWithColorAndThickness): * Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h: * Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.messages.in: * Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp: (WebKit::RemoteDisplayListRecorderProxy::recordStrokeLineWithColorAndThickness): (WebKit::RemoteDisplayListRecorderProxy::recordStrokeArcWithColorAndThickness): (WebKit::RemoteDisplayListRecorderProxy::recordStrokeQuadCurveWithColorAndThickness): (WebKit::RemoteDisplayListRecorderProxy::recordStrokeBezierCurveWithColorAndThickness): (WebKit::RemoteDisplayListRecorderProxy::recordStrokePathSegmentWithColorAndThickness): (WebKit::RemoteDisplayListRecorderProxy::recordStrokePathWithColorAndThickness): * Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h: Canonical link: https://commits.webkit.org/269504@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes