-
Optimize clearing of depth and stencil images · b3240d0cNicolas Capens authored
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 This change re-implements https://swiftshader-review.googlesource.com/c/SwiftShader/+/45888 which was reading 'clearValue' out of bounds when accessing color[1] when it's only a single depth or stencil value. Bug: b/159455503 Bug: chromium:1097740 Change-Id: Id3e74b4fa28ee0422540a8480814f8c9988f402a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/45949 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
b3240d0c
×