Bug 89095

Summary: [SNB/IVB/BYT Bisected]Webglc conformance/glsl/functions/glsl-function-mix-float.html fails
Product: Mesa Reporter: lu hua <huax.lu>
Component: Drivers/DRI/i965Assignee: Matt Turner <mattst88>
Status: VERIFIED FIXED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: normal    
Priority: high CC: idr
Version: unspecifiedKeywords: patch
Hardware: All   
OS: Linux (All)   
URL: http://lists.freedesktop.org/archives/mesa-dev/2015-February/078057.html
Whiteboard:
i915 platform: i915 features:

Description lu hua 2015-02-12 02:00:16 UTC
System Environment:
--------------------------
Platform: SNB
Libdrm:         (master)libdrm-2.4.59-10-gde8532dd8359dfdaba839ff61fc9e2f05eaf57d3
Mesa:           (master)ea0f0eb6c0a8b20bcce50c63170df94892a51142
Xserver:        (master)xorg-server-1.17.0-2-g20079c36cf7d377938ca5478447d8b9045cb7d43
Xf86_video_intel: (master)2.99.917-111-g8ef3fdacac05ee93b685a93f6664696d026e889e
Libva:          (master)f9741725839ea144e9a6a1827f74503ee39946c3
Libva_intel_driver:   (master)9a20d6c34cb65e5b85dd16d6c8b3a215c5972b18
Kernel:  drm-intel-nightly/34f9b98d3e64c8df349816115ea5a560a6763ce8

ug detailed description:
---------------------------
It fails on SNB/IVB/BYT with mesa master branch, works well on 10.4 branch.
conformance/glsl/functions/glsl-function-mix-gentype.html also fails with the same bisect commit.

Bisect shows: 3d581f99963dea7e93a2f8fd819410da02c1cb7f is the first bad commit is the first bad commit.
commit 3d581f99963dea7e93a2f8fd819410da02c1cb7f
Author:     Matt Turner <mattst88@gmail.com>
AuthorDate: Fri Dec 19 21:35:56 2014 -0800
Commit:     Matt Turner <mattst88@gmail.com>
CommitDate: Tue Feb 10 17:47:37 2015 -0800

    i965/vec4: Emit MADs from (x + -(y * z)).

    Same as commit c4fab711 to the fs backend.

    total instructions in shared programs: 5945998 -> 5945788 (-0.00%)
    instructions in affected programs:     74665 -> 74455 (-0.28%)
    helped:                                399
    HURT:                                  180

    It hurts some programs because we make no attempts in the vec4 backend
    to avoid MADs if they have constant (or vector uniform) arguments.

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

Reproduce steps:
-------------------------
1. xinit
2. go to https://www.khronos.org/registry/webgl/conformance-suites/1.0.2/webgl-conformance-tests.html run conformance/glsl/functions/glsl-function-mix-float.html
Comment 1 Matt Turner 2015-02-27 19:02:19 UTC
I'll send a patch for this shortly.
Comment 2 Matt Turner 2015-02-27 19:36:27 UTC
Patch sent to the mailing list.
Comment 3 Matt Turner 2015-02-28 04:25:02 UTC
Should be fixed by:

commit d528907fd2950c7bb968fff66dd79863cd128890
Author: Matt Turner <mattst88@gmail.com>
Date:   Fri Feb 27 10:59:17 2015 -0800

    i965: Avoid applying negate to wrong MAD source.
Comment 4 lu hua 2015-03-02 08:48:29 UTC
Verified.Fixed.
Comment 5 lu hua 2015-03-13 07:04:25 UTC
Edit summary, track bisected bug easily.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.