opengl-es-v2 branch

View: New views
3 Messages — Rating Filter:   Alert me  

opengl-es-v2 branch

by Chia-I Wu-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi list,

There is a new branch named opengl-es-v2 in the repository.  It
implements OpenGL ES 1.1 and 2.0 state trackers, and has a handful of
demos in it.  The work is largely based on opengl-es branch.  To test
out, one may switch to the branch and

$ make linux-opengl-es
$ make install

It will install libEGL.so, egl_softpipe.so, libGLESv1_CM.so, and
libGLESv2.so to /usr/local/lib.  egl_softpipe.so is a driver of EGL
which uses softpipe and supports X11 winsys.  To help libEGL.so find
the driver, one needs to manually

$ export EGL_DRIVER=/usr/local/lib/egl_softpipe.so

before running the demos.

--- Overview of the ES overlay ---

The biggest differences between this branch and opengl-es branch are the
use of glapi and the way the state trackers are built.  The related
works can be found in src/mesa/es/, es overlay.  While mesa core gives

GL: libmesa.a libmesagallium.a libglapi.a,

es overlay gives

ES1: libes1.a libes1gallium.a libes1api.a
ES2: libes2.a libes2gallium.a libes2api.a

And the libraries can be used exact the same way as mesa core libraries
are.  The output pathes for GL/ES1/ES2 are different so it is possible
to build everything in one go.

The glapi libraries are built from a new set of XMLs for OpenGL ES.  The
others share most of the source files with mesa core, with some features
disabled, and some enabled.  It should be noted that the glapi headers
are not pre-generated from the XMLs and it makes python a compile time
dependency.  If this is a concern, I can add the pre-generated files to
the repository.

OpenGL ES is a subset of OpenGL with other core additions.  Because many
ES functions are proper subsets of the corresponding GL functions,
another layer of indirection is required when dispatching the functions.
Take glColorPointer for example

  glColorPointer -> _es_ColorPointer (new indirection) -> _mesa_ColorPointer

OpenGL ES requires the size of the color pointer to be 4.  Because
_mesa_ColorPointer accepts both 3 and 4, the indirection is introduced
to make sure the size is 4 before calling _mesa_ColorPointer.

--
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@...
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Re: opengl-es-v2 branch

by Chia-I Wu-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sat, Nov 07, 2009 at 10:07:13AM +0800, Chia-I Wu wrote:
> It will install libEGL.so, egl_softpipe.so, libGLESv1_CM.so, and
> libGLESv2.so to /usr/local/lib.  egl_softpipe.so is a driver of EGL
> which uses softpipe and supports X11 winsys.  To help libEGL.so find
> the driver, one needs to manually
> $ export EGL_DRIVER=/usr/local/lib/egl_softpipe.so
> before running the demos.
It installs now also egl_i915.so, thanks for Brian's help.  Comparing to
egl_softpipe.so, this driver provides acceleration and works with bare
KMS.  There is also a port of gears to OpenGL ES.  Have fun testing!

--
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@...
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Re: opengl-es-v2 branch

by Chia-I Wu-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sat, Nov 07, 2009 at 10:07:13AM +0800, Chia-I Wu wrote:
> OpenGL ES is a subset of OpenGL with other core additions.  Because many
> ES functions are proper subsets of the corresponding GL functions,
> another layer of indirection is required when dispatching the functions.
> Take glColorPointer for example
>   glColorPointer -> _es_ColorPointer (new indirection) -> _mesa_ColorPointer
The _es_ indirection is generated from APIspec.txt.  The format is not
very friendly to human eyes, and there are many copy-and-pastes.  This
makes future maintenance harder.

I have been working on converting it to XML this week.  The new format
separates parameter checkings and the functions themselves.  That means,
there is no need to write the same checking rules for all, say, the 6
variants of TexParameter.  I plan to have this conversion done by Monday
and send a patch series.

--
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@...
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev