System Environment: -------------------------- Arch: i386 Platform: Sandybridge Libdrm: (master)2.4.33-20-gd72a44c7c4f5eea9c1e5bb0c36cb9e0224b9ca22 Mesa: (master)729d9148244551c6bcae00a760f39a6902c925ef Xserver: (master)xorg-server-1.12.0-136-ge501c34d4937d5e6f19abd29f1ec7f95faa3bb55 Xf86_video_intel:(master)2.19.0-36-ga3d37fb29f8dffb0e370ad95783994aaa7eccfaf Libva: (vaapi-ext)f12f80371fb534e6bbf248586b3c17c298a31f4e Libva_intel_driver:(vaapi-ext)82fa52510a37ab645daaa3bb7091ff5096a20d0b Kernel: (drm-intel-next-queued) 38e490fea7d2885d79fcd1ca37edb64e489d470d Bug detailed description: ------------------------- It failed on Sandybridge with mesa master and 8.0 branch. This case has Bug 44963 on SNB GT2. The last known good commit:1bd3dafeca90f1293acd9b9ab63bf617139bfacf The last known bad commit: 729d9148244551c6bcae00a760f39a6902c925ef Reproduce steps: ---------------- 1. start X 2. ./oglconform -z -suite all -v 2 -D 116 -test depth-stencil basic.read.ds
When making a bug report, please show at least an excerpt of the actual failure report. Bisect? I get failure on both 8.0 and master on ivb, with minor accuracy errors.
Hua to bisect.
In process.
Bisect shows: a7ac9c9c7dc7401ca6143d1e7476df5e3c2758b7 is the first bad commit. commit a7ac9c9c7dc7401ca6143d1e7476df5e3c2758b7 Author: Marek Olšák <maraeo@gmail.com> Date: Mon Apr 23 18:11:38 2012 +0200 vbo: move vbo_draw_method into vbo_context.h But, revert the commit, this issue still exists. I will re-check.
Visual Report: ID |ACCELERA|DB |REND_T |SURF_T |C_BUF_T |BUF_S |RED_S | 141| 1| 1| gl| wipbpx| rgba| 32| 8| GREEN_S |BLUE_S |ALPHA_S |DEPTH_S |STENC_S |ACCUM_S |SPL_BUF |SAMPLES | 8| 8| 8| 24| 8| 64| 0| 0| SRGB |TEX_RGB |TEX_RGBA|CAVEAT |SWAP |M_PBUF_W|M_PBUF_H|M_PBUF_P -1| 0| 0| slow| undef| 0| 0| 0 OpenGL Report. Vendor - 'Intel Open Source Technology Center' Renderer - 'Mesa DRI Intel(R) Sandybridge Desktop x86/MMX/SSE2' Version - '3.0 Mesa 8.1-devel (git-7528e21)' (3.0) GLSL Version - '1.30' Context Flags - None >> Depth Stencil test (depth-stencil) test: --> 1.3.1 - basic.read.ds subcase: File - /GFX/build/testsuite/Oglconform_31/oglconform_31/src/OGLconform/depth-stencil.c, line - 1791. Error wrong output color values Subcase Id: 1.3.1 Subcase Name: basic.read.ds Title: Verify that OGL API allows depth stencil buffers read operation using DEPTH_STENCIL_EXT Test Purpose: Test should verify that for depth stencil buffers it is possible to use GL_DEPTH_STENCIL_EXT and GL_UNSIGNED_INT_24_8_EXT while read operation. Test Method: Define basic shape of depth and stencil buffers in form of two neighbor quads. Try to render two additional quads larger that those two wrote to depth/stencil buffers. Left quad is red the right one is blue. Read back rendered buffers and verify colors Read cycles should be performed several time in a loop with different region settings Pass Criteria: Test passes if updated and rendered buffers match with expected with defined epsilon . -------------------------- --< 1.3.1 - basic.read.ds subcase failed. << Depth Stencil test (depth-stencil) test failed. (1 of 1 subcases) Intel Conformance failed. Total Passed : 0 Total Failed : 1 Total Not run: 0
*** Bug 44963 has been marked as a duplicate of this bug. ***
It turns out that the super-hardware-specific bug was actually a one line mistake in Mesa's software depth span unpacking code. The original commit mentioned in #44963 changed DrawPixels to use a different unpack path, and that path happened to be slightly broken. Patch out for review on the mailing list: http://lists.freedesktop.org/archives/mesa-dev/2012-August/025590.html
commit 605f964d5cc7016fc74e0563829fa794da845c20 Author: Kenneth Graunke <kenneth@whitecape.org> Date: Mon Aug 13 00:35:41 2012 -0700 mesa: Use GLdouble for depthMax in final unpack conversions. The final step of _mesa_unpack_depth_span is to take the temporary GLfloat depth values and convert them to the desired format. When converting to GL_UNSIGNED_INTEGER with depthMax > 0xffffff, we use double-precision math to avoid overflow and precision problems. Or at least that's the idea. Unfortunately GLdouble z = depthValues[i] * (GLfloat) depthMax; actually causes single-precision multiplication, since both operands are GLfloats. Casting depthMax to GLdouble causes the scaling to be done with double-precision math. Fixes a regression in oglconform's depth-stencil basic.read.ds test since c60ac7b17993d28af65b04f9bbbf3ee74c35358c, where the expected and actual values differed slightly. For example, 0xcfa7a6 vs. 0xcfa7a4. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=49772 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
It fixed on mesa master commit 1597176f7090eea73f41b3114ae2a02a50ac7a12. Can't find "mesa: Use GLdouble for depthMax in final unpack conversions." on mesa 8.0 branch. It still fail on mesa 8.0 branch.
Thanks. I just cherry-picked it to 8.0.
Verified. Fixed by 57295009e895b1d39c083c3873fdeaf4dadd778b on 8.0 branch. commit 57295009e895b1d39c083c3873fdeaf4dadd778b Author: Kenneth Graunke <kenneth@whitecape.org> AuthorDate: Mon Aug 13 00:35:41 2012 -0700 Commit: Kenneth Graunke <kenneth@whitecape.org> CommitDate: Thu Aug 16 23:50:28 2012 -0700 mesa: Use GLdouble for depthMax in final unpack conversions.
bug/show.html.tmpl processed on Mar 20, 2017 at 09:48:58. (provided by the Example extension).