[webkit-changes] [WebKit/WebKit] 1a169d: Add experimental feature for post-processing Canva...

Matthew Finkel noreply at github.com
Fri Mar 3 17:59:13 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1a169d095a6691b2461810e3b639fffed1cf87f6
      https://github.com/WebKit/WebKit/commit/1a169d095a6691b2461810e3b639fffed1cf87f6
  Author: Matthew Finkel <sysrqb at apple.com>
  Date:   2023-03-03 (Fri, 03 Mar 2023)

  Changed paths:
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/html/CanvasBase.cpp
    M Source/WebCore/html/CanvasBase.h
    M Source/WebCore/html/HTMLCanvasElement.cpp
    M Source/WebCore/html/canvas/CanvasRenderingContext.h
    M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp
    M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h
    M Source/WebCore/html/canvas/CanvasStyle.h

  Log Message:
  -----------
  Add experimental feature for post-processing Canvas image data
https://bugs.webkit.org/show_bug.cgi?id=243555
rdar://98525861

Reviewed by Wenson Hsieh.

In this new experimental feature we post-process the Canvas2D and WebGL buffers
by adding small amounts of noise in the rendered image data. The approach this
patch takes is similar to a proposed patch by Eli Lucherini. In that patch, for
every pixel of the rendered canvas, with some probability one primary color
channel of a pixel might have a small amount of noise added. In this patch,
instead we add small amounts of noise depending on the whole pixel's value.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/html/CanvasBase.cpp:
(WebCore::CanvasBase::makeRenderingResultsAvailable):
(WebCore::CanvasBase::postProcessPixelBuffer const):
* Source/WebCore/html/CanvasBase.h:
* Source/WebCore/html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getImageData):
* Source/WebCore/html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::postProcessPixelBuffer const):
* Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::setFillStyle):
(WebCore::computeImageDataRect):
(WebCore::CanvasRenderingContext2DBase::postProcessPixelBuffer const):
(WebCore::CanvasRenderingContext2DBase::didDraw):
(WebCore::CanvasRenderingContext2DBase::getImageData const):
(WebCore::CanvasRenderingContext2DBase::putImageData):
* Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h:
(WebCore::CanvasRenderingContext2DBase::suppliedColors const):
* Source/WebCore/html/canvas/CanvasStyle.h:
(WebCore::CanvasStyle::srgbaColor const):

Canonical link: https://commits.webkit.org/261197@main




More information about the webkit-changes mailing list