Created attachment 97112 [details] output System Environment: -------------------------- Platform: Broadwell Libdrm: (master)libdrm-2.4.52-10-g1cb5fc706cf5913d9dee33c939f65a23ecea17a5 Mesa: (master)159cec9dec2320d821d388c0df8140c7705b6e0b Xserver: (master)xorg-server-1.15.99.901-204-g901fbfbbbd71c0d82080957f8ba09eebbc786f2b Xf86_video_intel:(master)2.99.911-44-g3310ee89c1f1a663de5f5b12b8125809a213996f Cairo: (master)bb17403622e9ea474017e0039af8ee48b2b285db Libva: (staging)960352aaf1e11891a533ce2c98b16edde24d6851 Libva_intel_driver:(staging)150f67c67bd92cd201b75a92388fe3a63b00cd8a Kernel: (drm-intel-nightly) 7cd8b823493acc320c7db9112de9d4e21c6dbd11 Bug detailed description: ----------------------------- It fails on Broadwell with Mesa master branch, but works well on Haswell. Following cases also fail: spec_EXT_texture_array_copyteximage_1D_ARRAY_samples=4 spec_EXT_texture_array_copyteximage_1D_ARRAY_samples=6 spec_EXT_texture_array_copyteximage_1D_ARRAY_samples=8 spec_EXT_texture_array_copyteximage_2D_ARRAY_samples=2 spec_EXT_texture_array_copyteximage_2D_ARRAY_samples=4 spec_EXT_texture_array_copyteximage_2D_ARRAY_samples=6 spec_EXT_texture_array_copyteximage_2D_ARRAY_samples=8 Reproduce steps: ---------------------------- 1. xinit 2. ./bin/copyteximage 1D_ARRAY -samples=2 -auto
Patch on mailing list: http://lists.freedesktop.org/archives/mesa-dev/2014-April/058178.html
(In reply to comment #1) > Patch on mailing list: > http://lists.freedesktop.org/archives/mesa-dev/2014-April/058178.html Fixed by this patch.
Fixed by: commit 34a68345e228b7cbc1bc6909704a89c08bf5368e Author: Kenneth Graunke <kenneth@whitecape.org> Date: Mon Apr 21 14:08:49 2014 -0700 i965: Make Broadwell HiZ path arrange for TC flushes. HiZ operations make the depth/render caches out of sync with the sampler caches. We need to arrange for a TC flush to happen before the target buffer is used by the sampler. Calling brw_render_cache_set_add_bo makes that happen. On previous generations, brw_blorp_exec took care of flushing the texture cache by calling intel_batchbuffer_emit_mi_flush after doing any rendering. If we were to use the normal drawing path, then brw_postdraw_set_buffers_need_resolve would handle this. On Broadwell, we don't use BLORP, and we don't emit a rectangle primitive via the normal drawing path. The 3DSTATE_WM_HZ_OP and PIPE_CONTROL implicitly make drawing happen. So, none of our existing code makes this flush happen - we need to do it directly. Fixes 11 Piglit copyteximage subtests. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77223 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77226 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
Verified.Fixed.
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.