Author :
Cody Northrop
Date :
2021-08-26 22:15:54
Hash :077b8eef Message :FrameCapture: Add ES 3.1 Vertex Attrib MEC support
ES 3.1 adds new, more explicit ways to bind vertex buffers to
different format combinations. This allows changing how data is
interpreted without respecifying all the data as well.
Apps using new ES 3.1 vertex attribute functions can be incompatible
with our MEC setup that uses VertexAttribPointer. This was caught
recently by Jamie's changes to enforce ES2 only conditions. Fortnite
is the first app that uses ES3.1 semantics exclusively.
To support this, add VertexAttribFormat and VertexAttribBinding to
to our attribute setup loop. For binding indexes that *aren't* used
with VertexAttibPointer, set them up with BindVertexBuffer.
Test: Fortnite MEC
Bug: b/180418810
Bug: angleproject:5658
Bug: angleproject:6274
Change-Id: Id0cd10f6270fc96354797c3008ac181a4d008031
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3124339
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>