[Webkit-unassigned] [Bug 58003] chromium support for glSetLatch and glWaitLatch between 3D contexts
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Apr 11 15:03:17 PDT 2011
https://bugs.webkit.org/show_bug.cgi?id=58003
Kenneth Russell <kbr at google.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #88914|review? |review-
Flag| |
--- Comment #5 from Kenneth Russell <kbr at google.com> 2011-04-11 15:03:16 PST ---
(From update of attachment 88914)
View in context: https://bugs.webkit.org/attachment.cgi?id=88914&action=review
This looks very good overall and as we've discussed offline the results are excellent, fixing multiple longstanding bugs. We should do the API change to wait/setLatchCHROMIUM that we've discussed offline. A few other relatively minor issues. Don't forget to regenerate the ChangeLogs. Also, I suggest using "webkit-patch upload" to upload your patch the next time as it will take care of some things like style checks.
> Source/WebCore/ChangeLog:3
> + Reviewed by Ken Russell.
Leave this line as "Reviewed by NOBODY (OOPS!)". The commit scripts will rewrite it after it's been reviewed.
> Source/WebCore/platform/graphics/chromium/Extensions3DChromium.h:73
> + void waitLatchCHROMIUM(GC3Dint shmId, GC3Duint latchId);
> + void setLatchCHROMIUM(GC3Dint shmId, GC3Duint latchId);
Per offline discussion, let's remove the shmId argument now.
> Source/WebCore/platform/graphics/chromium/GLES2Canvas.cpp:177
> - m_a(a), m_b(b), m_c(c), m_d(d)
> + m_a(a), m_b(b), m_c(c), m_d(d)
This whitespace-only change doesn't belong in this patch.
> Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:276
> + // Before drawLayers:
This comment seems useless.
> Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:277
> + if (hardwareCompositing()) {
Even though your current code runs, for correctness, the following block of code needs to be run against the layer renderer's GraphicsContext3D and all of the child layers' contexts:
if (m_context->getExtensions()->supports("GL_CHROMIUM_latch"))
m_context->getExtensions()->ensureEnabled("GL_CHROMIUM_latch");
and the code which uses getChildToParentLatchCHROMIUM and waitLatchCHROMIUM needs to be guarded by a test:
if (extensions->supports("GL_CHROMIUM_latch"))
See e.g. Source/WebCore/platform/graphics/gpu/DrawingBuffer.cpp.
> Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:278
> + // The multithreaded compositor case does not work as long as
Change this to "FIXME: ... case will not work".
> Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:281
> + // potentially clobbering the parent texture that is beibng renderered
typo: beibng
> Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:303
> + // After drawLayers:
This comment also seems useless.
> Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:353
> + // Before updateCompositorResourcesRecursive, when the compositor runs in
Please add a FIXME here.
> Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:967
> -
> +
This whitespace-only change doesn't belong in this patch. I suggest you try to configure your editor.
> Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:1125
> +// TODO(jbates): when compositor is multithreaded and copyTexImage2D bug is fixed,
WebKit uses FIXME rather than TODO().
> Source/WebKit/chromium/ChangeLog:3
> + Reviewed by Ken Russell.
Per above, leave the OOPS line.
> Source/WebKit/chromium/public/WebGraphicsContext3D.h:175
> + virtual void getParentToChildLatchCHROMIUM(WGC3Duint* latchId) {} // TODO = 0;
> + virtual void getChildToParentLatchCHROMIUM(WGC3Duint* latchId) {} // TODO = 0;
> + virtual void waitLatchCHROMIUM(WGC3Dint shmId, WGC3Duint latchId) {} // TODO = 0;
> + virtual void setLatchCHROMIUM(WGC3Dint shmId, WGC3Duint latchId) {} // TODO = 0;
TODO -> FIXME:
Also, per offline discussion, let's remove the shmId argument, as it's being removed from the implementation.
> Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp:254
> -
> +
Whitespace-only change.
> Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp:806
> +DELEGATE_TO_IMPL_2(waitLatchCHROMIUM, GC3Dint, GC3Duint)
> +DELEGATE_TO_IMPL_2(setLatchCHROMIUM, GC3Dint, GC3Duint)
Per offline discussion, remove first argument.
> Source/WebKit/chromium/src/GraphicsContext3DInternal.h:277
> + void waitLatchCHROMIUM(GC3Dint shmId, GC3Duint latchId);
> + void setLatchCHROMIUM(GC3Dint shmId, GC3Duint latchId);
Remove shmId argument.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list