Summary: | 15% perf drop in DrvRes with "i965/miptree: Use num_samples of 1 instead of 0 for single-sampled" | ||
---|---|---|---|
Product: | Mesa | Reporter: | Eero Tamminen <eero.t.tamminen> |
Component: | Drivers/DRI/i965 | Assignee: | Intel 3D Bugs Mailing List <intel-3d-bugs> |
Status: | VERIFIED FIXED | QA Contact: | Intel 3D Bugs Mailing List <intel-3d-bugs> |
Severity: | normal | ||
Priority: | medium | ||
Version: | git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Eero Tamminen
2017-08-16 13:37:28 UTC
I've verified that the stated commit does, indeed, cause the regression though I have no idea why yet. It should have been an entirely innocuous change. Patch on the list: https://patchwork.freedesktop.org/patch/172628/ This is fixed by the following commit: commit f24cf82d6db290a88abfff0669d2c5e2aa463901 Author: Jason Ekstrand <jason.ekstrand@intel.com> Date: Sat Aug 19 11:03:38 2017 -0700 i965/tex: Don't pass samples to miptree_create_for_teximage In 76e2f390f9863a35, when Topi switched num_samples from 0 to 1 for single-sampled, he accidentally switched the last parameter in the call to miptree_create_for_teximage from 0 to 1 thinking it was num_samples when it was actually layout_flags. Switching from 0 to 1 added the MIPTREE_LAYOUT_ACCELERATED_UPLOAD flag which causes us to allocate a busy BO instead of an idle one. This caused the subsequent CPU upload to consistently stall. The end result was a 15% performance drop in the SynMark v7 DrvRes microbenchmark. This restores the old behavior and fixes the performance regression. Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Fixes: 76e2f390f9863a356d1419982dec705260d67eff Bugzilla: https://bugs.freedesktop.org/102260 Cc: mesa-stable@lists.freedesktop.org Verified. DrvRes perf is now same, and in some cases slightly better, than it was before the drop. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.