On 1 October 2012 17:07, Oliver McFadden <span dir="ltr"><<a href="mailto:oliver.mcfadden@linux.intel.com" target="_blank">oliver.mcfadden@linux.intel.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div><div>On Fri, Sep 28, 2012 at 02:15:18PM -0700, Ian Romanick wrote:<br>
> On 09/28/2012 01:55 PM, Paul Berry wrote:<br>
> > On 5 September 2012 15:09, Ian Romanick <<a href="mailto:idr@freedesktop.org" target="_blank">idr@freedesktop.org</a><br>
> > <mailto:<a href="mailto:idr@freedesktop.org" target="_blank">idr@freedesktop.org</a>>> wrote:<br>
> ><br>
> >     From: Ian Romanick <<a href="mailto:ian.d.romanick@intel.com" target="_blank">ian.d.romanick@intel.com</a><br>
> >     <mailto:<a href="mailto:ian.d.romanick@intel.com" target="_blank">ian.d.romanick@intel.com</a>>><br>
> ><br>
> >     This test is only built when shared-glapi is used.  Because of changes<br>
> >     elsewhere in the tree that were necessary to make shared-glapi work<br>
> >     correct with GLX, it's not feasible to make the test function both ways.<br>
> ><br>
> >     Signed-off-by: Ian Romanick <<a href="mailto:ian.d.romanick@intel.com" target="_blank">ian.d.romanick@intel.com</a><br>
> >     <mailto:<a href="mailto:ian.d.romanick@intel.com" target="_blank">ian.d.romanick@intel.com</a>>><br>
> ><br>
> ><br>
> > This test is failing on my system when I run "make check":<br>
> ><br>
> > [----------] 1 test from DispatchSanity_test<br>
> > [ RUN      ] DispatchSanity_test.GLES2<br>
> > Mesa warning: couldn't open libtxc_dxtn.so, software DXTn<br>
> > compression/decompression unavailable<br>
> > dispatch_sanity.cpp:122: Failure<br>
> > Value of: table[i]<br>
> >    Actual: 0x4de54e<br>
> > Expected: (_glapi_proc) _mesa_generic_nop<br>
> > Which is: 0x41af72<br>
> > i = 321<br>
> > [  FAILED  ] DispatchSanity_test.GLES2 (4 ms)<br>
> > [----------] 1 test from DispatchSanity_test (4 ms total)<br>
> ><br>
> > Is anybody else getting this problem?<br>
><br>
> Can you put the following in the SET_by_offset macro<br>
> (src/mesa/main/dispatch.h in your build directory):<br>
><br>
>      if (offset == 321) abort(); \<br>
><br>
> then backtrace to see what API function is at fault?<br>
<br>
[----------] 1 test from DispatchSanity_test<br>
[ RUN      ] DispatchSanity_test.GLES2<br>
</div></div>[SET_VertexPointer:5719] SET_by_offset(0x1aa7960, 321, fn)!<br>
/bin/sh: line 5:  8122 Aborted                 ${dir}$tst<br>
FAIL: main-test<br>
<br>
If it helps... I didn't actually run this in GDB, just added the<br>
printf()/abort() debugging which was already there but commented out.<br></blockquote><div><br>Thanks, Oliver.  Based on suggestions I got from Ian on Monday, I was able to fix my debugging issues and confirm that glVertexPointer is the function that's failing for me too.<br>

<br>It looks like the test caught a real bug: we're only excluding glVertexPointer from the dispatch table when the API is API_OPENGL_CORE.  From src/mesa/main/api_exec.c:<br><br>   if (ctx->API != API_OPENGL_CORE) {<br>
      SET_VertexPointer(exec, _mesa_VertexPointer);<br>
   }<br><br>This is incorrect--we should also exclude it when the API is API_OPENGLES2, like we do for other deprecated GLES1-only functions such as glEdgeFlagPointer, glIndexPointer, and glNormalPointer.  I'll follow up with a patch that fixes this.<br>

<br>What surprises me is that the test wasn't failing when Ian ran it.  Ian, any clue why this might be the case?<br></div></div>