[Bug 108319] [GLK BXT BSW] Assertion in piglit.spec.arb_gpu_shader_fp64.execution.built-in-functions.vs-sign-sat-neg-abs

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Oct 10 17:24:41 UTC 2018


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

--- Comment #3 from Ian Romanick <idr at freedesktop.org> ---
To my surprise, the culprit is:

commit a68dd47b911053995ae387afcdc7fffe82e57420
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Sun Sep 9 13:40:02 2018 -0700

    nir/algebraic: Simplify fsat of fsign

    These allows us to not support fsign.sat in the Intel compiler backend,
    and that will simplify some later changes.

    No shader-db changes on any Intel platform.

    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Thomas Helland <thomashelland90 at gmail.com>

Looking at the output from the EU validator, I think the problem is the b2f
generates a 32-bit result instead of a 64-bit result:

Native code for unnamed vertex shader GLSL3
SIMD8 shader: 35 instructions. 0 loops. 188 cycles. 0:0 spills:fills. Promoted
0 constants. Compacted 560 to 464 bytes (17%)
   START B0 (188 cycles)
mov(8)          g8<1>Q          0Q                              { align1 1Q };
mov(8)          g119<1>UD       g1<8,8,1>UD                     { align1 WE_all
1Q compacted };
mov(8)          g120<1>F        g4<8,8,1>F                      { align1 1Q
compacted };
mov(8)          g121<1>F        g5<8,8,1>F                      { align1 1Q
compacted };
mov(8)          g122<1>F        g6<8,8,1>F                      { align1 1Q
compacted };
mov(8)          g123<1>F        g7<8,8,1>F                      { align1 1Q
compacted };
mov(8)          g126<1>F        [0F, 0F, 0F, 0F]VF              { align1 1Q
compacted };
mov(8)          g127<1>F        1F                              { align1 1Q };
cmp.l.f0(8)     g4<1>DF         g8<4,4,1>DF     -(abs)g2<0,1,0>DF { align1 1Q
};
cmp.l.f0(8)     g6<1>DF         g8<4,4,1>DF     -(abs)g2.1<0,1,0>DF { align1 1Q
};
cmp.l.f0(8)     g10<1>DF        g8<4,4,1>DF     -(abs)g2.2<0,1,0>DF { align1 1Q
};
cmp.l.f0(8)     g12<1>DF        g8<4,4,1>DF     -(abs)g2.3<0,1,0>DF { align1 1Q
};
mov(8)          g4<1>D          g4<8,4,2>UD                     { align1 1Q };
mov(8)          g7<1>D          g6<8,4,2>UD                     { align1 1Q };
mov(8)          g2<1>D          g10<8,4,2>UD                    { align1 1Q };
mov(8)          g5<1>DF         -g4<4,4,1>D                     { align1 1Q };
        ERROR: Source and destination horizontal stride must equal and a
multiple of a qword when the execution type is 64-bit
mov(8)          g4<1>D          g12<8,4,2>UD                    { align1 1Q };
mov(8)          g7<1>DF         -g7<4,4,1>D                     { align1 1Q };
        ERROR: Source and destination horizontal stride must equal and a
multiple of a qword when the execution type is 64-bit
mov(8)          g11<1>DF        -g2<4,4,1>D                     { align1 1Q };
        ERROR: Source and destination horizontal stride must equal and a
multiple of a qword when the execution type is 64-bit
mov(8)          g13<1>DF        -g4<4,4,1>D                     { align1 1Q };
        ERROR: Source and destination horizontal stride must equal and a
multiple of a qword when the execution type is 64-bit
cmp.nz.f0(8)    g7<1>DF         g7<4,4,1>DF     g3.1<0,1,0>DF   { align1 1Q };
cmp.nz.f0(8)    g4<1>DF         g5<4,4,1>DF     g3<0,1,0>DF     { align1 1Q };
mov(8)          g2<1>D          g7<8,4,2>UD                     { align1 1Q };
cmp.nz.f0(8)    g6<1>DF         g11<4,4,1>DF    g3.2<0,1,0>DF   { align1 1Q };
mov(8)          g4<1>D          g4<8,4,2>UD                     { align1 1Q };
cmp.nz.f0(8)    g8<1>DF         g13<4,4,1>DF    g3.3<0,1,0>DF   { align1 1Q };
mov(8)          g3<1>D          g6<8,4,2>UD                     { align1 1Q };
or(8)           g2<1>UD         g4<8,8,1>UD     g2<8,8,1>UD     { align1 1Q
compacted };
mov(8)          g4<1>D          g8<8,4,2>UD                     { align1 1Q };
or(8)           g2<1>UD         g2<8,8,1>UD     g3<8,8,1>UD     { align1 1Q
compacted };
or(8)           g2<1>UD         g2<8,8,1>UD     g4<8,8,1>UD     { align1 1Q
compacted };
mov(8)          g124<1>F        -g2<8,8,1>D                     { align1 1Q
compacted };
not(8)          g4<1>D          g2<8,8,1>D                      { align1 1Q
compacted };
mov(8)          g125<1>F        -g4<8,8,1>D                     { align1 1Q
compacted };
send(8)         null<1>F        g119<8,8,1>F
                            urb 1 SIMD8 write mlen 9 rlen 0                 {
align1 1Q EOT };
   END B0

-- 
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/20181010/e8182a2b/attachment-0001.html>


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