I create an FBO with internal texture format GL_RGBA16F. I also tried GL_RGBA32F. Both work fine with my nVidia GPU. With my ATI card it fails. - No error is reported when creating and binding the FBO. - Blitting the FBO on screen results in random patterns (first run), then black output System information: Caicos [Radeon HD 6450/7450/8450] Running on a Gallium 0.4 on AMD CAICOS from X.Org OpenGL version 3.0 Mesa 9.2.0 is supported Linux 3.10.10-1-ARCH kernel GL feature data (useful? idk): GL_ARB_texture_float: OK GL_ARB_texture_buffer_object: OK [MISSING] GL_ARB_texture_buffer_object_rgb32: MISSING
Make sure you set --enable-texture-float when configuring mesa.
Thank you for your reply. The configure option --enable-texture-float is set. See: https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/mesa
(In reply to comment #1) > Make sure you set --enable-texture-float when configuring mesa. It should be since the driver is advertising OpenGL 3.0.
I still have the problem and I can reproduce it. I am very willing to help in debugging the issue if you give me directions.
Is there any chance this bug gets fixed?
This works for me. Can you provide a test case?
Created attachment 89120 [details] Testcase header file
Created attachment 89121 [details] Testcase source file
I am sorry my testcase uses Qt, but it would be much more time consuming for me to learn/rewrite everything without Qt. This is the qmake file: # cat fbotest.pro QT += core gui opengl greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = fbotest TEMPLATE = app SOURCES += fbotest.cpp HEADERS += fbotest.h Then run qmake, make, ./fbotest The testcase draws a rectangle and some text into a FBO, then blits it onto another FBO due to multisampling, finally draws the texture on screen. This is common practice. Thank you for taking your time to try the testcase!
This does not work because glBlitFramebuffer fails, since it is trying to blit between FBOs with different pixel formats. This isn't allowed, check for instance the OpenGL 3.3 core specification, section 4.3.2 or the EXT_framebuffer_multisample specification. They unambiguously state that read and draw framebuffer must have the same pixel format for blits that involve multisample framebuffers. As far as I can see, this is not a problem with Mesa, but rather with your OpenGL compliance.
Thank you for your time, I very much appreciate your detailed comment. I made my code compliant and now it works as expected. I had made a different mistake when I tried with the same format for the blit target.
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.