Bug 4965

Summary: Windows GDI driver doublebuffer + alpha triggers assertation
Product: Mesa Reporter: Gregor Anich <blight>
Component: OtherAssignee: mesa-dev
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: high    
Version: 6.4   
Hardware: x86 (IA32)   
OS: Windows (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: GDI driver doublebuffer+alpha proposed fix
renderbuffer patch for wmesa.c

Description Gregor Anich 2005-11-04 12:59:38 UTC
Hi!

The windows GDI driver has a bug which triggers an assertation in src/mesa/main/
renderbuffer.c, line 1628 (assert(fb->Attachment[b].Renderbuffer);) when it is 
told to setup a double buffered context with alpha planes. This happens because 
it creates the BUFFER_FRONT_LEFT only in for single-buffer, and only 
BUFFER_BACK_LEFT for double-buffer.

I attached a proposed fix (which also fixes 2 unrelated warnings), but am not 
sure the fixes are correct because the same renderbuffer is used for front and 
back. However the GDI driver seems to use a single memory bitmap if double 
buffering is enabled, which it bitblts into the window when the buffers are 
swapped so the changes should be ok I think.
Comment 1 Gregor Anich 2005-11-04 13:00:35 UTC
Created attachment 3706 [details] [review]
GDI driver doublebuffer+alpha proposed fix
Comment 2 Brian Paul 2005-11-04 15:03:55 UTC
Created attachment 3707 [details] [review]
renderbuffer patch for wmesa.c

I've taken a stab at writing the right code, but can't test it.  I'm attaching
the diff for you to try.
Comment 3 chemtech 2013-03-15 08:11:45 UTC
Gregor Anich,
Do you still experience this issue with newer soft?
Please check the status of your issue.
Comment 4 Timothy Arceri 2016-01-24 10:21:40 UTC
The windows GDI driver has since been removed from Mesa.

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.