Bug 77852

Summary: [BDW]Piglit spec_ARB_framebuffer_object_fbo-drawbuffers-none_glBlitFramebuffer fails
Product: Mesa Reporter: lu hua <huax.lu>
Component: Drivers/DRI/i965Assignee: Kenneth Graunke <kenneth>
Status: VERIFIED FIXED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description lu hua 2014-04-24 03:01:21 UTC
System Environment:
--------------------------
Platform: Broadwell
Libdrm:		(master)libdrm-2.4.53-6-gd4083dc762a2974c35ecd16be995272bbb6d57b4
Mesa:		(master)34a68345e228b7cbc1bc6909704a89c08bf5368e
Xserver:	(master)xorg-server-1.15.99.902-47-ge924034269532979f1e88947ee9c33d30461edae
Xf86_video_intel:(master)2.99.911-94-gbb5b21e34f6cbe44a249e566471754b45c500e60
Libva:		(staging)8577efbd3b1d4e8f113f78cf13d2182aa681b738
Libva_intel_driver:(staging)42258e128f19b93aa102672d5f61eb73d9f9808f
Kernel:	(drm-intel-nightly)1e771b84e47085ef9b6efea1321e7cb5a8b2c065

Bug detailed description:
-----------------------------
It fails on Broadwell with Mesa master branch, but works well on Haswell.
spec_ARB_framebuffer_object_fbo-drawbuffers-none_glClearBuffer also fails on Broadwell.
output:
libGL: screen 0 does not appear to be DRI3 capable
libGL: pci id for fd 4: 8086:1616, driver i965
libGL: OpenDriver: trying /opt/X11R7/lib/dri/i965_dri.so
Testing glBlitFramebuffer.
Probe color at (0,0)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.200000 0.200000 0.200000 0.200000
  from color attachment 0,
  config (NONE, COLOR_ATTACHMENT1, COLOR_ATTACHMENT0, COLOR_ATTACHMENT2)
Probe color at (0,0)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.200000 0.200000 0.200000 0.200000
  from color attachment 1 [details] [review],
  config (NONE, COLOR_ATTACHMENT1, COLOR_ATTACHMENT0, COLOR_ATTACHMENT2)
Probe color at (0,0)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.200000 0.200000 0.200000 0.200000
  from color attachment 2 [details] [review],
  config (NONE, COLOR_ATTACHMENT1, COLOR_ATTACHMENT0, COLOR_ATTACHMENT2)
Probe color at (0,0)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.200000 0.200000 0.200000 0.200000
  from color attachment 2 [details] [review],
  config (NONE, NONE, COLOR_ATTACHMENT3, COLOR_ATTACHMENT2)
Probe color at (0,0)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.200000 0.200000 0.200000 0.200000
  from color attachment 3 [details] [review],
  config (NONE, NONE, COLOR_ATTACHMENT3, COLOR_ATTACHMENT2)
Probe color at (0,0)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.200000 0.200000 0.200000 0.200000
  from color attachment 0,
  config (NONE, COLOR_ATTACHMENT0, NONE, COLOR_ATTACHMENT1)
Probe color at (0,0)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.200000 0.200000 0.200000 0.200000
  from color attachment 1 [details] [review],
  config (NONE, COLOR_ATTACHMENT0, NONE, COLOR_ATTACHMENT1)
Probe color at (0,0)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.200000 0.200000 0.200000 0.200000
  from color attachment 0,
  config (NONE, COLOR_ATTACHMENT2, COLOR_ATTACHMENT0, NONE)
Probe color at (0,0)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.200000 0.200000 0.200000 0.200000
  from color attachment 2 [details] [review],
  config (NONE, COLOR_ATTACHMENT2, COLOR_ATTACHMENT0, NONE)
Probe color at (0,0)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.200000 0.200000 0.200000 0.200000
  from color attachment 1 [details] [review],
  config (NONE, NONE, NONE, COLOR_ATTACHMENT1)
Probe color at (0,0)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.200000 0.200000 0.200000 0.200000
  from color attachment 2 [details] [review],
  config (NONE, NONE, COLOR_ATTACHMENT2, NONE)
Probe color at (0,0)
  Expected: 1.000000 0.000000 0.000000 1.000000
  Observed: 0.200000 0.200000 0.200000 0.200000
  from color attachment 0,
  config (NONE, COLOR_ATTACHMENT0, NONE, NONE)
PIGLIT: {'result': 'fail' }

Reproduce steps:
----------------------------
1. xinit
2. bin/fbo-drawbuffers-none glBlitFramebuffer -fbo -auto
Comment 1 Kenneth Graunke 2014-05-03 08:04:04 UTC
The "fbo-drawbuffers-none glClearBuffer" failure is because the _mesa_meta_glsl_Clear path doesn't pay attention to the set of buffers it was asked to clear.  (This is basically #76832 - Iago fixed the problem for the blorp path, but not the meta path.)

The "clearfix" branch of my tree has some proposed patches to fix this, but they regress basically every glean test currently.  Eric thinks that's due to an unrelated bug my code happened to uncover.  More work required...
Comment 2 Kenneth Graunke 2014-05-28 19:39:21 UTC
Seems to be passing with latest Mesa master.
Comment 3 lu hua 2014-05-29 06:41:32 UTC
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.