Last Comment Bug 598864 - Tracking: Composite shadow layers with GL
: Tracking: Composite shadow layers with GL
Status: RESOLVED FIXED
: meta
Product: Core
Classification: Components
Component: Graphics (show other bugs)
: unspecified
: x86_64 Linux
: -- normal (vote)
: ---
Assigned To: Nobody; OK to take it and work on it
:
:
Mentors:
Depends on: 572651 592464 593880 595087 601888 602428 602435 604101 607653 609637 609838 610210 619490 621527 621738 621745 622838 623255 623451 623728 623963 624611 628566 670930
Blocks: 574512 598874 opengl-mobile 619491
  Show dependency treegraph
 
Reported: 2010-09-23 00:35 PDT by Chris Jones [:cjones] inactive; ni?/f?/r? if you need me
Modified: 2012-06-14 12:42 PDT (History)
16 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments

Description Chris Jones [:cjones] inactive; ni?/f?/r? if you need me 2010-09-23 00:35:10 PDT
10,000-foot view of plan is
 - have LayerManagerOGL implement ShadowLayerManager
 - create a ForeignTextureImage, or normal TextureImage, for shadow layers
 - upload repainted content to texture

We need
 - ability to swap out Pixmaps when using texture-from-pixmap, should be easy
 - fast way to upload nsRegions to texture ... easiest is to create scratch ImageSurface, glTexSubImage2D that
 - maybe exotic, fast EGLImage-y stream-y things where available?
 - shaders optimized for SGX

Lots of unknowns and tests to run.  Parts of the above may have been obsoleted by recent GL layers work.
Comment 1 Chris Jones [:cjones] inactive; ni?/f?/r? if you need me 2010-09-23 21:22:50 PDT
Joe pointed me at http://www.dei.isep.ipp.pt/~matos/cg/docs/manual/glPixelStore.3G.html, specifically GL_UNPACK_ROW_LENGTH.  Using this plus existing Shmem rendering looks like an easy first implementation.
Comment 2 Brad Lassey [:blassey] (use needinfo?) 2010-09-28 22:28:35 PDT
Chris, we try not to block on meta bugs. Can you please request blocking-fennec on all appropriate sub-bugs.
Comment 3 Oleg Romashin (:romaxa) 2010-10-04 21:54:19 PDT
>  - ability to swap out Pixmaps when using texture-from-pixmap, should be easy
For this we should keep ShadowLayer parent as X-Surface, and child as Image surface, Bind Parent X-Surface to Texture, and instead of swap do XShmPutImage

>  - fast way to upload nsRegions to texture ... easiest is to create scratch
> ImageSurface, glTexSubImage2D that

Somehow this glTexSubImage2D - optimized on maemo6 (not 100% sure)

>  - maybe exotic, fast EGLImage-y stream-y things where available?
We have nice extension which allow us to lock texture and get raw pointer to memory shared to GPU (recent egl lock extension).
that allow us avoid XShmPutImage and just do memcpy locally, or paint directly to Texture memory buffer

>  - shaders optimized for SGX
Bug 572651 - is first things we need to fix
Comment 4 Vladimir Vukicevic [:vlad] [:vladv] 2010-10-05 10:51:53 PDT
(In reply to comment #3)
> >  - maybe exotic, fast EGLImage-y stream-y things where available?
> We have nice extension which allow us to lock texture and get raw pointer to
> memory shared to GPU (recent egl lock extension).
> that allow us avoid XShmPutImage and just do memcpy locally, or paint directly
> to Texture memory buffer

This would work well -- we already have the TextureImage abstraction, so have a natural place to lock/unlock.  Can you point us at the docs for the extension?
Comment 5 Chris Jones [:cjones] inactive; ni?/f?/r? if you need me 2010-11-15 13:11:37 PST
Tracking bug doesn't block.

Note You need to log in before you can comment on or make changes to this bug.