[Bug 89315] New: [HSW, regression, bisected] i965/fs: Emit MAD instructions when possible.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Feb 24 23:44:58 PST 2015


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

            Bug ID: 89315
           Summary: [HSW, regression, bisected] i965/fs: Emit MAD
                    instructions when possible.
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/DRI/i965
          Assignee: idr at freedesktop.org
          Reporter: itoral at igalia.com
        QA Contact: intel-3d-bugs at lists.freedesktop.org

Steps to reproduce:

$ cd <deqp-home>
$ cd modules/gles3
$ ./deqp-gles3 -n
dEQP-GLES3.functional.shaders.matrix.mul.const.lowp_mat3_float_fragment

(...)
Test run totals:
  Passed:        0/1 (0.0%)
  Failed:        1/1 (100.0%)
  Not supported: 0/1 (0.0%)
  Warnings:      0/1 (0.0%)

The complete list of affected dEQP tests is:

dEQP-GLES3.functional.shaders.matrix.mul.const.lowp_mat3_float_fragment
dEQP-GLES3.functional.shaders.matrix.mul.const.lowp_mat3_vec3_fragment
dEQP-GLES3.functional.shaders.matrix.mul.const.mediump_mat3_float_fragment
dEQP-GLES3.functional.shaders.matrix.mul.const.mediump_mat3_vec3_fragment
dEQP-GLES3.functional.shaders.matrix.mul.const.highp_mat3_float_fragment
dEQP-GLES3.functional.shaders.matrix.mul.const.highp_mat3_vec3_fragment
dEQP-GLES3.functional.shaders.matrix.mul.const.lowp_vec3_mat4x3_fragment
dEQP-GLES3.functional.shaders.matrix.mul.const.mediump_vec3_mat4x3_fragment
dEQP-GLES3.functional.shaders.matrix.mul.const.highp_vec3_mat4x3_fragment
dEQP-GLES3.functional.shaders.matrix.div.const.lowp_mat3_float_fragment
dEQP-GLES3.functional.shaders.matrix.div.const.mediump_mat3_float_fragment
dEQP-GLES3.functional.shaders.matrix.div.const.highp_mat3_float_fragment
dEQP-GLES3.functional.shaders.random.conditionals.fragment.51

The commit that introduced the regression is:

commit 8cfd1e2ac6b0d509d34c7d155a95016cd80338ed
Author: Matt Turner <mattst88 at gmail.com>
Date:   Sun Oct 26 22:08:15 2014 -0700

    i965/fs: Emit MAD instructions when possible.

    Previously we didn't emit MAD instructions since they cannot take
    immediate arguments, but with the opt_combine_constants() pass we can
    handle this properly.

    total instructions in shared programs: 5920017 -> 5733278 (-3.15%)
    instructions in affected programs:     3625153 -> 3438414 (-5.15%)
    helped:                                22017
    HURT:                                  870
    GAINED:                                91
    LOST:                                  49

    Without constant pooling, this patch is a complete loss:

    total instructions in shared programs: 5912589 -> 5987888 (1.27%)
    instructions in affected programs:     3190050 -> 3265349 (2.36%)
    helped:                                1564
    HURT:                                  17827
    GAINED:                                27
    LOST:                                  101

    And since the constant pooling patch by itself hurt a bunch of things,
    from before constant pooling to this patch the results are:

    total instructions in shared programs: 5895414 -> 5747946 (-2.50%)
    instructions in affected programs:     3617993 -> 3470525 (-4.08%)
    helped:                                20478
    HURT:                                  4469
    GAINED:                                54
    LOST:                                  146

    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

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


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