System Environment: -------------------------- Arch: i386 Platform: Ironlake Libdrm: (master)2.4.31-5-g23eeb7e1e45417a5a84f826286dd982dba440cd3 Mesa: (master)ab79d2be2e1288d4044a8b4ef356991625a176f5 Xserver: (master)xorg-server-1.11.99.903-1-gd53235af85d50774c68347720ce132daf9a5bc49 Xf86_video_intel:(master)2.17.0-679-gfe6602cbbc4eed1b88ac731a30b46cc970ea444f Kernel: (drm-intel-next-queued) de67cba65944f26c0f147035bd62e30c5f456b96 Bug detailed description: ----------------------------- It fails on Ironlake with Mesa master branch. It does not happen with Mesa 8.0 branch. Bisect shows f0cecd43d6b6d3f5def3fd43b9c95baaf3be9b16 is the first bad commit. commit f0cecd43d6b6d3f5def3fd43b9c95baaf3be9b16 Author: Eric Anholt <eric@anholt.net> AuthorDate: Mon Feb 13 10:08:23 2012 -0800 Commit: Eric Anholt <eric@anholt.net> CommitDate: Tue Feb 21 11:54:02 2012 -0800 i965: Move VUE map computation to once at VS compile time. With this and the previous patch, 640x480 nexuiz is running 0.169118% +/- 0.0863696% faster (n=121). On a VS state change microbenchmark, performance is increased 8.28645% +/- 0.460478% (n=52). v2: Fix CACHE_NEW_VS comment. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Following oglc cases also fails on Ironlake,and have same commint: pointsprite(basic.points.upper_left.min) pointsprite(basic.points.upper_left.medium) pointsprite(basic.points.lower_left.min) pointsprite(basic.points.lower_left.medium) pointsprite(basic.points.lower_left.max) pointsprite(basic.mode.immediate.points) pointsprite(basic.mode.compile.points) pointsprite(basic.mode.compile_execute.points) pointsprite(basic.mode.calllist.points) pointsprite(basic.mode.calllist.triangles) pointsprite(basic.position.0_0.points) pointsprite(basic.position.0_1.points) pointsprite(basic.position.0_2.points) pointsprite(basic.position.1_0.points) pointsprite(basic.position.1_1.points) pointsprite(basic.position.1_2.points) pointsprite(basic.position.2_0.points) pointsprite(basic.position.2_1.points) pointsprite(basic.position.2_2.points) pointsprite_vcg(advanced.test1) pointsprite_vcg(advanced.test6) pointsprite_vcg(advanced.test8) pointsprite_vcg(advanced.test7) Reproduce steps: ---------------------------- 1. Start X 2. Run: ./point-sprite -auto
Ian, Eric?
I can confirm that reverting this commit on top of latest master makes the test pass. Still not sure why.
It turns out that allocating all your slots before computing the VUE map helps. :) Patch on mailing list: http://lists.freedesktop.org/archives/mesa-dev/2012-August/025184.html
commit caa4ae5d7d864278ffbf5dbd9c25bb2932e91fc5 Author: Kenneth Graunke <kenneth@whitecape.org> Date: Sun Aug 5 02:30:38 2012 -0700 i965: Allocate dummy slots for point sprites before computing VUE map. Commit f0cecd43d6b6d moved the VUE map computation to be only once, at VS compile time. However, it did so in slightly the wrong place: it made the one call to brw_vue_compute_map happen right before the allocation of dummy slots for replaced point sprite coordinates, causing a different VUE map to be generated (at least on Ironlake). Fixes a regression in Piglit's point-sprite test on Ironlake. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46489 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
Verified. Fixed by commit caa4ae5d7d864278ffbf5dbd9c25bb2932e91fc5
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.