Bug 13835

Summary: glDrawBuffers implemented incorrect when draw to GL_BACK_LEFT
Product: Mesa Reporter: WuNian <nian.wu>
Component: Mesa coreAssignee: Eric Anholt <eric>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: medium CC: eric
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: test case

Description WuNian 2007-12-27 22:56:32 UTC
On i965 platform, when call glDrawBuffers to draw GL_FRONT_LEFT and GL_BACK_LEFT, then read back the pixels, pixels in GL_FRONT_LEFT buffer is as expected, but pixels in GL_BACK_LEFT buffer is incorrect.

On i915 platform, the bug does not exist. i965 driver has not implemented the glDrawBuffers feature(multi render target), so I think this is mesa xlib's bug.
Comment 1 WuNian 2007-12-27 22:59:52 UTC
Created attachment 13391 [details]
test case

On i965 platform, I got below result:

draw buffers number: 2
error! i is: 1
expected: 0.800000 0.300000 0.700000 1.000000
actual: 0.800000 0.501961 0.200000 1.000000
Comment 2 Michael Fu 2008-01-01 23:26:01 UTC
software rendering bug.
Comment 3 Brian Paul 2008-01-06 09:46:27 UTC
Fixed in core Mesa.  Haven't test i965.

The problem was glDrawBuffers(2, [GL_FRONT_LEFT, GL_BACK_LEFT]) wasn't being interpreted correctly.  The fragment color was only getting written to the first buffer.
Comment 4 WuNian 2008-01-08 14:05:28 UTC
Verified on i965 platform.
Comment 5 Adam Jackson 2009-08-24 12:28:58 UTC
Mass version move, cvs -> git

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.