Skip to content

(st/)mesa: use x86 POPCNT, skip no-op vertex element updates after gl*Pointer (with C++ templates)

Marek Olšák requested to merge mareko/mesa:mesa-skip-velems-updates into main

gl_vertex_array_object::NewArrays is split into NewVertexBuffers and NewVertexElements. Some gl*Pointer calls don't update the format, and this MR detects that cases and skips vertex element updates.

The x86 POPCNT instruction is used in st_update_array.

st_update_array becomes a C++ template parameterized by whether to use POPCNT and whether to skip setting vertex elements.

Edited by Marek Olšák

Merge request reports