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@lists.freedesktop.org |
Reporter | contact@emersion.fr |
QA Contact | nouveau@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.
_______________________________________________ Nouveau mailing list Nouveau@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/nouveau