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: <!7137>
Showing
-
mentioned in issue #3753 (closed)
-
mentioned in issue #3716 (closed)
-
Reporter
This patch harms synmark OglDrvState by ~2.9%, but this benchmark renders multiple scenes from other workloads in tiny rectangles.
DrvState viewports are indeed tiny, but it's also marginally CPU bound, and as result it has high variance. Although I see the improvements in my data for the other tests, I don't see any regression in DrvState.
However, I do see 1-2% drop in SynMark PSBump8, and potential 3% drop in Heaven. However, for now I have Heaven data point only from single device. I'll collect more data and from more devices to verify that it wasn't just bad luck (e.g. GPU hang).
-
Reporter
Heaven drop is real, but it's not due to this Mesa change. I'll file a new bug on it.
Please register or sign in to comment