glbench: improve buffer_streaming tests
TestFunc is called multiple times with different iteration counts.
We should call glBufferData in TestFunc, not before RunTest, to make
sure we always stream data to a new buffer.
Really enable culling such that the tests are not FS nor I/O bound.
The new numbers are
native: buffer_streaming_subdata = 40.88 mbytes_sec
buffer_streaming_subdata_overwrite = 6.03 mbytes_sec
virgl: buffer_streaming_subdata = 29.95 mbytes_sec
buffer_streaming_subdata_overwrite = 0.01 mbytes_sec
Note that there are better ways to stream data, such as making use
of glInvalidateBufferData and GL_MAP_UNSYNCHRONIZED_BIT. But the
current tests are equally, if not more, valuable exactly because
they are worse ways to stream data: they require a smarter driver to
perform well.
BUG=chromium:959432
TEST=glbench -notemp -tests buffer_streaming
Change-Id: I4fe7a3ab73cbd21e3d4c52a3acf58c7ddd60ed27
Reviewed-on: https://chromium-review.googlesource.com/1615585
Commit-Ready: Chia-I Wu <olv@google.com>
Tested-by: Ilja H. Friedel <ihf@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Po-Hsien Wang <pwang@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
1 file changed