[Mesa-dev] [PATCH] vbo: do not call _mesa_max_buffer_index in debug builds

Brian Paul brianp at vmware.com
Thu Aug 4 06:25:49 PDT 2011


On 08/03/2011 11:44 PM, Marek Olšák wrote:
> That code drops performance in Unigine Heaven and Tropics
> by a factor of 10. That's too crazy even for a debug build.
>
> NOTE: This is a candidate for the 7.11 branch.
> ---
>   src/mesa/vbo/vbo_exec_array.c |    4 +---
>   1 files changed, 1 insertions(+), 3 deletions(-)
>
> diff --git a/src/mesa/vbo/vbo_exec_array.c b/src/mesa/vbo/vbo_exec_array.c
> index b908d5a..32ce0e4 100644
> --- a/src/mesa/vbo/vbo_exec_array.c
> +++ b/src/mesa/vbo/vbo_exec_array.c
> @@ -909,11 +909,10 @@ vbo_exec_DrawRangeElementsBaseVertex(GLenum mode,
>         if (0)
>            _mesa_print_arrays(ctx);
>
> -#ifdef DEBUG
>         /* 'end' was out of bounds, but now let's check the actual array
>          * indexes to see if any of them are out of bounds.
>          */
> -      {
> +      if (0) {
>            GLuint max = _mesa_max_buffer_index(ctx, count, type, indices,
>                                                ctx->Array.ElementArrayBufferObj);
>            if (max>= ctx->Array.ArrayObj->_MaxElement) {
> @@ -934,7 +933,6 @@ vbo_exec_DrawRangeElementsBaseVertex(GLenum mode,
>             * upper bound wrong.
>             */
>         }
> -#endif
>
>         /* Set 'end' to the max possible legal value */
>         assert(ctx->Array.ArrayObj->_MaxElement>= 1);

Reviewed-by: Brian Paul <brianp at vmware.com>


More information about the mesa-dev mailing list