[chromium] Add an allocation step for CCRenderer before drawing a frame
Created attachment 147168 [details] Patch
Not for review yet (misclick on EWS) just putting up steps as I work on this RenderSurface textures in LRC code. (Longing for github :))
Created attachment 147686 [details] Patch
Created attachment 148150 [details] Patch another peek before i hook this up to LRC.
I'm planning to do something like this for allocation of RenderPass textures (this is always in the root/host compositor). I'm going to start hooking this up to LRC and see how it fares, I had done this earlier without the CCScopedTexture class and it was a bit ugly, so I've cleaned it up some before attempting again. If anyone wants to look at it and tell me they like/dislike the design ideas here that would be very nice as I'm still not overly committed to it. Basic idea: Add a step before drawing to decide what passes will get allocated, and which saved textures from the previous frame will not be clobbered and will be available when they are needed in the current frame. Then when drawing we already know which passes we draw, and can allocate textures as needed on the fly.
Created attachment 148391 [details] Patch This is just the piece to add the allocation step to the draw-a-frame process.
Created attachment 148402 [details] Patch Decide allocations/Set the memory limit before reserving/testing cached surface textures.
Comment on attachment 148402 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=148402&action=review R=me. > Source/WebCore/platform/graphics/chromium/cc/CCRenderer.h:71 > + // This method should be a no-op in a nested compositor that does not render its passes directly. Not sure this comment adds anything. Other functions will probably be a no-op too. We can document that in the derived interface.
Comment on attachment 148402 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=148402&action=review thanks! >> Source/WebCore/platform/graphics/chromium/cc/CCRenderer.h:71 >> + // This method should be a no-op in a nested compositor that does not render its passes directly. > > Not sure this comment adds anything. Other functions will probably be a no-op too. We can document that in the derived interface. Ya.. good call.
Created attachment 148419 [details] Patch for landing
Created attachment 148420 [details] Patch for landing
Created attachment 148422 [details] Patch for landing
Learning about webkit-patch land-safely :|
Comment on attachment 148422 [details] Patch for landing Clearing flags on attachment: 148422 Committed r120759: <http://trac.webkit.org/changeset/120759>
All reviewed patches have been landed. Closing bug.