Bug 45423

Summary: [bisected i965] oglc vao(negative.clientArray) regressed
Product: Mesa Reporter: fangxun <xunx.fang>
Component: Drivers/DRI/i965Assignee: Ian Romanick <idr>
Status: VERIFIED FIXED QA Contact:
Severity: major    
Priority: high    
Version: git   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 42993    

Description fangxun 2012-01-30 23:21:45 UTC
System Environment:
--------------------------
Arch:           x86_64
Platform:       Sugarbay
Libdrm:         (master)2.4.30-18-gb643b0713aefdc0611e47654e88263b53b0de6f5
Mesa:           (8.0)caebd7929dca802ece8ef36b0f85094d66133b57
Xserver:      (server-1.11-branch)xorg-server-1.11.3
Xf86_video_intel: (master)2.17.0
Kernel:   (drm-intel-fixes)a4ea430853b71753103ec693acfc8624bd3e748e


Bug detailed description:
------------------------- 
It fails on Sandybridge and Ironlake. 
Bisect shows eea63b7621740ad020b9a2448f9c2f809f4827f3 is the first bad commit.
commit eea63b7621740ad020b9a2448f9c2f809f4827f3
Author:     Ian Romanick <ian.d.romanick@intel.com>
AuthorDate: Mon Jan 23 14:22:38 2012 -0800
Commit:     Ian Romanick <ian.d.romanick@intel.com>
CommitDate: Fri Jan 27 18:02:42 2012 -0800

    mesa: Rename gl_array_object::VBOonly to ::ARBsemantics

    There are more differences between Apple and ARB than just requiring
    that all arrays be stored in VBOs.  Additional uses will be added in
    following commits.

    Also, set the flag at Bind time instead of Gen time.  The ARB_vao spec
    specifies that behavior.

    NOTE: This is a candidate for release branches.

    Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
    Reviewed-by: Brian Paul <brianp@vmware.com>


Reproduce steps:
----------------
1. start X
2. ./oglconform -z -s -suite all -v 2 -test vao negative.clientArray
Comment 1 Ian Romanick 2012-01-31 08:06:08 UTC
Patch posted to the mesa-dev mailing list.

http://lists.freedesktop.org/archives/mesa-dev/2012-January/018469.html
Comment 2 Ian Romanick 2012-02-02 11:03:19 UTC
Fix on 8.0 branch by:

commit c34947dbb10f7211c351d02a3f64df284a40ee49
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Tue Jan 31 09:00:48 2012 -0700

    mesa: Set the gl_array_object::ARBsemantics flag at the right time
    
    With 0963990 the flag was only set when Bind created the object.  In
    all cases where ::ARBsemantics could be true, this path never
    happened.  Instead, add a _Used flag to track whether a VAO has ever
    been bound.  On the first Bind, set the _Used flag, and set the
    ARBsemantics flag to the correct value.
    
    NOTE: This is a candidate for release branches.
    
    Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45423
    (cherry picked from commit e06b1c65bc576a9b239841cbe3a8a8c2d6a8d09f)
Comment 3 fangxun 2012-02-07 01:29:05 UTC
Verified with mesa 8.0 branch(65b500857ef9ab8b6bd16bc80e7c9cc869f35750).

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.