egl: pack all strips per gear into a single draw
commitfaaa319d704ac677c3a93caadedeb91a4a74b7a7
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Tue, 8 Sep 2020 07:35:27 +0000 (8 09:35 +0200)
committerErik Faye-Lund <erik.faye-lund@collabora.com>
Thu, 8 Oct 2020 11:24:02 +0000 (8 11:24 +0000)
treecb57a4f140c4a80cae38a42c50cdb26589564abe
parent5435fc7fbd332e171da9a71e33a9b190e9462cf0
egl: pack all strips per gear into a single draw

We can pack multiple triangle-strips into a single draw, by inserting
degenerate triangles between them. This should be a big win in terms of
CPU usage.

To avoid inserting needless degenerate triangles to invert face-winding,
we can manually invert the order of the back-face as well as emit the
inner face last. This ensures every strip starts with the right
face-winding.

Reviewed-by: Alexandros Frantzis <alexandros.frantzis@collbora.com>
src/egl/opengles2/es2gears.c