On 04.04.2013 21:17, Brian Paul wrote: > I just did a quick skim and found a few minor things. > > First, the subject might be "mesa: implement GL_ARB_draw_indirect and > GL_ARB_multi_draw_indirect" > > This is a big patch and I think it could have been broken down into > smaller pieces, but I know it's a PITA to redo. Next time. >> >> +static void GLAPIENTRY >> +save_DrawArraysIndirect(GLenum mode, const GLvoid *indirect) >> +{ >> + GET_CURRENT_CONTEXT(ctx); >> + _mesa_error(ctx, GL_INVALID_OPERATION, >> + "glDrawArraysIndirect() during display list compile"); >> +} > > Is this specified in the spec? IIRC, if a command isn't supposed to > get compiled into a dlist it's just immediately executed. > >
Not that I can see. But I figured since DrawElementsInstancedBaseVertex return GL_INVALID_OPERATION, the indirect version, which is essentially the same except for the place it takes its arguments from (especially in compatibility mode, where the indirect argument is a user pointer (this is not implemented, only exposing the extension in core profile for now, which means it won't ever be used with display lists anyway until compatibility for it is implemented), would behave the same. I also don't get why DrawElements non-instanced non-baseVertex is specified to execute immediately instead of returning INVALID_OPERATION. Surely if I can draw one instance I can draw 2 instances if it's executed immediately anyway. The NV binary driver seems to simply execute it immediately fwiw. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev