intel/brw/xe3+: Tweak render target write timings in performance modeling pass.
Reduce the cycle-count cost estimate used by the performance model for render target writes on xe3+ in order to match the real-world observation of shaders with latency lower than the previously estimated cost of its render target write. In a shader used by Factorio this would have led us to incorrectly model the shader as fillrate-bound, even though in reality the shader is EU-bound and benefits from the higher parallelism of SIMD32, so the subsequent commit that re-enables the static analysis-based SIMD32 heuristic on PTL would lead to a ~2% regression without this tweak. There appear to be no other regressions nor other changes from this in combination with the subsequent commit that enables it to have an effect, but it is possible that the real cycle count cost of a render target write still lies below the estimated value, ~400 is just the upper bound that can be inferred from the behavior of this test case. Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36618>
This commit is contained in:
committed by
Marge Bot
parent
6ccf2a375a
commit
3936a43496
@@ -599,10 +599,16 @@ namespace {
|
||||
30 /* XXX */, 0,
|
||||
10 /* XXX */, 300 /* XXX */, 0, 0, 0, 0);
|
||||
default:
|
||||
return calculate_desc(info, EU_UNIT_DP_RC, 2, 0, 0,
|
||||
0, 450 /* XXX */,
|
||||
10 /* XXX */, 300 /* XXX */, 0, 0,
|
||||
0, 0);
|
||||
if (devinfo->ver >= 30)
|
||||
return calculate_desc(info, EU_UNIT_DP_RC, 2, 0, 0,
|
||||
0, 400 /* XXX */,
|
||||
10 /* XXX */, 300 /* XXX */, 0, 0,
|
||||
0, 0);
|
||||
else
|
||||
return calculate_desc(info, EU_UNIT_DP_RC, 2, 0, 0,
|
||||
0, 450 /* XXX */,
|
||||
10 /* XXX */, 300 /* XXX */, 0, 0,
|
||||
0, 0);
|
||||
}
|
||||
case BRW_SFID_SAMPLER: {
|
||||
return calculate_desc(info, EU_UNIT_SAMPLER, 2, 0, 0, 0, 16,
|
||||
|
||||
Reference in New Issue
Block a user