[Bug 103517] 10% perf drop in CPU bound tests with "i965: Call gen6_upload_push_constants() even when the stage is disabled"

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Nov 9 16:50:13 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=103517

--- Comment #1 from Eero Tamminen <eero.t.tamminen at intel.com> ---
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 at whitecape.org>
AuthorDate: Fri Oct 20 15:38:52 2017 -0700
Commit:     Kenneth Graunke <kenneth at 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 at intel.com>
---------------------------------------------------------

(And indeed, the perf is still at the regressed level, it hasn't improved
noticeably since the regression.)

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20171109/54526049/attachment.html>


More information about the intel-3d-bugs mailing list