[Bug 109926] dEQP-GLES3.functional.shaders.loops.short_circuit.do_while_fragment fails

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Mar 7 16:42:42 UTC 2019


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

            Bug ID: 109926
           Summary: dEQP-GLES3.functional.shaders.loops.short_circuit.do_w
                    hile_fragment  fails
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: ASSIGNED
          Keywords: bisected, regression
          Severity: normal
          Priority: medium
         Component: Drivers/Gallium/Iris
          Assignee: t_arceri at yahoo.com.au
          Reporter: mark.a.janes at intel.com
        QA Contact: intel-3d-bugs at lists.freedesktop.org
                CC: kenneth at whitecape.org

This test regressed with:

ecceb076e5c99cea94b853a9600947fe78b3ca74
Author:     Timothy Arceri <tarceri at itsqueeze.com>

st/glsl: start spilling out common st glsl conversion code

The NIR and TGSI paths are currently intertwined which makes it
not only hard to follow but also makes it hard to take advantage
of the differences in IR.

Here we take the first step to splitting that path apart. With
this we take the opportunity to no longer call the GLSL IR
optimisation passes after the final lowering calls for NIR. We
can instead just use the NIR passes which can produce better code
and should also result in faster compile times.

The speed-up can be measured in some dolphin uber shaders due to
no longer calling lower_if_to_cond_assign() for example
dolphin/ubershaders/120.shader_test goes from ~1.63 -> ~1.53
seconds on my machine.

There are some code changes as a result of not calling
lower_if_to_cond_assign(), this is because it flattens ifs that
contain UBOs where as NIR's peephole select doesn't. This is
were most of the regressions in Max Waves happens with shader-db.

shader-db results (VEGA):

Totals from affected shaders:
SGPRS: 2349056 -> 2349640 (0.02 %)
VGPRS: 1322160 -> 1323300 (0.09 %)
Spilled SGPRs: 21190 -> 21527 (1.59 %)
Spilled VGPRs: 99 -> 99 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 72 -> 72 (0.00 %) dwords per thread
Code Size: 57260904 -> 57270932 (0.02 %) bytes
Compile Time: 1107186 -> 1022942 (-7.61 %) milliseconds
LDS: 786 -> 786 (0.00 %) blocks
Max Waves: 391932 -> 391619 (-0.08 %)
Wait states: 0 -> 0 (0.00 %)

Reviewed-by: Eric Anholt <eric at anholt.net>

--------------------------------------------------------------

./deqp-gles3 -n
dEQP-GLES3.functional.shaders.loops.short_circuit.do_while_fragment

Test Output:

INCORRECT RESULT for sub-case 1 of 2):
Failing shader input/output values:
    input bool in0: false

    expected int sideEffectCounter: 0

-- 
You are receiving this mail because:
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/20190307/7982b24a/attachment.html>


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