From: Mathias Fröhlich <mathias.froehl...@web.de> Replaces an iterate and test bit in a bitmask loop by a loop only iterating over the bits set in the bitmask.
v2: Use _mesa_bit_scan{,64} instead of open coding. Reviewed-by: Brian Paul <bri...@vmware.com> Signed-off-by: Mathias Fröhlich <mathias.froehl...@web.de> --- src/mesa/drivers/dri/i965/brw_draw.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_draw.c b/src/mesa/drivers/dri/i965/brw_draw.c index fa3ff5f..32beb1c 100644 --- a/src/mesa/drivers/dri/i965/brw_draw.c +++ b/src/mesa/drivers/dri/i965/brw_draw.c @@ -301,16 +301,15 @@ brw_merge_inputs(struct brw_context *brw, } if (brw->gen < 8 && !brw->is_haswell) { - struct gl_program *vp = &ctx->VertexProgram._Current->Base; + GLbitfield64 mask = ctx->VertexProgram._Current->Base.InputsRead; /* Prior to Haswell, the hardware can't natively support GL_FIXED or * 2_10_10_10_REV vertex formats. Set appropriate workaround flags. */ - for (i = 0; i < VERT_ATTRIB_MAX; i++) { - if (!(vp->InputsRead & BITFIELD64_BIT(i))) - continue; - + while (mask) { uint8_t wa_flags = 0; + i = _mesa_bit_scan64(&mask); + switch (brw->vb.inputs[i].glarray->Type) { case GL_FIXED: -- 2.5.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev