Summary: | 10% perf drop in CPU bound tests with "i965: Call gen6_upload_push_constants() even when the stage is disabled" | ||
---|---|---|---|
Product: | Mesa | Reporter: | Eero Tamminen <eero.t.tamminen> |
Component: | Drivers/DRI/i965 | Assignee: | Intel 3D Bugs Mailing List <intel-3d-bugs> |
Status: | VERIFIED WONTFIX | 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-10-30 15:34:07 UTC
According to ezBench: * Indicated commit also broke Xonotic rendering, in addition to performance regression * This commit fixed the rendering issue, but not the performance drop: --------------------------------------------------------- commit 877dd14e88de6ee115617a2a6412e86ba67db443 Author: Kenneth Graunke <kenneth@whitecape.org> AuthorDate: Fri Oct 20 15:38:52 2017 -0700 Commit: Kenneth Graunke <kenneth@whitecape.org> CommitDate: Mon Oct 30 20:38:08 2017 -0700 i965: Don't flag BRW_NEW_SURFACES unless some push constants are dirty. Due to a gaffe on my part, we were re-emitting all binding table entries on every single draw call. The push_constant_packets atom listens to BRW_NEW_DRAW_CALL, but skips emitting 3DSTATE_CONSTANT_XS for each stage unless stage_state->push_constants_dirty is true. However, it flagged BRW_NEW_SURFACES unconditionally at the end, by mistake. Instead, it should only flag it if we actually emit 3DSTATE_CONSTANT_XS for a stage. We can move it a few lines up, inside the loop - the early continues will skip over it if push constants aren't dirty for a stage. With INTEL_NO_HW=1 set, improves performance of GFXBench5 gl_driver_2 on Apollolake at 1280x720 by 1.01122% +/- 0.470723% (n=35). Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com> --------------------------------------------------------- (And indeed, the perf is still at the regressed level, it hasn't improved noticeably since the regression.) i965 CPU bound perf is still low, it actually dropped another ~10% year later, around mid November in 2018. Closing as WONTFIX. Not planning to optimize the CPU usage of i965 constant handling. iris does a much better job at this already. |
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.