[Mesa-dev] [PATCH v2 05/12] mesa: add API_NUM
Imre Deak
imre.deak at intel.com
Mon Sep 10 00:25:26 PDT 2012
On Mon, 2012-09-10 at 10:10 +0300, Ian Romanick wrote:
> On 09/10/2012 09:41 AM, Imre Deak wrote:
> > Needed by the next patch.
> >
> > Signed-off-by: Imre Deak <imre.deak at intel.com>
> > ---
> > src/mesa/main/context.c | 2 ++
> > src/mesa/main/mtypes.h | 2 ++
> > src/mesa/main/version.c | 3 +++
> > 3 files changed, 7 insertions(+)
> >
> > diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
> > index 6b28690..1167ea5 100644
> > --- a/src/mesa/main/context.c
> > +++ b/src/mesa/main/context.c
> > @@ -1040,6 +1040,8 @@ _mesa_initialize_context(struct gl_context *ctx,
> > ctx->VertexProgram._MaintainTnlProgram = GL_TRUE;
> > ctx->Point.PointSprite = GL_TRUE; /* always on for ES 2.x */
> > break;
> > + default:
> > + _mesa_problem(ctx, "Unknown API %d\n", ctx->API);
> > }
> >
> > ctx->FirstTimeCurrent = GL_TRUE;
> > diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
> > index ba43e57..5fc3b8e 100644
> > --- a/src/mesa/main/mtypes.h
> > +++ b/src/mesa/main/mtypes.h
> > @@ -3340,6 +3340,8 @@ typedef enum
> > API_OPENGLES,
> > API_OPENGLES2,
> > API_OPENGL_CORE,
> > +
> > + API_NUM,
> > } gl_api;
>
> I'm not a fan of this. As you noticed, it means you have to add
> unnecessary default cases to any switch statements involving gl_api.
> Doing this means that when a new API_* is added, some switch statement
> that needs to be updated may be missed.
>
> There are two ways to handle this that I would prefer.
>
> 1. Add
>
> API_LAST = API_OPENGL_CORE
>
> at the end of the enum. Then use 'API_LAST + 1' in all the places where
> you now have API_NUM.
Ok, I can use this instead.
>
> 2. Do the above, but also add
>
> #define API_NUM (API_LAST + 1)
>
> There may be some bikeshedding over the API_NUM name as well.
>
> >
> > /**
> > diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c
> > index bc7b1fa..7deb614 100644
> > --- a/src/mesa/main/version.c
> > +++ b/src/mesa/main/version.c
> > @@ -322,6 +322,9 @@ _mesa_compute_version(struct gl_context *ctx)
> > case API_OPENGLES2:
> > compute_version_es2(ctx);
> > break;
> > + default:
> > + _mesa_problem(ctx, "unknown or unsupported API");
> > + break;
> > }
> >
> > }
> >
>
More information about the mesa-dev
mailing list