This test fails intermittently with the following signature:
/tmp/build_root/m64/lib/piglit/bin/arb_gpu_shader5-emitstreamvertex_nodraw -auto -fbo
piglit: debug: Requested an OpenGL 3.2 Core Context, and received a matching 3.3 context
Probe color at (50,50)
Expected: 0.000000 0.000000 0.000000
Observed: 1.000000 0.000000 0.000000
Author: Kenneth Graunke <firstname.lastname@example.org>
i965/gs: Use new NIR intrinsics.
By performing the vertex counting in NIR, we're able to elide a
ton of useless safety checks around every EmitVertex() call:
total instructions in shared programs: 3952 -> 3720 (-5.87%)
instructions in affected programs: 3491 -> 3259 (-6.65%)
Improves performance in Gl32GSCloth by 0.671742% +/-
0.142202% (n=621) on Haswell GT3e at 1024x768.
This should also make it easier to implement Broadwell's "Static
Vertex Count" feature someday.
Signed-off-by: Kenneth Graunke <email@example.com>
Reviewed-by: Jason Ekstrand <firstname.lastname@example.org>
Ken, please verify my bisection before spending too much time on this. It was difficult and time consuming to reproduce. I was able to trigger the test failure by running the test in a loop, while simultaneously running a full piglit suite in another window. Here are the ways I invoked the two workloads:
for ((;;)) do /tmp/build_root/m64/lib/piglit/bin/arb_gpu_shader5-emitstreamvertex_nodraw -auto -fbo; done
piglit run -o -p gbm --exclude-tests timestamp-get --exclude-tests glsl-routing --exclude-tests ext_timer_query --exclude-tests arb_timer_query --exclude-tests spec.khr_debug.object-label_gl --exclude-tests arb_framebuffer_no_attachments.arb_framebuffer_no_attachments-atomic --exclude-tests vs-float-main-return --config /home/jenkins/workspace/Leeroy/piglit-test//ivb.conf --exclude-tests glsl-1.10.execution.vs-vec2-main-return --exclude-tests spec.egl.1.4.eglquerysurface.egl --exclude-tests spec.egl.ext.client.extensions.conformance --exclude-tests spec.egl.khr.create.context --exclude-tests spec.egl.khr.get.all.proc.addresses --exclude-tests spec.egl.khr.surfaceless.context --exclude-tests spec.egl.mesa.configless.context --exclude-tests spec.egl.nok.swap.region --exclude-tests spec.egl.nok.texture.from.pixmap.basic --exclude-tests spec.egl.1.4.eglterminate.then.unbind.context --exclude-tests spec.egl.chromium.sync.control.conformance --exclude-tests arb.shader.image.load.store.execution.coherency-extra --exclude-tests arb.separate.shader.objects.validateprogrampipeline --exclude-tests glsl-1.50.execution.geometry.clip-distance --exclude-tests glsl-1.50.execution.gs-redeclares-pervertex-out-only --exclude-tests glsl-1.50.execution.redeclare-pervertex-subset-vs-to-gs --exclude-tests glsl-1.50.transform-feedback-type-and-size --exclude-tests arb.sync.clientwaitsync-timeout --exclude-tests arb.compute.shader.zero-dispatch-size -c gpu /tmp/build_root/m64/test/ivbgt2
In my tests, the looping test generally failed while the first few hundred tests in the piglit suite were executing. Occasionally, I would have to restart the piglit suite to produce the failure. Also, the looping test failed around test 4000 more than once.
I spent several iterations confirming that the looping test failed at the bisected revision, and I could never make it fail on the previous revision.
This failure mode has been seen on IVBGT2 and BXT.
*** Bug 91301 has been marked as a duplicate of this bug. ***
I think your bisect is correct.
This is confirmed to be a regression for Mesa 17.
This bug shipped with mesa 11.1, so it is not a regression for later releases.