[Mesa-dev] Merging GLES1/2 to mesa/main

Chia-I Wu olvaffe at gmail.com
Wed Apr 28 09:43:24 PDT 2010


2010/4/28 Kristian Høgsberg <krh at bitplanet.net>:
> 2010/4/27 Kristian Høgsberg <krh at bitplanet.net>:
> [ I hit send to early there... ]
>> review the patches, or at least just some of them.  The overall
>> approach is
>
>  1. Add a API tag to GLcontext so we key off of that.
>  2. Use API-aware constructor where we create GLES1/2 contexts
> (currently only ES1/2 state trackers)
>  3. Move ES functionality from src/mesa/es into src/mesa/main in a
> number of steps (this is the bulk of the series).  To make this work
> we have to change some of the tables and generated code so it can all
> co-exists in the same .so file.
>  4. Update the DRI interface to allow creating API specific contexts
>  5. Use the new DRI interface in EGL/DRI2
>  6. Build libGLES1/2 from the glapi files
>
> I'm hoping to merge the branch this week, but if somebody wants to
> spend a little longer looking over the patches, let me know and I can
> wait.
Nice work.  I will give my feedbacks based on a quick look at the branch.
Correct me if I am wrong.

- GL_TEXTURE_GEN_STR_OES is not handled in _mesa_IsEnabled in
  989f4414378a6cbd2ac920d955d162ba58a06bc0.
- Links to intel_extensions_es2.c are missing in i915/ and i965/
- in src/mesa/es/Makefile, FEATURE_GL and FEATURE_ES2 should be undefined for
  libes1gallium.a; FEATURE_GL and FEATURE_ES1 should be undefined for
  libes2gallium.a.
- In st_create_context, API_OPENGL context should be preferred.  Otherwise,
  gallium gives broken DRI drivers (claim OPENGL, but is GLES) when
  --enable-gles[12] is given.
- The practices for core mesa and es overlay about generated sources are
  different.  Core mesa uses pre-generated sources.  Either api_exec_es?.c or
  get_es?.c should be pre-generated, or get.c should be generated on the fly.
- es glapi headers should be generated before compiling core mesa with
  --enable-gles[12].  If it is too much trouble, you may leave it for now.  I
  am cleaning up glapi[*], and it should be easier to do after the clean up.

[*] I am extracting a good portion of glapi to make it reusable in gallium (for
    OpenVG).  It is done, but I haven't had the time to post it to the list for
    review.  It is available at

      http://cgit.freedesktop.org/~olv/mesa/log/?h=mapi

-- 
olv at LunarG.com


More information about the mesa-dev mailing list