On Sat, Dec 26, 2009 at 03:04:51AM +0100, Luca Barbieri wrote:
> This patch adds two extensions, EGL_MESA_gallium and GLX_MESA_gallium,
> which allow an application to directly access the Gallium3D API
> bypassing OpenGL and using EGL or GLX for general setup.
> The python state tracker already uses the GLX_MESA_gallium functions
> (due to a commit by Jose Fonseca), but the functions are not actually
> implemented.
> There is already a WGL extension with wglGetGalliumScreenMESA and
> wglCreateGalliumContextMESA. A wglGetGalliumSurfacesMESA function
> should probably be added to match the EGL/GLX versions in this patch.
> It adds 3 functions:
> (egl|glx)GetGalliumScreenMESA: returns a pipe_screen for an X11
> display/screen or an EGL display
> (egl|glx)CreateGalliumContextMESA: creates a pipe_context for an X11
> display/screen or an EGL display
> (egl|glx)GetGalliumSurfacesMESA: returns all pipe_surface attachments
> for an X11 drawable or EGL surface
For the EGL part, is it possible to define Gallium as a client API?
Then the setup code would look like (pseudo code):

  eglBindAPI(EGL_GALLIUM_API_MESA);
  ctx = eglCreateContext();
  suf = eglCreateWindowSurface();
  eglMakeCurrent(ctx, surf);

And the new "Gallium Client API" provides:

  p_context = g3dGetContext();
  fb = g3dGetFramebuffer();

This way, it allows mixing OpenGL/OpenVG/Gallium, and resource sharing
between them.

-- 
Regards,
olv

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to