<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - [BXT] up to 6% performance drop with "i965: Set "Subslice Hashing Mode" to 16x16 on Apollolake""
href="https://bugs.freedesktop.org/show_bug.cgi?id=102272">102272</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>[BXT] up to 6% performance drop with "i965: Set "Subslice Hashing Mode" to 16x16 on Apollolake"
</td>
</tr>
<tr>
<th>Product</th>
<td>Mesa
</td>
</tr>
<tr>
<th>Version</th>
<td>git
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Other
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>Drivers/DRI/i965
</td>
</tr>
<tr>
<th>Assignee</th>
<td>intel-3d-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>eero.t.tamminen@intel.com
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>intel-3d-bugs@lists.freedesktop.org
</td>
</tr></table>
<p>
<div>
<pre>Bisecting on BXT (J4205, 18 EUs) revealed following commit:
----------------------------------------------------------
i965: Set "Subslice Hashing Mode" to 16x16 on Apollolake.
As of 4.11, the kernel isn't bothering to set the subslice hashing mode
on Apollolake, leaving it at the default of 8x8. (It initializes it to
16x4 on most platforms.)
Performance data for GPUTest Triangle on Apollolake at 1024x640:
... <max ~1% perf improvement> ...
Based on this, we choose 16x16 for Apollolake.
Skylake GT2 with X-tiled buffers appears to be a toss-up between 16x4
and 16x16, and with Y-tiled buffers it doesn't seem to really matter.
So we'll leave Skylake alone for now.
The hashing mode doesn't seem to make a measurable impact on more
complex benchmarks.
Acked-by: Matt Turner <<a href="mailto:mattst88@gmail.com">mattst88@gmail.com</a>>
----------------------------------------------------------
To drop performance in several test-cases:
- 6% in SynMark v7 TerrainPanTess
- 3% in GpuTest v0.7 GiMark
- 3% in GpuTest v0.7 FurMark
- 2% in SynMark v7 TerrainFlyTess
And cause additional drop in max sampling rate, on top of <a class="bz_bug_link
bz_status_NEEDINFO "
title="NEEDINFO - Up to 20% perf drop in texture sampling tests with "i965/surface_state: Get the aux usage from the miptree code""
href="show_bug.cgi?id=102258">bug 102258</a>.
(Unigine Valley had also dropped by 1% somewhere around this time, but that was
too small change to be bisected reliably.)
GpuTest tests were run in HalfHD window, SynMark ones in FullHD fullscreen.
I don't have yet reliable data on the potential improvements from this commit,
but around same time:
- GpuTest Triangle seems indeed to have improved marginally
- raw GPU texture read, copy & blend bandwidth has improved slightly
- <a class="bz_bug_link
bz_status_NEEDINFO "
title="NEEDINFO - Up to 20% perf drop in texture sampling tests with "i965/surface_state: Get the aux usage from the miptree code""
href="show_bug.cgi?id=102258">Bug 102258</a> perf drop in SynMark TexMem*, TexFilterTri & GLB 2.7 Fill cases
gets mostly compensated
- SynMark ZBuffer test, which does lot of depth buffer reads, also improves
slightly
-> I will bisect also these (when the BXT machine is free again), to verify
they come from the same commit and to see how much their exact impact is.
Note: Above data is for 18 EU BXT, if commit was tested with 12 EU variant,
it's possible that hashing mode has less impact on 12 EU one.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>