CopyStream: Change way the cmdBuffer is recorded
Before, keep submiting a lots of command buffer to emulate the
glBufferSubData in glbench, which adds lots of CPU overhead and not
ideal for vulkan benchmark.
Instead, We try to record multiple copy command in one single command
buffer and submit it. Also adds specific fences and remove unneeded
calls, e.g. draw calls.
- Move Setup/Destroy function out of the time measurement.
- Add RunFunc function
- copy.BufferStream now records commandbuffer that tries to copy the
buffer into another buffer segment by segment.
glinux: amd:6981
-> glbench.copy_streaming_subdata_override -> 57.97 mbytes_sec
-> glbench.copy_streaming_subdata -> 57.41 mbytes_sec
-> vkbench.BufferStreaming -> 129.73 mbytes_sec
zork: amd:15d8
-> glbench.copy_streaming_subdata_override -> 5.89 mbytes_sec
-> glbench.copy_streaming_subdata -> 35.89 mbytes_sec
-> vkbench.BufferStreaming -> 58.68 mbytes_sec
brya:omnigul intel:46a8 i5-1235U
-> glbench.copy_streaming_subdata_override -> 4.58 mbytes_sec
-> glbench.copy_streaming_subdata -> 124.93 mbytes_sec
-> vkbench.BufferStreaming -> 15.68 mbytes_sec
brya:primus intel:46a3 i3-1215U
-> glbench.copy_streaming_subdata_override -> 3.62 mbytes_sec
-> glbench.copy_streaming_subdata -> 123.09 mbytes_sec
-> vkbench.BufferStreaming -> 13.89 mbytes_sec
BUG=b:291637728
TEST=see above
Change-Id: If22b108dedc3b44f9b46136a47ac39005b3031c6
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vkbench/+/5404238
Tested-by: Po-Hsien Wang <pwang@chromium.org>
Commit-Queue: Po-Hsien Wang <pwang@chromium.org>
Reviewed-by: Prahlad Kilambi <prahladk@google.com>
Auto-Submit: Po-Hsien Wang <pwang@chromium.org>
6 files changed