Bug 10483

Summary: Alpha value is not effective in double buffer mode
Product: Mesa Reporter: Wei Wang <wei.z.wang>
Component: Mesa coreAssignee: mesa-dev
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: medium CC: haihao.xiang, nian.wu
Version: git   
Hardware: All   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: simple case for reading pixels

Description Wei Wang 2007-03-31 06:46:05 UTC
version
=======
Mesa master, cset e608d92c5b42d192772066194531db8bfaff86ce


Description
===========
Under double buffer mode, glReadPixels() cannot get the right alpha value after the object was draw with specified RGBA values (by glColor()). R/G/B value is right respectively.
In fact, the alpha value achieved is the value that is used to clear the color buffer (glClearColor()).


Misc
====
under single buffer mode, this bug doesn't happen.
Comment 1 Wei Wang 2007-03-31 06:50:53 UTC
Created attachment 9393 [details]
simple case for reading pixels
Comment 2 Brian Paul 2007-04-01 17:31:54 UTC
OK, I found/fixed a few things.  Checked into git.

BTW, there's a bug in your program.  If you want/need an alpha channel, you need to add GLUT_ALPHA to your glutInitDisplayMode() call.
Comment 3 Wei Wang 2007-04-01 18:17:28 UTC
right, that is a bug in my case ;). I remember that I also encountered this alpha channel issue in some case which enable GLUT_ALPHA.
Thank you, Paul. I will verify your commit soon.
Comment 4 Wei Wang 2007-04-03 18:27:44 UTC
this bug still exists at dba21ed913da2222e3b55fc8ba724ca93acbabf1.
Comment 5 Brian Paul 2007-04-04 07:27:24 UTC
Which driver are you using?
Comment 6 Wei Wang 2007-04-04 18:24:03 UTC
Actually, it bug doesn't happen with intel i965 dri driver (I only tried this on i965). It only appears only if the 3D driver is removed and Mesa fall back on software rendering.
Comment 7 Brian Paul 2007-04-07 15:29:29 UTC
I can't reproduce this.  Things seem OK here w/ current Mesa/git.  Using i915/i945 driver.
Comment 8 Wei Wang 2007-04-10 01:52:24 UTC
Reproduce Step:

1. remove all intel 3d driver;
2. launch X, AIGLX should complain cannot find the right dri driver and fall back on software rendering, which likes:
    (EE) AIGLX error: dlopen of /opt/X11R7/lib/dri/i965_dri.so failed (/opt/X11R7/lib/dri/i965_dri.so: cannot open shared object file: No such file or directory)
    (EE) AIGLX: reverting to software rendering
3. run the attached case for this bug (add GLUT_ALPHA ;)
Comment 9 WuNian 2007-08-21 00:29:47 UTC
Anyway, now the bug does not exist w/ 915/965 driver or soft rendering.
Change the status to FIXED.
Comment 10 Adam Jackson 2009-08-24 12:26:19 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.