On Thu, Sep 10, 2009 at 01:28:16PM +0800, Chia-I Wu wrote:
> On Thu, Sep 03, 2009 at 02:27:42PM +0800, Chia-I Wu wrote:
> > I am still cleaning up the implementation.  But I would like to know
> > your ideas about OpenGL ES support, and the path I take.  Thanks.
> After some cleanups, I think it is more suitable to split the patch
> series into 2 parts
> 1. Make features more modular
> 2. Support for OpenGL ES
I've uploaded an updated patch series to

http://0xlab.org/~olv/mesa-es-v2/ or
http://0xlab.org/~olv/mesa-es-v2.tar.gz

This is a big series with 2 parts.  If the patch series is considered
not ready for master after reviewing, I would like to know if there is a
chance for the first part (patch 01~18) to be merged first, after
incorporating any feedbacks.

The first 18(!) patches convert about a dozen of the features to become
more modular.  The first patch documents how the conversion is done.
Patch 02~15 patches are similar.  The conversion of FEATURE_dlist is the
most complex one, and I would give a short summary to it.  As discussed
in the last mail, 4 macros/functions are added to dlist.h

  #define _MESA_INIT_DLIST_FUNCTIONS(driver, impl)               \
     do {                                                        \
        (driver)->NewList           = impl ## NewList;           \
        (driver)->EndList           = impl ## EndList;           \
        (driver)->BeginCallList     = impl ## BeginCallList;     \
        (driver)->EndCallList       = impl ## EndCallList;       \
        (driver)->SaveFlushVertices = impl ## SaveFlushVertices; \
        (driver)->NotifySaveBegin   = impl ## NotifyBegin;       \
     } while (0)
  #define _MESA_INIT_DLIST_VTXFMT(vfmt, impl)  \
     do {                                      \
        (vfmt)->CallList  = impl ## CallList;  \
        (vfmt)->CallLists = impl ## CallLists; \
     } while (0)
  extern void _mesa_install_dlist_vtxfmt(struct _glapi_table *disp, const 
GLvertexformat *vfmt);
  extern void _mesa_init_dlist_dispatch(struct _glapi_table *disp);

_MESA_INIT_DLIST_FUNCTIONS may be used by a driver to fill its
implementations of FEATURE_dlist.  It is not used in the patch.

_MESA_INIT_DLIST_VTXFMT is called to insert dispatch functions into
GLvertexformat.  It is called in, for example, vbo module to insert the
dispatch functions into GLvertexformat.

_mesa_install_dlist_vtxfmt is called by vtxfmt.c to install dlist
functions in GLvertexformat into the dispatch table.

Finally, _mesa_init_dlist_dispatch is called to install the dispatch
functions (GenLists, NewList, DeleteLists, etc.) into the exec table.
It is called when the exec table is initialized.

There is no different from current behavior when FEATURE_dlist is
enabled.  But by using these wrappers, all of them become no-op when
FEATURE_dlist is disabled.

Patch 16~18 makes the compressed texture formats become no-op when the
respective features are disabled.  Before, they were simply eliminated
and most of the drivers would not compile.

Patch 19~34 implement OpenGL ES over mesa.  There is no big change
except some fixes and cleanups.

-- 
Regards,
olv

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to