Closed Bug 554270 Opened 10 years ago Closed 6 years ago

[e10s] Make image memory buffer fast API rendering for IPC(and common) plugins on linux with ImageSurface rendering path

Categories

(Core :: Plug-ins, defect)

x86
Linux
defect
Not set

Tracking

()

RESOLVED WONTFIX
Tracking Status
e10s later ---

People

(Reporter: romaxa, Assigned: romaxa)

References

Details

Attachments

(3 files, 5 obsolete files)

Currently we are operating with plugins rendering only via X Windowless API, and sending to plugin process XWindow ID.

That approach does not work very well, because when we are rendering to local memory buffer (gfxImageSurface rendering) then we should create Temp XSurface, give it to plugin, plugin will do XShmPutImage to surface, then we get it back with X(Shm)GetImage, to temp memory buffer, and finally composite buffer to target gfxImageSurface.
We should remove existing Image expose API first, and then replace it with better version
Depends on: 553943
Attachment #435627 - Flags: review?(dougt)
Comment on attachment 435627 [details] [diff] [review]
Windowless ImageSurface rendering API + IPC implementation

maybe a stopgap until opengl is available from the NPAPI?
Attachment #435627 - Flags: review?(dougt) → review?(chris)
(In reply to comment #4)
> (From update of attachment 435627 [details] [diff] [review])
> maybe a stopgap until opengl is available from the NPAPI?

OpenGL is not available for all mobile platforms, also OpenGL is not working very well and fast for some of them... :(
Attachment #435627 - Flags: review?(chris) → review?(jones.chris.g)
Attached patch NON-IPC, default part (obsolete) — Splinter Review
Make NPImageExpose and NPP_DrawImage API public.
Probably we need some description proposal in plugins wiki.
Assignee: nobody → romaxa
Attachment #435627 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #436312 - Flags: review?(dougt)
Attachment #435627 - Flags: review?(jones.chris.g)
Attachment #436314 - Flags: review?(jones.chris.g)
Oleg, just to let you know, stuart is working on an alternate proposal, and I was advised not to review this until there's a chance to compare stuart's and this.  Looking forward to an ass-kicking final product.
Stuart proposal is related to X surface wrapping with GL buffer for default NPP_HandleEvent...
This API only for rendering into gfxImageSurface target buffer...
We basically don't want to create/handle and use XSurfaces when painting into imageSurface (target layout surface - see Qt raster backend).
I have posted description for new NPP_DrawImage API
https://wiki.mozilla.org/Plugins:NPP_DrawImageNPAPI
This patch implementing non-IPC part for new update API
Attachment #436312 - Attachment is obsolete: true
Attachment #437920 - Flags: review?(dougt)
Attachment #436312 - Flags: review?(dougt)
IPC version
Attachment #436314 - Attachment is obsolete: true
Attachment #437921 - Flags: review?(jones.chris.g)
Attachment #436314 - Flags: review?(jones.chris.g)
Comment on attachment 437920 [details] [diff] [review]
Updated patch according to Plugins:NPP_DrawImageNPAPI

karlt loves these reviews.
Attachment #437920 - Flags: review?(dougt) → review?(karlt)
Comment on attachment 437920 [details] [diff] [review]
Updated patch according to Plugins:NPP_DrawImageNPAPI

need new implementation with updated NPAPI
Attachment #437920 - Flags: review?(karlt)
Attachment #437921 - Flags: review?(jones.chris.g)
Blocks: 583135
Hey John, do we still care about this?
Flags: needinfo?(jschoenick)
(In reply to Blake Kaplan (:mrbkap) from comment #16)
> Hey John, do we still care about this?

This would be something to ask graphics people, I'm not sure what the potential costs of the current way windowless plugins render with e10s are
Flags: needinfo?(jschoenick)
Depending on Pixmaps for the windowless drawing API is a limitation, but I don't think Mozilla has any plans or wishes to add new plug-in APIs.
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.