[webkit-changes] [WebKit/WebKit] 7fb06f: [Skia] Simplify and fix accelerated filters

Georges Basile Stavracas Neto noreply at github.com
Tue Apr 23 22:35:57 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7fb06fd42e78309f1d14e5178ce118eda974c625
      https://github.com/WebKit/WebKit/commit/7fb06fd42e78309f1d14e5178ce118eda974c625
  Author: Georges Basile Stavracas Neto <feaneron at igalia.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M Source/WebCore/platform/SourcesSkia.txt
    M Source/WebCore/platform/graphics/filters/FilterImage.cpp
    M Source/WebCore/platform/graphics/filters/FilterImage.h
    M Source/WebCore/platform/graphics/filters/skia/FEColorMatrixSkiaApplier.cpp
    M Source/WebCore/platform/graphics/filters/skia/FEGaussianBlurSkiaApplier.cpp
    M Source/WebCore/platform/graphics/filters/skia/SourceGraphicSkiaApplier.cpp
    R Source/WebCore/platform/graphics/skia/FilterImageSkia.cpp

  Log Message:
  -----------
  [Skia] Simplify and fix accelerated filters
https://bugs.webkit.org/show_bug.cgi?id=272991

Reviewed by Carlos Garcia Campos.

The ImageBuffer in results must exist for various tests and pages to
work. Skia creates that on demand, like CoreImage, but that doesn't
seem to work well. Always call "results.imageBuffer()" when applying
Skia filters - FilterImage::imageBuffer() looks like a simple getter
but it actually creates the ImageBuffer if it doesn't exist!

Remove the SkPictureRecorder and the SkPicture from the game, they're
not needed since we can paint using the graphics context of the result
image buffer directly.

* Source/WebCore/platform/SourcesSkia.txt:
* Source/WebCore/platform/graphics/filters/FilterImage.cpp:
(WebCore::FilterImage::memoryCost const):
(WebCore::FilterImage::imageBuffer):
* Source/WebCore/platform/graphics/filters/FilterImage.h:
* Source/WebCore/platform/graphics/filters/skia/FEColorMatrixSkiaApplier.cpp:
(WebCore::FEColorMatrixSkiaApplier::apply const):
* Source/WebCore/platform/graphics/filters/skia/FEGaussianBlurSkiaApplier.cpp:
(WebCore::FEGaussianBlurSkiaApplier::apply const):
* Source/WebCore/platform/graphics/filters/skia/SourceGraphicSkiaApplier.cpp:
(WebCore::SourceGraphicSkiaApplier::apply const):
* Source/WebCore/platform/graphics/skia/FilterImageSkia.cpp: Removed.

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list