Bug 76105 - [BDW](GLES20)GL/atan/atan_vec2_vert_xvary.test fails
Summary: [BDW](GLES20)GL/atan/atan_vec2_vert_xvary.test fails
Status: VERIFIED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: high major
Assignee: Kenneth Graunke
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-13 08:20 UTC by lu hua
Modified: 2014-06-05 02:42 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
output (10.58 KB, text/plain)
2014-03-13 08:20 UTC, lu hua
Details

Description lu hua 2014-03-13 08:20:09 UTC
Created attachment 95696 [details]
output

System Environment:
--------------------------
Platform: Broadwell
Libdrm:		(master)libdrm-2.4.52-8-gee8c9a1383d4a50871e146ade2fe15b25f3377d4
Mesa:		(master)2c886eba7820f7e3e965dd16b786b0a412d8ef11
Xserver:	(master)xorg-server-1.15.99.901-62-g81a4952d3dcab9ca3a1ee399c773f5ac352036c4
Xf86_video_intel:(master)2.99.910-90-g20026626d28b304a6156fb2c49752e18f2498de5
Cairo:		(master)ed175b2a2bebb6def85133257bc11a875d13b0dd
Libva:		(staging)bf2e1773d4373619232c4c653b8cda19ea329441
Libva_intel_driver:(staging)6e1baecded9d23b32daa8e34828b6a5d32a27c46
Kernel:	(drm-intel-nightly) cbaedf0017fb0adcbabf57d38e52aa8bd815b9b6

Bug detailed description:
-------------------------
It fails on BDW with Mesa master branch.
Following cases also fail and have same bisect commit:
(GLES20)GL_atan_atan_float_vert_xvary.test
(GLES20)GL_atan_atan_float_vert_xvaryyvary.test
(GLES20)GL_atan_atan_vec2_vert_xvaryyvary.test
(GLES20)GL_atan_atan_vec3_vert_xvary.test
(GLES20)GL_atan_atan_vec3_vert_xvaryyvary.test

Bisect shows: c10896b593720457e99a731e9493ce8d6c497fab is the first bad commit
commit c10896b593720457e99a731e9493ce8d6c497fab
Author: Eric Anholt <eric@anholt.net>
Date:   Tue Mar 4 15:52:05 2014 -0800

    i965: Fix render-to-texture in non-FinishRenderTexture cases.

    We've had several problems now with FinishRenderTexture not getting called
    enough, and we're ready to just give up on it ever doing what we need.  In
    particular, an upcoming Steam title had rendering bugs that could be fixed
    by always_flush_cache=true.

    Instead of hoping Mesa core can figure out when we need to flush our
    caches, just track what BOs we've rendered to in a set, and when we render
    from a BO in that set, emit a flush and clear the set.

    There's some overhead to keeping this set, but most of that is just
    hashing the pointer -- it turns out our set never even gets very large,
    because cache flushes are so common (even on cairo-gl).

    No statistically significant performance difference in cairo-gl (n=100),
    despite spending ~.5% CPU in these set operations.

    v1: (Original patch by Eric Anholt.)
    v2: (Changes by Ken Graunke.)
      - Rebase forward from May 7th 2013 -> March 4th 2014.
      - Drop the FinishRenderTexture hook entirely; after rebasing the
        patch, the hook was just an empty function.
      - Move the brw_render_cache_set_clear() call from
        intel_batchbuffer_emit_flush() to brw_emit_pipe_control_flush().
        In theory, this could catch more cases where we've flushed.
      - Consider stencil as a possible texturing source.
    v3: (changes by anholt):
      - Move set_clear() back to emit_mi_flush() -- it means we can drop
        more forced flushes from the code.  In the previous location, it
        wouldn't have been called when we wanted pre-gen6.
      - Move the set clear from batch init to reset -- it should be empty at
        the start of every batch, since the kernel handled any inter-batch
        flush for us.
    v4: Drop the debug code in set.c that I accidentally committed.

    Signed-off-by: Eric Anholt <eric@anholt.net>
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    Tested-by: Dylan Baker <baker.dylan.c@gmail.com> [v2]


Reproduce steps:
----------------------------
1. xinit
2. ./GTF -width=64 -height=64 -run=GL/atan/atan_vec2_vert_xvary.test
Comment 1 Kenneth Graunke 2014-04-21 21:58:38 UTC
The bisected commit seems unrelated.  I believe it may have passed by luck before.

I'm seeing GPU hangs.  Disabling opt_copy_propagation in brw_vec4.cpp makes the test pass without hangs.
Comment 2 Kenneth Graunke 2014-06-04 07:41:42 UTC
This is passing for Topi, and I believe it passed last I ran it as well.  Marking fixed (I think it was my control flow fix, but it might've been something else).
Comment 3 lu hua 2014-06-05 02:42:41 UTC
Verified.Fixed.


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.