summaryrefslogtreecommitdiff
path: root/src/broadcom/vulkan/v3dv_pipeline.c
diff options
context:
space:
mode:
authorMarcin Ślusarz <marcin.slusarz@intel.com>2020-10-14 16:32:55 +0200
committerMarge Bot <eric+marge@anholt.net>2020-11-03 10:49:04 +0000
commit21ffacff8c70c35649679fd67f2ee770245751e4 (patch)
treef0a3c4d8134344f42cde436315b976959992a83f /src/broadcom/vulkan/v3dv_pipeline.c
parent06764e0e5d5e37f9a3e00db7676b76d5472e305b (diff)
intel/compiler: remove branch weight heuristic
As a result of this patch, compiler chooses SIMD32 shaders more frequently. Current logic is designed to avoid regressions from enabling SIMD32 at all cost, even though the cases where regression can happen are probably for smaller draw calls (far away from the camera and though smaller). In Intel perf CI this patch improves FPS in: - gfxbench5 alu2: 21.92% (gen9), 23.7% (gen11) - synmark OglShMapVsm: 3.26% (gen9), 4.52% (gen11) - gfxbench5 car chase: 1.34% (gen9), 1.32% (gen11) No observed regressions there. In my testing, it also improves FPS in: - The Talos Principle: 2.9% (gen9) The other 16 games I tested had very minor changes in performance (2/3 positive, but not significant enough to list here). Note: this patch harms synmark OglDrvState (which is not in Intel perf CI) by ~2.9%, but this benchmark renders multiple scenes from other workloads (including OglShMapVsm, which is helped in standalone mode) in tiny rectangles. Rendering so small drastically changes branching statistics, which favors smaller SIMD modes. I assume this matters only in micro-benchmarks, as in real workloads more expensive (with more uniform branching behavior) draw calls dominate. Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com> Acked-by: Francisco Jerez <currojerez@riseup.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7137>
Diffstat (limited to 'src/broadcom/vulkan/v3dv_pipeline.c')
0 files changed, 0 insertions, 0 deletions