[Nouveau] [Bug 109330] New: GL_ALPHA_BITS set to non-zero with EGL_PLATFORM_GBM_MESA
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Sat Jan 12 13:59:45 UTC 2019
https://bugs.freedesktop.org/show_bug.cgi?id=109330
Bug ID: 109330
Summary: GL_ALPHA_BITS set to non-zero with
EGL_PLATFORM_GBM_MESA
Product: Mesa
Version: unspecified
Hardware: Other
OS: All
Status: NEW
Severity: normal
Priority: medium
Component: Drivers/DRI/nouveau
Assignee: nouveau at lists.freedesktop.org
Reporter: contact at emersion.fr
QA Contact: nouveau at lists.freedesktop.org
When creating an EGL context with EGL_PLATFORM_GBM_MESA and EGL_ALPHA_SIZE=1,
Nouveau produces completely transparent images when using glReadPixels. Note
that my code works with other drivers (i915, amdgpu), only Nouveau is affected.
How to reproduce:
1. Create an EGL context with these attribs:
static const EGLint config_attribs[] = {
EGL_RED_SIZE, 1,
EGL_GREEN_SIZE, 1,
EGL_BLUE_SIZE, 1,
EGL_ALPHA_SIZE, 1,
EGL_NONE,
};
Set platform to EGL_PLATFORM_GBM_MESA and visual to GBM_FORMAT_ARGB8888.
2. Try to get the alpha size:
eglGetConfigAttrib(EGL_ALPHA_SIZE)
glGetIntegerv(GL_ALPHA_BITS)
Both return 8, meaning an alpha channel is present.
3. Try to read pixels with glReadPixels and GL_BGRA_EXT. The resulting image
has an alpha channel which sets the pixels to be completely transparent.
Editing the image with gimp reveals that inverting the alpha channel makes the
image correct.
Software is wlroots [1] with grim [2]. To reproduce, compile both, start
rootston, run grim. Let me know if you need more info.
[1]: https://github.com/swaywm/wlroots
[2]: https://github.com/emersion/grim
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/nouveau/attachments/20190112/6001c27e/attachment.html>
More information about the Nouveau
mailing list