Bug 59740 - [i965 Bisected]Oglc api-error(negative.glEvalMesh) fails
[i965 Bisected]Oglc api-error(negative.glEvalMesh) fails
Status: VERIFIED FIXED
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965
unspecified
All Linux (All)
: high major
Assigned To: Ian Romanick
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-01-23 05:42 UTC by lu hua
Modified: 2013-02-22 05:21 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.