RESOLVED FIXED 217573
[GPU Process][Resource caching 5/7]: Clean the DisplayList recording of the NativeImage
https://bugs.webkit.org/show_bug.cgi?id=217573
Summary [GPU Process][Resource caching 5/7]: Clean the DisplayList recording of the N...
Said Abou-Hallawa
Reported 2020-10-11 01:44:41 PDT
-- Move the definition of NativeImagePtr to a separate header file. -- Remove the class ImageHandle and allow encoding and decoding NativeImagePtr directly. -- Remove the compilation directives around the DisplayList::DrawNativeImage item and the method drawNativeImage(). -- Move the drawNativeImage() methods to the sources of their callers. -- In the case of recording the drawing commands, make GraphicsContext::drawImage() process drawing the images such that primitives drawing commands are recorded. For example a BitmapImage will render a NativeImage eventually. And SVGImage will record its render tree.
Attachments
Patch (169.38 KB, patch)
2020-10-11 01:46 PDT, Said Abou-Hallawa
no flags
Patch (170.26 KB, patch)
2020-10-11 01:55 PDT, Said Abou-Hallawa
no flags
Patch for review (46.57 KB, patch)
2020-10-11 03:01 PDT, Said Abou-Hallawa
no flags
Patch (49.40 KB, patch)
2020-10-17 01:48 PDT, Said Abou-Hallawa
ews-feeder: commit-queue-
Patch (49.98 KB, patch)
2020-10-17 02:25 PDT, Said Abou-Hallawa
no flags
Said Abou-Hallawa
Comment 1 2020-10-11 01:46:45 PDT
Said Abou-Hallawa
Comment 2 2020-10-11 01:55:19 PDT
Said Abou-Hallawa
Comment 3 2020-10-11 03:01:24 PDT
Created attachment 411044 [details] Patch for review
Said Abou-Hallawa
Comment 4 2020-10-17 01:48:22 PDT
Said Abou-Hallawa
Comment 5 2020-10-17 02:25:21 PDT
Simon Fraser (smfr)
Comment 6 2020-10-17 11:05:08 PDT
Comment on attachment 411662 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=411662&action=review > Source/WebCore/platform/graphics/BitmapImage.cpp:218 > + // Subsampling may have given us an image that is smaller than size(). > + IntSize subsampledImageSize = nativeImageSize(image); > + if (options.orientation().usesWidthAsHeight()) > + subsampledImageSize = subsampledImageSize.transposedSize(); > + > + // srcRect is in the coordinates of the unsubsampled image, so we have to map it to the subsampled image. > + FloatRect adjustedSrcRect = srcRect; > + if (subsampledImageSize != srcSize) > + adjustedSrcRect = mapRect(srcRect, FloatRect({ }, srcSize), FloatRect({ }, subsampledImageSize)); What justifies this code being here and not inside GraphicsContext::drawNativeImage?
Radar WebKit Bug Importer
Comment 7 2020-10-18 01:45:14 PDT
Said Abou-Hallawa
Comment 8 2020-10-19 09:34:49 PDT
Comment on attachment 411662 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=411662&action=review >> Source/WebCore/platform/graphics/BitmapImage.cpp:218 >> + adjustedSrcRect = mapRect(srcRect, FloatRect({ }, srcSize), FloatRect({ }, subsampledImageSize)); > > What justifies this code being here and not inside GraphicsContext::drawNativeImage? I will move this code to GraphicsContext::drawNativeImage() in bug 217596.
EWS
Comment 9 2020-10-19 09:49:05 PDT
Committed r268669: <https://trac.webkit.org/changeset/268669> All reviewed patches have been landed. Closing bug and clearing flags on attachment 411662 [details].
Note You need to log in before you can comment on or make changes to this bug.