On Sun, 2010-03-28 at 23:56 -0700, Chia-I Wu wrote:
> On Mon, Mar 29, 2010 at 1:51 AM, Keith Whitwell
> <keith.whitw...@googlemail.com> wrote:
> > I've just pushed a variation on a theme a couple of people have
> > explored in the past, ie. an interface to gallium without an
> > intervening state-tracker.
> > The purpose of this is for writing minimal test programs to exercise
> > new gallium drivers in isolation from the rest of the codebase.
> > In fact it doesn't really make sense to say "without a state tracker",
> > unless you don't mind creating test programs which are specific to the
> > windowing system you're currently working with.  Some similar work has
> > avoided window-system issues altogether by dumping bitmaps to files,
> > or using eg. python to abstract over window systems.
> > This approach is a little different - I've defined a super-minimal api
> > for creating/destroying windows, currently calling this "graw", and we
> > have a tiny little co-state-tracker that each implementation provides.
> >  This is similar to the glut approach of abstracting over window
> > systems, though much less complete.
> > It currently consists of three calls:
> >   struct pipe_screen *graw_init( void );
> >   void *graw_create_window(...);
> >   void graw_destroy_window( void *handle );
> > which are sufficient to build simple demos on top of.  A future
> > enhancement would be to add a glut-style input handling facility.
> > Right now there's a single demo, "clear.c" which displays an ugly
> > purple box.  Builds so far only with scons, using winsys=graw-xlib.
> I happened to be playing with the idea yesterday.  My take is to define an EGL
> extension, EGL_MESA_gallium.  The extension defines Gallium as a rendering API
> of EGL.  The downside of this approach is that it depends on st/egl.  The
> upside is that, it will work on whatever platform st/egl supports.
> 
> I've cleaned up my work a little bit.  You can find it in the attachments.
> There is a port of "clear" raw demo to use EGL_MESA_gallium.  The demo 
> supports
> window resizing, and is accelerated if a hardware EGL driver is used.
> 
> The demo renders into a X11 window.  It is worth noting that, when there is no
> need to render into an EGLSurface, eglCreateWindowSurface or eglMakeCurrent is
> not required.  To interface with X11, I've also borrowed some code from OpenVG
> demos and renamed it to EGLUT.
> 

I'm not sure how far to take any of these "naked" gallium approaches.
My motivation was to build something to provide a very controlled
environment for bringup of new drivers - basically getting to the first
triangle and not much further.  After that, existing state trackers with
stable ABIs are probably preferable.

Keith


------------------------------------------------------------------------------
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