[webkit-reviews] review denied: [Bug 100819] Coordinated Graphics: Remove the dependency of ShareableSurface from Coordinated Graphics. : [Attachment 171998] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Nov 2 18:02:46 PDT 2012
Noam Rosenthal <noam.rosenthal at nokia.com> has denied Huang Dongsung
<luxtella at company100.net>'s request for review:
Bug 100819: Coordinated Graphics: Remove the dependency of ShareableSurface
from Coordinated Graphics.
https://bugs.webkit.org/show_bug.cgi?id=100819
Attachment 171998: Patch
https://bugs.webkit.org/attachment.cgi?id=171998&action=review
------- Additional Comments from Noam Rosenthal <noam.rosenthal at nokia.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=171998&action=review
Recapping from IRC:
1. If the other implementation of CoordinatedSurface doesn't use IPC, why
create CoordinatedSurface::encode/decode?
2. Seems like the choice of implementations should be in compile time and not
runtime.
The more I look at this patch, the more I think that coordinated-graphics is
not the right way to make threaded compositing; I'd much prefer it if
TextureMapperLayer was in a different thread, and modify flush/updateContents
to use an actor model instead of a direct sync.
> Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedShareableSurface.h:39
> + static PassRefPtr<CoordinatedShareableSurface>
create(CoordinatedSurfaceClient*, const WebCore::IntSize&, bool alpha);
Please use flags, not bool alpha.
> Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedSurface.h:61
> + virtual CoordinatedSurfaceID id() const = 0;
This is only relevant to IPC
> Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedSurface.h:62
> + virtual SurfaceType type() const = 0;
Isn't this a compile-time thing? When would you want to compile threaded and
IPC at the same time?
> Source/WebKit2/Shared/CoordinatedGraphics/CoordinatedSurface.h:71
> + virtual bool alpha() const = 0;
> + virtual const WebCore::IntSize& size() const = 0;
> +
> + // Create a graphics context that can be used to paint into the backing
store.
> + virtual PassOwnPtr<WebCore::GraphicsContext> createGraphicsContext(const
WebCore::IntRect&) = 0;
> +
> +#if USE(TEXTURE_MAPPER)
> + virtual void copyToTexture(PassRefPtr<WebCore::BitmapTexture>, const
WebCore::IntRect& target, const WebCore::IntPoint& sourceOffset) = 0;
> +#endif
So CoordinatedSurface is really either a ShareableSurface or something like a
thread-safe holder for an ImageBuffer.
More information about the webkit-reviews
mailing list