summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/arrayobj.c
diff options
context:
space:
mode:
authorMathias Fröhlich <[email protected]>2016-06-09 06:35:34 +0200
committerMathias Fröhlich <[email protected]>2016-06-14 05:19:10 +0200
commited2dae86aef759a6858f56d77eba77895bec5020 (patch)
tree9550383ac3d0df82ac574019f6bc9e0173497d0c /src/mesa/main/arrayobj.c
parentc3b66566760dd44eaeed9e4df13687dc3ee69bd9 (diff)
mesa: Make use of u_bit_scan{,64}.
Reviewed-by: Brian Paul <[email protected]> Tested-by: Brian Paul <[email protected]> Signed-off-by: Mathias Fröhlich <[email protected]>
Diffstat (limited to 'src/mesa/main/arrayobj.c')
-rw-r--r--src/mesa/main/arrayobj.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/mesa/main/arrayobj.c b/src/mesa/main/arrayobj.c
index 897dac6e5db..9c3451ec203 100644
--- a/src/mesa/main/arrayobj.c
+++ b/src/mesa/main/arrayobj.c
@@ -52,6 +52,7 @@
#include "mtypes.h"
#include "varray.h"
#include "main/dispatch.h"
+#include "util/bitscan.h"
/**
@@ -342,13 +343,12 @@ _mesa_update_vao_client_arrays(struct gl_context *ctx,
GLbitfield64 arrays = vao->NewArrays;
while (arrays) {
+ const int attrib = u_bit_scan64(&arrays);
+
struct gl_client_array *client_array;
struct gl_vertex_attrib_array *attrib_array;
struct gl_vertex_buffer_binding *buffer_binding;
- GLint attrib = ffsll(arrays) - 1;
- arrays ^= BITFIELD64_BIT(attrib);
-
attrib_array = &vao->VertexAttrib[attrib];
buffer_binding = &vao->VertexBinding[attrib_array->VertexBinding];
client_array = &vao->_VertexAttrib[attrib];