Bug 59957 - [IVB/HSW Regression]Piglit spec_ARB_uniform_buffer_object_row-major fail
Summary: [IVB/HSW Regression]Piglit spec_ARB_uniform_buffer_object_row-major fail
Status: VERIFIED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: medium normal
Assignee: Ian Romanick
QA Contact:
URL:
Whiteboard:
Keywords:
: 60298 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-01-28 06:03 UTC by lu hua
Modified: 2013-02-27 02:00 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description lu hua 2013-01-28 06:03:02 UTC
System Environment:
--------------------------
Arch:             x86_64
Platform:         Ivybridge
Libdrm:	(master)libdrm-2.4.41-4-g9dc0072e8d5a47fb0b2ada50fb897cb2c740bb40
Mesa:	(master)51b64ce47bd8ed5da185f4fb76e7a3d3238b72c2
Xserver:(master)xorg-server-1.13.99.901-37-g7fe5e6dfa5c1e71d8b7540b28c1d508687a2fbee
Xf86_video_intel:(master)2.20.19-32-g8ffb3f50b3b4601401da76e2848e059ab63231f4
Cairo:	(master)c986a7310bb06582b7d8a566d5f007ba4e5e75bf
Libva:	(staging)21649988d6b532cc96f633db017d1e4369f640e9
Libva_intel_driver:(staging)b7cb38772e6f73d3c1b3465e0bc6c0009c2f5634
Kernel:	(drm-intel-nightly) 46e5ccbec5bc5f20e5b2733ba2e8a5b7e43fcf8f

Bug detailed description:
-------------------------
It fails on ivybridge with mesa master branch, It doesn't happen on 9.0 branch.
Following cases also fail:
spec_ARB_uniform_buffer_object_dlist
spec_ARB_uniform_buffer_object_getactiveuniformsiv-uniform-array-stride
spec_ARB_uniform_buffer_object_getactiveuniformsiv-uniform-matrix-stride
spec_ARB_uniform_buffer_object_getactiveuniformsiv-uniform-type
spec_ARB_uniform_buffer_object_layout-std140

The first bad commit could be any of:
32f322925592e9eeda6a5624c7320232fc170c03
514f8c7ec7cc1ab18be93cebb5b9bf970b1955a9
f09d77b2af0e6e7553a1e2efca2f12fe2e4dcea8
22233da1ee4b59663966169759960c00c033d0e9
We cannot bisect more!

git bisect log:
git bisect start
# good: [0974031f88c31458792864b2f3a46ff885607ab1] i965/fs/gen7: Fix fatal typo in unpackHalf2x16
git bisect good 0974031f88c31458792864b2f3a46ff885607ab1
# bad: [51b64ce47bd8ed5da185f4fb76e7a3d3238b72c2] gles3: Update gl3.h
git bisect bad 51b64ce47bd8ed5da185f4fb76e7a3d3238b72c2
# bad: [2a7a5062c9821bb986ed50e866c27ec26c4a41af] i965: Use the glarray _ElementSize that Mesa tracks for us.
git bisect bad 2a7a5062c9821bb986ed50e866c27ec26c4a41af
# good: [23b7ce3a824013c8b4d7340294cb59b0b4cb8f87] glsl: Add a predicate to determine whether a variable is an interface block
git bisect good 23b7ce3a824013c8b4d7340294cb59b0b4cb8f87
# good: [11d42de681d07884efd7f5b09bd639ee4423093b] glsl: Make the align function available elsewhere in the linker
git bisect good 11d42de681d07884efd7f5b09bd639ee4423093b
# skip: [514f8c7ec7cc1ab18be93cebb5b9bf970b1955a9] glsl: Calculate UBO data at link-time
git bisect skip 514f8c7ec7cc1ab18be93cebb5b9bf970b1955a9
# skip: [f09d77b2af0e6e7553a1e2efca2f12fe2e4dcea8] glsl: Allow dereferencing fields of an interface instance
git bisect skip f09d77b2af0e6e7553a1e2efca2f12fe2e4dcea8
# good: [0ab7399822b480f6e07cc566a2e50fabedc8258d] glsl: Add link_uniform_blocks to calculate all UBO data at link-time
git bisect good 0ab7399822b480f6e07cc566a2e50fabedc8258d
# bad: [22233da1ee4b59663966169759960c00c033d0e9] glsl: Remove ir_variable::uniform_block
git bisect bad 22233da1ee4b59663966169759960c00c033d0e9
# skip: [32f322925592e9eeda6a5624c7320232fc170c03] glsl: Allow elimination of uniform block members
git bisect skip 32f322925592e9eeda6a5624c7320232fc170c03


output:
Failed to get index for a_cm1
Failed to get index for a_cm2
Failed to get index for a_cm3
Failed to get index for a_rm1
Failed to get index for b_cm1
Failed to get index for b_rm1
Failed to get index for b_rm2
Failed to get index for c_cm1
Failed to get index for c_cm2
Failed to get index for c_rm1
Failed to get index for d_cm1
Failed to get index for d_cm2
Failed to get index for d_rm1
Failed to get index for e_cm1
Failed to get index for e_rm1
Failed to get index for e_rm2
Failed to get index for f_cm1
Failed to get index for f_rm1
Failed to get index for f_rm2
PIGLIT: {'result': 'fail' }


Reproduce steps:
----------------
1. xinit
2. ./bin/arb_uniform_buffer_object-row-major -auto -fbo
Comment 1 lu hua 2013-01-28 06:06:56 UTC
case ubo-usage(advanced.vbo_as_ubo)_ctx31 segfault on ivybridge, The first bad commit could be any of:
32f322925592e9eeda6a5624c7320232fc170c03
514f8c7ec7cc1ab18be93cebb5b9bf970b1955a9
f09d77b2af0e6e7553a1e2efca2f12fe2e4dcea8
22233da1ee4b59663966169759960c00c033d0e9
Comment 2 lu hua 2013-01-28 08:09:41 UTC
It also happens on haswell.
Comment 3 Ian Romanick 2013-01-28 23:41:37 UTC
These tests were incorrect.  Patches have been posted to the piglit mailing list.
Comment 4 Ian Romanick 2013-01-29 00:55:15 UTC
*** Bug 59648 has been marked as a duplicate of this bug. ***
Comment 5 Ian Romanick 2013-01-30 19:31:58 UTC
Fixed by piglit commit:

commit 630006e1b45fb7bfd5ed2c17f8539f8634e7283b
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Mon Jan 28 12:24:50 2013 -0800

    arb_uniform_buffer_object: Only use row_major or column_major on matrix types
    
    OpenGL ES 3.0 requires that the row_major and column_major layout
    qualifiers only be accepted on matrix types.  Previously this test would
    put the layout qualifier on any type.
    
    Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59957
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59648
    Reviewed-by: Matt Turner <mattst88@gmail.com>
    Reviewed-by: Eric Anholt <eric@anholt.net>
Comment 6 fangxun 2013-02-18 08:15:24 UTC
Following 5 piglit cases were fixed by piglit commit 630006e1b45fb7bfd5ed2c17f.
spec/ARB_uniform_buffer_object_dlist
spec/ARB_uniform_buffer_object_getactiveuniformsiv-uniform-array-stride
spec/ARB_uniform_buffer_object_getactiveuniformsiv-uniform-matrix-stride
spec/ARB_uniform_buffer_object_getactiveuniformsiv-uniform-type
spec/ARB_uniform_buffer_object_layout-std140

But case spec/ARB_uniform_buffer_object_row-major still fails on latest mesa master and 9.1 branch.


Error output: 
Failed to get index for a_rm1
Comment 7 Eric Anholt 2013-02-21 01:37:38 UTC
commit d2a539ce4dfce8b0e658a46dfe1993fab6ebc290
Author: Eric Anholt <eric@anholt.net>
Date:   Tue Feb 19 11:39:48 2013 -0800

    ARB_uniform_buffer_object/row_major: Reference another missed UBO member.
Comment 8 Vinson Lee 2013-02-23 04:23:34 UTC
*** Bug 60298 has been marked as a duplicate of this bug. ***
Comment 9 lu hua 2013-02-26 03:37:09 UTC
Oglc case ubo-usage(advanced.vbo_as_ubo)_ctx31 still segfault on ivybridge.
output:
Intel OpenGL Conformance Test
Version ENG (Feb 25 2013 14:48:34)

CLI options echo:
oglconform -ctx 3.1 -suite all -v 2 -test ubo-usage advanced.vbo_as_ubo

Window will be recreated 12 times.
  Window 0 will run 1 testcases on config with id 131.
  Window 1 will run 1 testcases on config with id 127.
  Window 2 will run 1 testcases on config with id 109.
  Window 3 will run 1 testcases on config with id 105.
  Window 4 will run 1 testcases on config with id 132.
  Window 5 will run 1 testcases on config with id 110.
  Window 6 will run 1 testcases on config with id 125.
  Window 7 will run 1 testcases on config with id 103.
  Window 8 will run 1 testcases on config with id 128.
  Window 9 will run 1 testcases on config with id 106.
  Window 10 will run 1 testcases on config with id 126.
  Window 11 will run 1 testcases on config with id 104.
Total of 12 testcases will be executed.

Setup Report.
    Verbose level = 2.
    Path inactive.

Visual Report for ID 131 (32 bits).
ID      |ACCELERA|DB      |REND_T  |SURF_T  |C_BUF_T |BUF_S   |RED_S   |
     131|       1|       1|      gl|  wipbpx|    rgba|      32|       8|

GREEN_S |BLUE_S  |ALPHA_S |DEPTH_S |STENC_S |ACCUM_S |SPL_BUF |SAMPLES |
       8|       8|       8|      24|       8|       0|       0|       0|

SRGB    |TEX_RGB |TEX_RGBA|CAVEAT  |SWAP    |M_PBUF_W|M_PBUF_H|M_PBUF_P
       0|       0|       0|    none|   undef|       0|       0|       0

OpenGL Report.
    Vendor - 'Intel Open Source Technology Center'
    Renderer - 'Mesa DRI Intel(R) Ivybridge Desktop '
    Version - '3.1 (Core Profile) Mesa 9.2-devel (git-0486d50)' (3.1)
    GLSL Version - '1.40'
    Context Flags - None

>> Uniform Buffer Object - usage (ubo-usage)  test:
--> 2.3 - advanced.vbo_as_ubo subcase:
Segmentation fault (core dumped)

(gdb) bt
#0  0x000000000126c908 in (anonymous namespace)::ADVANCED_VBO_AS_UBO::exec() ()
#1  0x0000000001268ca6 in UBOUsageExec(testParameters*) ()
#2  0x0000000001834929 in callFunctionHandleExceptionsInner(long (*)(testParameters*), testParameters*, char*) ()
#3  0x0000000001834a7f in callFunctionHandleExceptions(long (*)(testParameters*), testParameters*) ()
#4  0x0000000001833711 in DriverExec(long (*)(testParameters*), testParameters*) ()
#5  0x000000000176a255 in Driver(std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > > const&, std::vector<driverRec*, std::allocator<driverRec*> > const&, std::vector<boost::shared_ptr<PrePostTestAction>, std::allocator<boost::shared_ptr<PrePostTestAction> > > const&, std::vector<boost::shared_ptr<PrePostTestcaseAction>, std::allocator<boost::shared_ptr<PrePostTestcaseAction> > > const&) ()
#6  0x000000000176ad08 in (anonymous namespace)::MyMessagePump::idle() ()
#7  0x000000000173c5c0 in MessagePump::process_messages() ()
#8  0x0000000001769314 in ExecutionManager::execute_schedules() ()
#9  0x0000000001708eef in tkShellExecute(std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > > const&, std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > > const&) ()
#10 0x0000000000428795 in main ()
Comment 10 Ian Romanick 2013-02-26 17:53:10 UTC
(In reply to comment #9)
> Oglc case ubo-usage(advanced.vbo_as_ubo)_ctx31 still segfault on ivybridge.
> output:
> Intel OpenGL Conformance Test
> Version ENG (Feb 25 2013 14:48:34)
> 
> CLI options echo:
> oglconform -ctx 3.1 -suite all -v 2 -test ubo-usage advanced.vbo_as_ubo

This case was not mentioned in the original report, and it's pretty clearly a different issue.  Please keep separate bugs separate.  In other words, please open a new bug for this issue.
Comment 11 lu hua 2013-02-27 02:00:50 UTC
Reported bug 61536 about ubo-usage(advanced.vbo_as_ubo)_ctx31.
Close this bug.
Verified. Fixed on latest master branch.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct.