RESOLVED FIXED 87600
[BlackBerry] Make custom compositing thread layers more flexible
https://bugs.webkit.org/show_bug.cgi?id=87600
Summary [BlackBerry] Make custom compositing thread layers more flexible
Arvid Nilsson
Reported 2012-05-27 15:02:17 PDT
Introduce a LayerCompositingThreadClient that's used to fine tune the behaviour of custom layers. Let the LayerTiler be a LayerCompositingThreadClient and thus decouple it from LayerCompositingThread. Adjust method signatures to allow a one-to-many relationship between Client and Layer. Remove the old LayerCompositingThread::drawCustom() in favour of this new Client interface. PR #156812 Please note that this has not been internally reviewed yet, so it needs actual review. And also, it has a dependency that needs to be landed first.
Attachments
Patch (22.13 KB, patch)
2012-05-27 15:33 PDT, Arvid Nilsson
no flags
Patch (22.13 KB, patch)
2012-05-28 13:37 PDT, Arvid Nilsson
no flags
Arvid Nilsson
Comment 1 2012-05-27 15:33:47 PDT
Yong Li
Comment 2 2012-05-28 09:03:28 PDT
Comment on attachment 144242 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=144242&action=review Looks good to me except: > Source/WebCore/platform/graphics/blackberry/LayerCompositingThread.cpp:-449 > - if (m_texID || pluginView()) > - return; > - > -#if ENABLE(VIDEO) > - if (mediaPlayer()) > - return; > -#endif Any reason for this?
Arvid Nilsson
Comment 3 2012-05-28 09:37:13 PDT
(In reply to comment #2) > (From update of attachment 144242 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=144242&action=review > > Looks good to me except: > > > Source/WebCore/platform/graphics/blackberry/LayerCompositingThread.cpp:-449 > > - if (m_texID || pluginView()) > > - return; > > - > > -#if ENABLE(VIDEO) > > - if (mediaPlayer()) > > - return; > > -#endif > > Any reason for this? Thanks for reviewing :) In fact, if m_texId (I.e. Canvas or webgl layer) or pluginview or mediaplayer, m_client will be 0, so they might as well just fall through.
Rob Buis
Comment 4 2012-05-28 10:17:33 PDT
Comment on attachment 144242 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=144242&action=review Looks good. > Source/WebCore/platform/graphics/blackberry/LayerCompositingThread.cpp:297 > +void LayerCompositingThread::drawMissingTextures(int positionLocation, int texCoordLocation, const FloatRect& visibleRect) Is visibleRect needed? If it is going to be later maybe mark it as unused.
Arvid Nilsson
Comment 5 2012-05-28 13:31:50 PDT
(In reply to comment #4) > (From update of attachment 144242 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=144242&action=review > > Looks good. > > > Source/WebCore/platform/graphics/blackberry/LayerCompositingThread.cpp:297 > > +void LayerCompositingThread::drawMissingTextures(int positionLocation, int texCoordLocation, const FloatRect& visibleRect) > > Is visibleRect needed? If it is going to be later maybe mark it as unused. It was added for symmetry with drawTextures - I anticipated that this method would need to do similar calculations as drawTextures, only drawing checkerboard instead of actual contents. However, in the future it might be that visibleRect will be removed from both methods instead, since it's only used for media layers and the calculations there look a bit sketchy...
Arvid Nilsson
Comment 6 2012-05-28 13:37:18 PDT
Arvid Nilsson
Comment 7 2012-05-28 13:38:06 PDT
Comment on attachment 144392 [details] Patch New patch, adressing Rob's comment about visibleRect
Rob Buis
Comment 8 2012-05-28 13:40:31 PDT
Comment on attachment 144392 [details] Patch Looks fine now :)
WebKit Review Bot
Comment 9 2012-05-28 14:20:51 PDT
Comment on attachment 144392 [details] Patch Clearing flags on attachment: 144392 Committed r118706: <http://trac.webkit.org/changeset/118706>
WebKit Review Bot
Comment 10 2012-05-28 14:20:56 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.