Optimize clearing of depth and stencil images
Extend Blitter::fastClear(), which is based on memset() instead of using
Reactor routines, to also handle D32_SFLOAT and S8_UINT formats.
Benchmark results:
Run on (48 X 2594 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x24)
L1 Instruction 32 KiB (x24)
L2 Unified 256 KiB (x24)
L3 Unified 30720 KiB (x2)
--------------------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------------------
(LLVM, before)
ClearImage/VK_FORMAT_D32_SFLOAT 3.74 ms 0.016 ms 1000
(LLVM, after)
ClearImage/VK_FORMAT_D32_SFLOAT 1.08 ms 0.044 ms 10000
(Subzero, before)
ClearImage/VK_FORMAT_D32_SFLOAT 4.51 ms 0.063 ms 1000
(Subzero, after)
ClearImage/VK_FORMAT_D32_SFLOAT 0.963 ms 0.040 ms 7467
Bug: b/159455503
Change-Id: Ib1b0ad38417c516267d6addd835076a933e22dba
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/45888
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
Tested-by:
Nicolas Capens <nicolascapens@google.com>
Showing
Please
register
or
sign in
to comment