On Wed, Feb 24, 2010 at 11:25 AM, Stephane Marchesin
<stephane.marche...@gmail.com> wrote:
> On Tue, Feb 23, 2010 at 18:05, Chia-I Wu <olva...@gmail.com> wrote:
>> Hi list,
>>
>> We at LunarG are working on resource sharing between EGL and its rendering 
>> and
>> non-rendering APIs.  The resource sharing is at the driver level and it 
>> enables
>> us to properly support various EGLImage extensions for EGL/OpenGL|ES/OpenVG 
>> as
>> well as OpenMax's OMX_UseEGLImage.
>>
>> We would like to formalize our changes to Gallium and the current design
>> document is available at
>>
>>  http://www.lunarg.com/wordpress/wp-content/downloads/surface-manager-design.pdf
>>
>> To summarize, resource sharing between EGL and its rendering APIs (OpenGL ES
>> and OpenVG) will be made possible through the switch to st_api.h[1], which 
>> aims
>> to replace st_public.h that is implemented by st/mesa and st/vega.  It has 
>> been
>> discussed several times on the list.  The list archive should have more 
>> details
>> than the document right now.
>>
>> The only non-rendering API in existence is OpenMax.  What we would like to do
>> is to support decoding video frames into texture objects directly, which is
>> defined in OpenMax IL through the use of EGLImage.  We've picked Bellagio[2]
>> for our work.  As Bellagio is a 3rd party project, what this means to Gallium
>> is that we will work on a new state tracker that grants Bellagio access to
>> pipe_textures.
>>
>> We would like to submit the new state tracker (as well as st_api.h) for
>> upstream review & inclusion when we have a working implementation.  We think 
>> it
>> is important for us to start our work publicly to make sure we are working in
>> the direction that Gallium is moving.  It should be beneficial for both Mesa
>> and us.  We are improving the design document as we progress.  Any feedback 
>> on
>> our design and the new state tracker will be appreciated.
> I have one comment/question, are you going to use vl for that? It's
> obviously intended to target multiple APIs...
Generally, OpenMax IL components need not to depend on Gallium3D to use
EGLImages as the buffers.  But individual IL components like mpeg4 codec and
such may choose/need to be compiled separately from Bellagio and use v4l in
Gallium3D for hardware acceleration.

As OpenMax IL is not managed by EGL as other rendering APIs are, it is also an
interesting question that where do the Gallium3D-based IL components get the
pipe_screen/pipe_context in the first place?  It is either from EGL or Surface
Manager.  I am leaning toward Surface Manager to avoid adding another internal
interface between EGL and Gallium3D-based IL components.

-- 
o...@lunarg.com

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to