[Mesa-dev] [Bug 106774] GLSL IR copy propagates loads of SSBOs

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Jun 14 18:36:06 UTC 2018


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

Ian Romanick <idr at freedesktop.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |idr at freedesktop.org,
                   |                            |michel at daenzer.net
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #18 from Ian Romanick <idr at freedesktop.org> ---
This bug should be fixed by the commits listed below.

(In reply to Michel Dänzer from comment #10)
> Please don't add piglit tests which are expected to hang the GPU, or at
> least don't set them up to be run by default. Not all drivers can reliably
> recover from GPU hangs.

The updated test does not cause GPU hangs with these patches applied.  Are you
ok with the test landing in piglit master?



commit 37bd9ccd21b860d2b5ffea7e1f472ec83b68b43b (HEAD -> bug-106774,
origin/master, origin/HEAD)
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Tue Jun 5 16:02:25 2018 -0700

    glsl: Don't copy propagate elements from SSBO or shared variables either

    Since SSBOs can be written by a different GPU thread, copy propagating a
    read can cause the value to magically change.  SSBO reads are also very
    expensive, so doing it twice will be slower.

    The same shader was helped by this patch and the previous.

    Haswell, Broadwell, and Skylake had similar results. (Skylake shown)
    total instructions in shared programs: 14399119 -> 14399113 (<.01%)
    instructions in affected programs: 683 -> 677 (-0.88%)
    helped: 1
    HURT: 0

    total cycles in shared programs: 532973113 -> 532971865 (<.01%)
    cycles in affected programs: 524666 -> 523418 (-0.24%)
    helped: 1
    HURT: 0

    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
    Cc: mesa-stable at lists.freedesktop.org
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106774

commit 461a5c899c08064467abb635536381a5a5659280
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Tue Jun 5 15:04:24 2018 -0700

    glsl: Don't copy propagate from SSBO or shared variables either

    Since SSBOs can be written by other GPU threads, copy propagating a read
    can cause the value to magically change.  SSBO reads are also very
    expensive, so doing it twice will be slower.

    Haswell, Broadwell, and Skylake had similar results. (Skylake shown)
    total instructions in shared programs: 14399120 -> 14399119 (<.01%)
    instructions in affected programs: 684 -> 683 (-0.15%)
    helped: 1
    HURT: 0

    total cycles in shared programs: 532978931 -> 532973113 (<.01%)
    cycles in affected programs: 530484 -> 524666 (-1.10%)
    helped: 1
    HURT: 0

    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
    Cc: mesa-stable at lists.freedesktop.org
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106774

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180614/6e268da4/attachment.html>


More information about the mesa-dev mailing list