Bug 45979

Summary: [bisected i965] piglit spec/EXT_texture_integer/api-teximage regressed
Product: Mesa Reporter: lu hua <huax.lu>
Component: Drivers/DRI/i965Assignee: Ian Romanick <idr>
Status: VERIFIED FIXED QA Contact:
Severity: major    
Priority: high CC: brianp, huax.lu, xunx.fang
Version: 8.0   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 42993    

Description lu hua 2012-02-13 00:40:23 UTC
System Environment:
--------------------------
Arch :     i386
Platform:  Surgabay
Libdrm:	   (master)2.4.31-1-g2cfac57d364d0166ed9472b086c16aea376f495a
Mesa:	   (master)26de5273acf1ebe6730b5e72b55b3bcceba167c6
Xserver:   (master)xorg-server-1.11.99.902-3-g85cecd981191f9c3dab0fb13310d91eff643d423
Xf86_video_intel:(master)2.17.0-644-g4d8369f8e60fd4f5a0ef49f3e9866ea5ecb21927
Libva_intel_driver:	(vaapi-ext)7eeb6c9233d1c63d83b578bfca4f292eac8d320c
Kernel:	(drm-intel-testing) 396ee23db6b76354e487fd2cfdacbd989442f81d

Bug detailed description:
------------------------- 
It fails at mesa master branch on surgabay and Ironlake. It passes on Mesa 8.0 branch. Piglit spec_EXT_texture_integer_api-teximage also fails due to the same bisect commit.
Bisect shows 627b435dfe17698a1c69e9a259838fc6f2e6bd4e is the first bad commit
commit 627b435dfe17698a1c69e9a259838fc6f2e6bd4e
Author:     Brian Paul <brianp@vmware.com>
AuthorDate: Tue Feb 7 07:42:33 2012 -0700
Commit:     Brian Paul <brianp@vmware.com>
CommitDate: Tue Feb 7 07:42:33 2012 -0700

    mesa: new _mesa_error_check_format_and_type() function

    This replaces the _mesa_is_legal_format_and_type() function.

    According to the spec, some invalid format/type combinations to
    glDrawPixels, ReadPixels and glTexImage should generate
    GL_INVALID_ENUM but others should generate GL_INVALID_OPERATION.

    With the old function we didn't make that distinction and generated
    GL_INVALID_ENUM errors instead of GL_INVALID_OPERATION.  The new
    function returns one of those errors or GL_NO_ERROR.

    This will also let us remove some redundant format/type checks in
    follow-on commit.

    v2: add more checks for ARB_texture_rgb10_a2ui at the top of
    _mesa_error_check_format_and_type() per Ian.

Signed-off-by: Brian Paul brianp@vmware.com


Reproduce steps:
----------------
1. start X
2. ./getteximage-invalid-format-for-packed-type -auto -fbo
Comment 1 fangxun 2012-02-20 22:59:39 UTC
It is fixed by following commit:

commit 6f3d91840945fbd9221a247e4f95b32c4051f202
Author: Brian Paul 
Date: Wed Feb 15 15:29:29 2012 -0700

mesa: add missing texture integer test in glTexSubImage()

If the texture format is integer, the incoming user data must also be
integer (and similarly for non-integer textures).

NOTE: This is a candidate for the stable branches.
Comment 2 fangxun 2012-02-20 23:02:27 UTC
Verified with mesa master e1044b40822cdda1fec39af5a64f332934f2e7ea.
Comment 3 fangxun 2012-02-21 18:48:27 UTC
Reopen it because spec/EXT_texture_integer/api-teximage fails on mesa 8.0 branch now. Leave the bug open until it is fixed on 8.0.
Comment 4 fangxun 2012-02-22 00:30:01 UTC
I find it is following piglit test suite change that caused the failure on Mesa 8.0 branch. So I close this bug and file a new bug to track.
commit 19f34bf1338cfc4a93d777564aedb0bf805140d5
Author: Brian Paul <brianp@vmware.com>
Date:   Wed Feb 15 15:36:18 2012 -0700

    texture_integer-api-teximage: fix / add error checks

    The previous glTexSubImage2D() test could generate either GL_INVALID_ENUM
    or INVALID_OPERATION depending on the order in which glTexSubImage did its
    error checks of this call.

    Replace that call with new calls that can only generate invalid operation
    or invalid enum.

    Plus, add a test for glCopyTexImage2D().
Comment 5 lu hua 2012-06-11 18:38:22 UTC
Verified with mesa master e1044b40822cdda1fec39af5a64f332934f2e7ea.

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.