[Mesa-dev] [PATCH 3/3] mesa: Clean up gl_array_object::_MaxElement computation.

Mathias Fröhlich Mathias.Froehlich at gmx.net
Wed Jan 11 23:08:14 PST 2012


Hi Eric,

Thanks for the review.
I will send shortly an updated patch.

... except:

On Friday, December 30, 2011 12:13:36 Eric Anholt wrote:
> Also, I think that helper would be easier to read as;
> 
> +   GLbitfield64 enabled = arrayObj->_Enabled;
> +
> +   if (enabled & VERT_ATTRIB_GENERIC0)
> +      enabled &= ~VERT_BIT_POS;
> +
> +   return enabled;

Regarding that, I would agree for readability.
But, I can observe a difference in speed between the two variants. The variant 
with the if is a little slower in average on my particular machine here. It 
appears that fully pipelineable bitfield stuff without the 'if' branch could be 
faster.
This really surprises me that this particular place is visible in speed. But 
since I have seen that I think I will try to keep that.

An other argument for the bitshift variant could be that you do not want to do 
the nv aliasing without that simultanous bitfield trick. So understanding one 
or the other is about the same and one of which is required anyway.

So, if you do require this change I will do, but see the above.

Thanks

Mathias


More information about the mesa-dev mailing list