Commit 3f012a43ee2c101543785720eedfeaa80708479d

Charlie Lao 2025-05-14T17:11:06

Vulkan: Move VertexArray::ElementBuffer away from observer Right now, VertexArray's element buffer is always observing buffer's change. In previous CLs, we have moved vertex array away from subject/observer usage. This CL moves element buffer away from subject/observer as well. Since the gl::Buffer tracks buffer's binding to each context's current vertex array's binding point, kElementArrayBufferIndex is added to VertexArrayBufferBindingMask bits so that the element buffer is tracked exactly the same as other vertex array buffer bindings. The VerextArray code has been modified to handle this special bit, since element buffer has its own binding point VertexArrayState::mElementArrayBuffer as opposed to VertexArrayState::mVertexBindings. After this CL, VertexArray object should be completely off subject/observer usages. Bug: angleproject:400711938 Change-Id: I662ddfabc95034bdc7734939c944ab033f41801c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6552160 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>