Bug 82932

Summary: [SNB+ Bisected]Ogles3conform ES3-CTS.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_direct_read_vertex 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: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description lu hua 2014-08-22 05:12:59 UTC
System Environment:
--------------------------
Platform: BYT
Libdrm:		(master)libdrm-2.4.56-8-gd9ce09de12131fa8c5ff2d7c2dbd6b61d8a5fd14
Mesa:		(master)d682ebec0bb8716dfa7747c46d5bfad732ead06c
Xserver:(master)xorg-server-1.15.99.902-121-g2f5cf9ff9a0f713b7e038636484c77f113a5f10a
Xf86_video_intel:(master)2.99.914-60-gf5469681b620d9d6ccaf53e92ed31f931cb03b0d Libva:		(master)acfcd5f0637a951d50c5112c7dfbd46f1d0dcdb3
Libva_intel_driver:(master)f3f49f2f0e6b3669d9b09341a11cf0b96e138674
Kernel:   (drm-intel-nightly)49ceddc7b3b0e3f7eb21b9fb4c9b840cff630047

Bug detailed description:
---------------------------
It fails on SNB+ platforms with mesa master branch, works well on Mesa 10.2 branch.
ES3-CTS.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_direct_read_vertex also fails with same bisect commit.

Bisect shows:04895f5c601b240df547739da786b7c2b65bdd1e is the first bad commit.
commit 04895f5c601b240df547739da786b7c2b65bdd1e
Author:     Matt Turner <mattst88@gmail.com>
AuthorDate: Fri Aug 15 12:32:23 2014 -0700
Commit:     Matt Turner <mattst88@gmail.com>
CommitDate: Wed Aug 20 13:01:18 2014 -0700

    i965/vec4: Allow reswizzling writemasks when swizzle is single-valued.

    total instructions in shared programs: 4288033 -> 4266151 (-0.51%)
    instructions in affected programs:     930915 -> 909033 (-2.35%)


output:
dEQP Core GL-CTS-2.0 (0x0052484b) starting..
  target implementation = 'X11'

Test case 'ES3-CTS.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_direct_read_vertex'..
Vertex compile time = 9.737000 ms
Fragment compile time = 0.557000 ms
Link time = 2.031000 ms
  Fail (Fail)

DONE!

Test run totals:
  Passed:        0/1 (0.00%)
  Failed:        1/1 (100.00%)
  Not supported: 0/1 (0.00%)
  Warnings:      0/1 (0.00%)

Reproduce steps:
---------------------------- 
1. xinit
2. ./glcts --deqp-case=ES3-CTS.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_direct_read_vertex
Comment 1 lu hua 2014-08-27 02:33:24 UTC
It also fails on Mesa 10.3 branch.
Comment 2 Matt Turner 2014-08-31 18:31:16 UTC
i965/vec4: Reswizzle sources when necessary.

fixes this for me.
Comment 3 lu hua 2014-09-03 07:00:00 UTC
(In reply to comment #2)
> i965/vec4: Reswizzle sources when necessary.
> 
> fixes this for me.


It still fails on latest master branch.
Comment 4 Matt Turner 2014-09-03 07:02:13 UTC
Right... it's not committed yet.
Comment 5 Matt Turner 2014-09-05 17:23:32 UTC
commit 1ee1d8ab468cafd25cfcc513319f3f046492947f
Author: Matt Turner <mattst88@gmail.com>
Date:   Sun Aug 31 11:10:02 2014 -0700

    i965/vec4: Reswizzle sources when necessary.
    
    Despite the comment above the function claiming otherwise, the function
    did not reswizzle sources, which would lead to bad code generation since
    commit 04895f5c, which began claiming we could do such swizzling when we
    could not.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82932
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Comment 6 lu hua 2014-09-09 02:15:04 UTC
Verified.Fixed.
Comment 7 Ian Romanick 2014-09-09 23:56:43 UTC
Matt: Can you double-check that this patch by itself fixes the problem on the 10.3 branch?  If it does, can you send a pick request to mesa-stable?
Comment 8 Ian Romanick 2014-09-10 18:07:10 UTC
I just realized that Matt is out on vacation, so I'll take care of this.

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.