[Mesa-dev] [Bug 43128] New: Software Rasterizer Alpha buffer transparent when window does not request an alpha buffer.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Nov 20 23:45:18 PST 2011


https://bugs.freedesktop.org/show_bug.cgi?id=43128

             Bug #: 43128
           Summary: Software Rasterizer Alpha buffer transparent when
                    window does not request an alpha buffer.
    Classification: Unclassified
           Product: Mesa
           Version: git
          Platform: x86-64 (AMD64)
        OS/Version: Linux (All)
            Status: NEW
          Severity: major
          Priority: medium
         Component: Drivers/X11
        AssignedTo: mesa-dev at lists.freedesktop.org
        ReportedBy: ideasman42 at gmail.com


Created attachment 53733
  --> https://bugs.freedesktop.org/attachment.cgi?id=53733
screenshot of blender with strange alpha problem

Hi there is a big which many blender 3d users experience where the window its
self becomes transparent, this is not desired under _any_ circumstances, the
window should _always_ be opaque.

This happens with the following configuration, I managed to redo this bug too
both with last stable Mesa and with git mesa.

So this i a long standing bug in mesa but tested in commit:
03df791c6f0881e45a65106c22ccd28f77018fb3 to make sure its not fixed recently.


The problem happens when running a compositing window manager (Unity or
GnomeShell 3.2), In my case on an NVidia hardware accelerated drivers.

And within this, running blender with SWRAST mesa, in my case I built mesa with
only swrast driver and opened blender with my mesa build:

LD_PRELOAD=/opt/mesa/lib/libGL.so ./blender

If you want to try this quickly, get the latest stable blender build and run:
 "blender-softwaregl", this preloads mesa library too


I installed gnome shell 3.2 recently and attempted to fix the bug on blenders
side.

I found that by adding the GLX_ALPHA_SIZE attribute to glXChooseVisual(...),
then ensuring that alpha was set to 1.0 when calling glClearColor this mostly
fixes the problem, but not totally because in some cases we intentionally draw
without full alpha, those areas became transparent again.

However we don't want to use the alpha buffer at all, and seeing as this works
with most other configurations - ATI/NVidia at least, I think the bug is in
mesa's SWRAST or software GLX.

Patch on blender which works around the problem.
http://codereview.appspot.com/5415058

---

Logically - if you don't ask for an alpha buffer, it should assume the buffer
is solid, not transparent.


Attach an example, the blender splash screen should be visible and the window
should be a mostly a uniform gray, but you can see firefox is open behind
blender.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the mesa-dev mailing list