[Mesa-dev] [PATCH] mesa: check glBegin()/glDrawArrays()/etc mode with _mesa_valid_prim_mode()
Yuanhan Liu
yuanhan.liu at linux.intel.com
Tue Sep 20 19:36:32 PDT 2011
On Tue, Sep 20, 2011 at 08:30:07PM -0600, Brian Paul wrote:
> On Tue, Sep 20, 2011 at 7:54 PM, Yuanhan Liu
> <yuanhan.liu at linux.intel.com> wrote:
> > On Tue, Sep 20, 2011 at 08:51:45AM -0600, Brian Paul wrote:
> >> From: Brian Paul <brianp at vmware.com>
> >>
> >> We now raise an GL_INVALID_ENUM in glBegin() if mode is illegal, as was
> >> done in Yuanhan Liu's original patch.
> >>
> >> Take geometry shaders support into account too.
>
> >> +
> >> /**
> >> * Called via glBegin.
> >> */
> >> @@ -563,6 +565,11 @@ static void GLAPIENTRY vbo_exec_Begin( GLenum mode )
> >> struct vbo_exec_context *exec = &vbo_context(ctx)->exec;
> >> int i;
> >>
> >> + if (!_mesa_valid_prim_mode(ctx, mode)) {
> >> + _mesa_error(ctx, GL_INVALID_ENUM, "glBegin");
> >> + return;
> >> + }
> >> +
> >
> > Sorry, shouldn't we add the mode validation after the if(ctx->NewState)
> > code block to make sure the previous states are updated?
>
> It really doesn't matter. If there's dirty state it'll get checked in
> the next GL call.
> We typically put the error checking code before everything else in the
> GL functions.
Got it. Then
Reviewed-by: Yuanhan Liu <yuanhan.liu at linux.intel.com>
More information about the mesa-dev
mailing list