dEQP and glbench virgl micro-benchmarks
I ran the following micro-benchmarks:
dEQP-GLES3.performance.* glbench (ChromeOS specific benchmark)
These benchmarks were run on:
- nocturne (KBL CrOS device, i965 driver)
- tatl (CrOS VM image) on nocturne using crosvm
The dEQP tests were run with the following command:
/usr/local/deqp/modules/gles3/deqp-gles3 --deqp-case=dEQP-GLES3.performance* --deqp-surface-type=pbuffer --deqp-gl-config-name=rgba8888d24s8ms0 --deqp-log-images=enable --deqp-watchdog=disable --deqp-surface-width=256 --deqp-surface-height=256 --deqp-log-filename=/tmp/gles-perf.qpa
(built dEQP with platform surfaceless)
You have to dig through the qpa files to find the actual units of the dEQP results, so I didn't do this step for tests that didn't exhibit consistent performance differences.
The tests that exhibited the greatest differences were:
dEQP-GLES3.performance.buffer.data_upload.*
texture_{upload, reuse}
on glbench
Unfortunately, I think dEQP doesn't time the texture upload for dEQP-GLES3.performance.texture.*
Attached is the relevant data. dEQP might be worth running on different setups (we're working on porting glbench outside CrOS -- source code available here (https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/client/deps/glbench/src/)). Enjoy!
glbench-VM-perf.pdf dEQP-VM-Perf.pdf gles3-nocturne-Oct4-host.perf gles3-nocturne-Oct4-guest.perf