<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Priority</th>
          <td>high
          </td>
        </tr>

        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [i965 Bisected]Piglit glean_occluquery fails"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=71028">71028</a>
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>idr@freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>cworth@cworth.org
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[i965 Bisected]Piglit glean_occluquery fails
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>intel-3d-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>major
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>huax.lu@intel.com
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Drivers/DRI/i965
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Mesa
          </td>
        </tr></table>
      <p>
        <div>
        <pre>System Environment:
--------------------------
Platform: GM45/Ironlake/Sandybridge/Ivybridge/Haswell
Libdrm:    (master)2.4.47
Mesa:    (master)8bd4476010444642cff71e64146c91a484238dc2
Xserver:(master)xorg-server-1.14.99.3-1-g7ecfab47eb221dbb996ea6c033348b8eceaeb893
Xf86_video_intel:(master)2.99.905-23-g54aaf14dbf33b0e81932507b8753a63d1c6c8e77
Cairo:    (master)98fef3cef2d0f7f463a2e4f9f1b35b09f7b6ea77
Libva:    (staging)1a011ce5bb0b80506797a25a988854f3f81ce909
Libva_intel_driver:(staging)1cee858036a87837deddc87586701ed869f96261
Kernel:    (drm-intel-nightly) 164a4cb4c1431a0689f85507868356fae24da638

Bug detailed description:
-------------------------
It fails on GM45/Ironlake/Sandybridge/Ivybridge/Haswell with mesa master
branch, and works well on 9.2 branch.

Bisect shows:29996e219912fb1fdf35a6595d8f6261384a18dc is the first bad commit.
commit 29996e219912fb1fdf35a6595d8f6261384a18dc
Author:     Carl Worth <<a href="mailto:cworth@cworth.org">cworth@cworth.org</a>>
AuthorDate: Thu Oct 17 10:54:56 2013 -0700
Commit:     Carl Worth <<a href="mailto:cworth@cworth.org">cworth@cworth.org</a>>
CommitDate: Mon Oct 28 12:56:49 2013 -0700

    Remove error when calling glGenQueries/glDeleteQueries while a query is
acti

    There is nothing in the OpenGL specification which prevents the user from
    calling glGenQueries to generate a new query object while another object is
    active. Neither is there anything in the Mesa implementation which prevents
    this. So remove the INVALID_OPERATION errors in this case.

    Similarly, it is explicitly allowed by the OpenGL specification to delete
an
    active query, so remove the assertion for that case, replacing it with the
    necesssary state updates to end the query, (clear the bindpt pointer and
cal
    into the driver's EndQuery hook).

    CC: <<a href="mailto:mesa-stable@lists.freedesktop.org">mesa-stable@lists.freedesktop.org</a>>
    Reviewed-by: Brian Paul <<a href="mailto:brianp@vmware.com">brianp@vmware.com</a>>
    Tested-by: Brian Paul <<a href="mailto:brianp@vmware.com">brianp@vmware.com</a>>

output:
----------------------------------------------------------------------
Test occlusion query comformance.

occluQry subcase PASS: conformOQ_GetQry_CnterBit test
occluQry subcase PASS: conformOQ_GetObjivAval_multi1 test
occluQry subcase PASS: conformOQ_GetObjivAval_multi2 test
occluQry subcase PASS: conformOQ_Begin_unused_id test
occluQry subcase PASS: conformOQ_EndAfter test
occluQry: Error: No GL_INVALID_OPERATION generated if GenQueries in the
progress of another.
occluQry subcase FAIL: conformOQ_GenIn test
occluQry subcase PASS: conformOQ_BeginIn test
occluQry: Error: No GL_INVALID_OPERATION generated if DeleteQueries in the
progress of another.
occluQry subcase FAIL: conformOQ_DeleteIn test
occluQry subcase PASS: conformOQ_GetObjAvalIn test
occluQry subcase PASS: conformOQ_GetObjResultIn test
occluQry subcase PASS: conformOQ_GetObjivAval test
occluQry subcase PASS: conformOQ_Gen_Delete test
occluQry subcase PASS: conformOQ_IsIdZero test
occluQry subcase PASS: conformOQ_BeginIdZero test
occluQry:  FAIL rgba8, db, z24, s8, win+pmap, id 32
        12 tests passed, 2 tests failed.
occluQry subcase PASS: conformOQ_GetQry_CnterBit test
occluQry subcase PASS: conformOQ_GetObjivAval_multi1 test
occluQry subcase PASS: conformOQ_GetObjivAval_multi2 test
occluQry subcase PASS: conformOQ_Begin_unused_id test
occluQry subcase PASS: conformOQ_EndAfter test
occluQry: Error: No GL_INVALID_OPERATION generated if GenQueries in the
progress of another.
occluQry subcase FAIL: conformOQ_GenIn test
occluQry subcase PASS: conformOQ_BeginIn test
occluQry: Error: No GL_INVALID_OPERATION generated if DeleteQueries in the
progress of another.
occluQry subcase FAIL: conformOQ_DeleteIn test
occluQry subcase PASS: conformOQ_GetObjAvalIn test
occluQry subcase PASS: conformOQ_GetObjResultIn test
occluQry subcase PASS: conformOQ_GetObjivAval test
occluQry subcase PASS: conformOQ_Gen_Delete test
occluQry subcase PASS: conformOQ_IsIdZero test
occluQry subcase PASS: conformOQ_BeginIdZero test
occluQry:  FAIL rgba8, db, z24, s8, win+pmap, id 33
        12 tests passed, 2 tests failed.
occluQry subcase PASS: conformOQ_GetQry_CnterBit test
occluQry subcase PASS: conformOQ_GetObjivAval_multi1 test
occluQry subcase PASS: conformOQ_GetObjivAval_multi2 test
occluQry subcase PASS: conformOQ_Begin_unused_id test
occluQry subcase PASS: conformOQ_EndAfter test
occluQry: Error: No GL_INVALID_OPERATION generated if GenQueries in the
progress of another.
occluQry subcase FAIL: conformOQ_GenIn test
occluQry subcase PASS: conformOQ_BeginIn test
occluQry: Error: No GL_INVALID_OPERATION generated if DeleteQueries in the
progress of another.
occluQry subcase FAIL: conformOQ_DeleteIn test
occluQry subcase PASS: conformOQ_GetObjAvalIn test
occluQry subcase PASS: conformOQ_GetObjResultIn test
occluQry subcase PASS: conformOQ_GetObjivAval test
occluQry subcase PASS: conformOQ_Gen_Delete test
occluQry subcase PASS: conformOQ_IsIdZero test
occluQry subcase PASS: conformOQ_BeginIdZero test
occluQry:  FAIL rgba8, db, z24, s8, win+pmap, id 95
        12 tests passed, 2 tests failed.
occluQry subcase PASS: conformOQ_GetQry_CnterBit test
occluQry subcase PASS: conformOQ_GetObjivAval_multi1 test
occluQry subcase PASS: conformOQ_GetObjivAval_multi2 test
occluQry subcase PASS: conformOQ_Begin_unused_id test
occluQry subcase PASS: conformOQ_EndAfter test
occluQry: Error: No GL_INVALID_OPERATION generated if GenQueries in the
progress of another.
occluQry subcase FAIL: conformOQ_GenIn test
occluQry subcase PASS: conformOQ_BeginIn test
occluQry: Error: No GL_INVALID_OPERATION generated if DeleteQueries in the
progress of another.
occluQry subcase FAIL: conformOQ_DeleteIn test
occluQry subcase PASS: conformOQ_GetObjAvalIn test
occluQry subcase PASS: conformOQ_GetObjResultIn test
occluQry subcase PASS: conformOQ_GetObjivAval test
occluQry subcase PASS: conformOQ_Gen_Delete test
occluQry subcase PASS: conformOQ_IsIdZero test
occluQry subcase PASS: conformOQ_BeginIdZero test
occluQry:  FAIL rgba8, z24, s8, win+pmap, id 122
        12 tests passed, 2 tests failed.
occluQry subcase PASS: conformOQ_GetQry_CnterBit test
occluQry subcase PASS: conformOQ_GetObjivAval_multi1 test
occluQry subcase PASS: conformOQ_GetObjivAval_multi2 test
occluQry subcase PASS: conformOQ_Begin_unused_id test
occluQry subcase PASS: conformOQ_EndAfter test
occluQry: Error: No GL_INVALID_OPERATION generated if GenQueries in the
progress of another.
occluQry subcase FAIL: conformOQ_GenIn test
occluQry subcase PASS: conformOQ_BeginIn test
occluQry: Error: No GL_INVALID_OPERATION generated if DeleteQueries in the
progress of another.
occluQry subcase FAIL: conformOQ_DeleteIn test
occluQry subcase PASS: conformOQ_GetObjAvalIn test
occluQry subcase PASS: conformOQ_GetObjResultIn test
occluQry subcase PASS: conformOQ_GetObjivAval test
occluQry subcase PASS: conformOQ_Gen_Delete test
occluQry subcase PASS: conformOQ_IsIdZero test
occluQry subcase PASS: conformOQ_BeginIdZero test
occluQry:  FAIL rgba8, db, z24, s8, accrgba16, win+pmap, slow, id 123
        12 tests passed, 2 tests failed.
occluQry subcase PASS: conformOQ_GetQry_CnterBit test
occluQry subcase PASS: conformOQ_GetObjivAval_multi1 test
occluQry subcase PASS: conformOQ_GetObjivAval_multi2 test
occluQry subcase PASS: conformOQ_Begin_unused_id test
occluQry subcase PASS: conformOQ_EndAfter test
occluQry: Error: No GL_INVALID_OPERATION generated if GenQueries in the
progress of another.
occluQry subcase FAIL: conformOQ_GenIn test
occluQry subcase PASS: conformOQ_BeginIn test
occluQry: Error: No GL_INVALID_OPERATION generated if DeleteQueries in the
progress of another.
occluQry subcase FAIL: conformOQ_DeleteIn test
occluQry subcase PASS: conformOQ_GetObjAvalIn test
occluQry subcase PASS: conformOQ_GetObjResultIn test
occluQry subcase PASS: conformOQ_GetObjivAval test
occluQry subcase PASS: conformOQ_Gen_Delete test
occluQry subcase PASS: conformOQ_IsIdZero test
occluQry subcase PASS: conformOQ_BeginIdZero test
occluQry:  FAIL rgba8, z24, s8, win+pmap, id 126
        12 tests passed, 2 tests failed.
occluQry subcase PASS: conformOQ_GetQry_CnterBit test
occluQry subcase PASS: conformOQ_GetObjivAval_multi1 test
occluQry subcase PASS: conformOQ_GetObjivAval_multi2 test
occluQry subcase PASS: conformOQ_Begin_unused_id test
occluQry subcase PASS: conformOQ_EndAfter test
occluQry: Error: No GL_INVALID_OPERATION generated if GenQueries in the
progress of another.
occluQry subcase FAIL: conformOQ_GenIn test
occluQry subcase PASS: conformOQ_BeginIn test
occluQry: Error: No GL_INVALID_OPERATION generated if DeleteQueries in the
progress of another.
occluQry subcase FAIL: conformOQ_DeleteIn test
occluQry subcase PASS: conformOQ_GetObjAvalIn test
occluQry subcase PASS: conformOQ_GetObjResultIn test
occluQry subcase PASS: conformOQ_GetObjivAval test
occluQry subcase PASS: conformOQ_Gen_Delete test
occluQry subcase PASS: conformOQ_IsIdZero test
occluQry subcase PASS: conformOQ_BeginIdZero test
occluQry:  FAIL rgba8, db, z24, s8, win+pmap, id 127
        12 tests passed, 2 tests failed.
occluQry subcase PASS: conformOQ_GetQry_CnterBit test
occluQry subcase PASS: conformOQ_GetObjivAval_multi1 test
occluQry subcase PASS: conformOQ_GetObjivAval_multi2 test
occluQry subcase PASS: conformOQ_Begin_unused_id test
occluQry subcase PASS: conformOQ_EndAfter test
occluQry: Error: No GL_INVALID_OPERATION generated if GenQueries in the
progress of another.
occluQry subcase FAIL: conformOQ_GenIn test
occluQry subcase PASS: conformOQ_BeginIn test
occluQry: Error: No GL_INVALID_OPERATION generated if DeleteQueries in the
progress of another.
occluQry subcase FAIL: conformOQ_DeleteIn test
occluQry subcase PASS: conformOQ_GetObjAvalIn test
occluQry subcase PASS: conformOQ_GetObjResultIn test
occluQry subcase PASS: conformOQ_GetObjivAval test
occluQry subcase PASS: conformOQ_Gen_Delete test
occluQry subcase PASS: conformOQ_IsIdZero test
occluQry subcase PASS: conformOQ_BeginIdZero test
occluQry:  FAIL rgba8, db, z24, s8, accrgba16, win+pmap, slow, id 128
        12 tests passed, 2 tests failed.

Reproduce steps:
-------------------------
1. xinit
2. ./bin/glean -o -v -v -v -t +occluQry</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>