Bug 59740

Summary: [i965 Bisected]Oglc api-error(negative.glEvalMesh) fails
Product: Mesa Reporter: lu hua <huax.lu>
Component: Drivers/DRI/i965Assignee: Ian Romanick <idr>
Status: VERIFIED FIXED QA Contact:
Severity: major    
Priority: high CC: idr, xunx.fang
Version: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description lu hua 2013-01-23 05:42:52 UTC
System Environment:
--------------------------
Arch:           x86_64
Platform:       Ivyybridge
Libdrm:		(master)libdrm-2.4.41-3-g303ca37e722e68900cb7eb43ddbef8069b0c711b
Mesa:		(master)85c2e99039394292474b1a84e3dcb2fee30a0836
Xserver:	(master)xorg-server-1.13.99.901-36-g70b127c9f1c53bdb42f078265e67f76b464deae2
Xf86_video_intel:(master)2.20.19-14-g10f549332e315cfe2cc86aadab94a95ae6757c34
Cairo:		(master)ed2fa6b16b03fccc3e21598cdb9157cbcebd1d37
Libva:		(staging)21649988d6b532cc96f633db017d1e4369f640e9
Libva_intel_driver:(staging)d206b47a6ac86c089149ecd71b01eea6ebda5796
Kernel:	(drm-intel-nightly) 418ccc855c65e0e90f81012bbc34de20b9f45cbd

Bug detailed description:
-------------------------
It fails on ironlake sandybridge and ivybridge with mesa master branch. It works well on mesa 9.0 branch.

Bisect shows: a9754793dab4b24c09cae21c29f902ce0e53319a is the first bad commit.
commit a9754793dab4b24c09cae21c29f902ce0e53319a
Author:     Eric Anholt <eric@anholt.net>
AuthorDate: Wed Jan 16 16:20:38 2013 -0800
Commit:     Eric Anholt <eric@anholt.net>
CommitDate: Mon Jan 21 21:26:47 2013 -0800

    mesa: Drop manual checks for outside begin/end.

    We now have a separate dispatch table for begin/end that prevent these
    functions from being entered during that time.  The
    ASSERT_OUTSIDE_BEGIN_END_WITH_RETVALs are left because I don't want to
    change any return values or introduce new error-only stubs at this
    point.

output:
Intel OpenGL Conformance Test
Version ENG (Jan 22 2013 15:56:55)

CLI options echo:
oglconform -z -suite all -v 2 -test api-error negative.glEvalMesh

Window will be recreated 2 times.
  Window 0 will run 1 testcases on config with id 132.
  Window 1 will run 1 testcases on config with id 110.
Total of 2 testcases will be executed.

Setup Report.
    Verbose level = 2.
    Path inactive.

Visual Report for ID 132 (32 bits).
ID      |ACCELERA|DB      |REND_T  |SURF_T  |C_BUF_T |BUF_S   |RED_S   |
     132|       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|      64|       0|       0|

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

OpenGL Report.
    Vendor - 'Intel Open Source Technology Center'
    Renderer - 'Mesa DRI Intel(R) Ivybridge Desktop '
    Version - '3.0 Mesa 9.1-devel (git-85c2e99)' (3.0)
    GLSL Version - '1.30'
    Context Flags - None

>> API error code test (api-error)  test:
--> 4.30 - negative.glEvalMesh subcase:
Test_NegativeglEvalMesh(1399): returned no error, should return GL_INVALID_OPERATION
Test_NegativeglEvalMesh(1410): returned no error, should return GL_INVALID_OPERATION
--< 4.30 - negative.glEvalMesh subcase failed.
<< API error code test (api-error)  test failed. (1 of 1 subcases)

Intel Conformance failed.
Setup Report.
    Verbose level = 2.
    Path inactive.

Visual Report for ID 110 (32 bits).
ID      |ACCELERA|DB      |REND_T  |SURF_T  |C_BUF_T |BUF_S   |RED_S   |
     110|       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|      64|       0|       0|

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

OpenGL Report.
    Vendor - 'Intel Open Source Technology Center'
    Renderer - 'Mesa DRI Intel(R) Ivybridge Desktop '
    Version - '3.0 Mesa 9.1-devel (git-85c2e99)' (3.0)
    GLSL Version - '1.30'
    Context Flags - None

>> API error code test (api-error)  test:
--> 4.30 - negative.glEvalMesh subcase:
Test_NegativeglEvalMesh(1399): returned no error, should return GL_INVALID_OPERATION
Test_NegativeglEvalMesh(1410): returned no error, should return GL_INVALID_OPERATION
--< 4.30 - negative.glEvalMesh subcase failed.
<< API error code test (api-error)  test failed. (1 of 1 subcases)

Intel Conformance failed.
Total Passed : 0
Total Failed : 2
Total Not run: 0


Reproduce steps:
----------------
1. xinit
2. ./oglconform -z -suite all -v 2  -test api-error negative.glEvalMesh
Comment 1 fangxun 2013-02-19 09:22:26 UTC
It also fails on mesa 9.1 branch.
Comment 2 Ian Romanick 2013-02-20 00:11:12 UTC
Patch posted to the mesa-dev mailing list:

http://lists.freedesktop.org/archives/mesa-dev/2013-February/034850.html
Comment 3 Ian Romanick 2013-02-20 23:26:54 UTC
This is fixed on Mesa master by the commit below.  It has also be picked to the 9.1 branch (6ff7080).

commit 8b586322e71d5ad0ce95d0fbcbfeb4df13f65040
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Tue Feb 19 15:23:57 2013 -0800

    mesa: Don't install glEvalMesh in the beginend dispatch table
    
    NOTE: This is a candidate for the 9.1 branch.
    
    Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59740
    Reviewed-by: Eric Anholt <eric@anholt.net>
Comment 4 fangxun 2013-02-22 05:21:29 UTC
Verified on mesa master and 9.1 branch.

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.