Bug 27160 - [i5 Clarkdale, Intel Graphics HD] OpenGL renderer is not usable for Qt4 (4.6.x)
Summary: [i5 Clarkdale, Intel Graphics HD] OpenGL renderer is not usable for Qt4 (4.6.x)
Status: RESOLVED NOTOURBUG
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium major
Assignee: Eric Anholt
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-18 05:02 UTC by Artem S. Tashkinov
Modified: 2010-10-03 00:45 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
QtConfig application ran with -graphicssystem opengl options (146.80 KB, image/png)
2010-03-18 05:02 UTC, Artem S. Tashkinov
Details

Description Artem S. Tashkinov 2010-03-18 05:02:02 UTC
Created attachment 34193 [details]
QtConfig application ran with -graphicssystem opengl options

If you run any qt application with OpenGL renderer, its appearance is totally broken:

$ qtconfig4 -graphicssystem opengl
using visual class 4, id c3
hijackWindow() context created for MainWindow(0xbf86d474, name = "main window") 1
QGLFramebufferObject: Framebuffer incomplete attachment.
QGLFramebufferObject: Framebuffer incomplete attachment.
QGLWindowSurface: Failed to create valid FBO, falling back
QGLPixelBuffer: Unable to find a context/format match - giving up.
QGLWindowSurface: Failed to create valid pixelbuffer, falling back
QGLWindowSurface: Using plain widget as window surface QGLWindowSurface(0x907f450)
QGLFramebufferObject: Framebuffer incomplete attachment.
QGLFramebufferObject: Framebuffer incomplete attachment.
Failed to create pixmap texture buffer of size  QSize(144, 17) , falling back to raster paint engine
QGLFramebufferObject: Framebuffer incomplete attachment.
QGLFramebufferObject: Framebuffer incomplete attachment.
Failed to create pixmap texture buffer of size  QSize(16, 16) , falling back to raster paint engine
QGLFramebufferObject: Framebuffer incomplete attachment.
QGLFramebufferObject: Framebuffer incomplete attachment.
Failed to create pixmap texture buffer of size  QSize(12, 12) , falling back to raster paint engine
QGLFramebufferObject: Framebuffer incomplete attachment.
QGLFramebufferObject: Framebuffer incomplete attachment.
Failed to create pixmap texture buffer of size  QSize(16, 16) , falling back to raster paint engine
QGLFramebufferObject: Framebuffer incomplete attachment.
QGLFramebufferObject: Framebuffer incomplete attachment.
Failed to create pixmap texture buffer of size  QSize(182, 16) , falling back to raster paint engine
QGLFramebufferObject: Framebuffer incomplete attachment.
QGLFramebufferObject: Framebuffer incomplete attachment.
Failed to create pixmap texture buffer of size  QSize(26, 16) , falling back to raster paint engine
QGLFramebufferObject: Framebuffer incomplete attachment.
QGLFramebufferObject: Framebuffer incomplete attachment.
Failed to create pixmap texture buffer of size  QSize(11, 15) , falling back to raster paint engine
QGLFramebufferObject: Framebuffer incomplete attachment.
QGLFramebufferObject: Framebuffer incomplete attachment.
Failed to create pixmap texture buffer of size  QSize(16, 16) , falling back to raster paint engine
QGLFramebufferObject: Framebuffer incomplete attachment.
QGLFramebufferObject: Framebuffer incomplete attachment.
Failed to create pixmap texture buffer of size  QSize(16, 16) , falling back to raster paint engine

___________________________________

xorg-x11-drv-intel-2.10.902
xorg-x11-server-Xorg-1.7.5-5.fc12.i686
mesa-libGL-7.7-4.fc12.i686
Comment 1 Gordon Jin 2010-03-18 19:10:54 UTC
which kernel are you using?
Comment 2 Artem S. Tashkinov 2010-03-18 23:19:56 UTC
(In reply to comment #1)
> which kernel are you using?
> 

2.6.33.1 vanilla
Comment 3 Eric Anholt 2010-03-22 15:09:55 UTC
Best way to get this fixed would be to make a standalone testcase for the FBO configuration that QT is using.  Then we can figure out if that configuration can be supported on the hardware.  (Note that drivers are allowed to throw out FBO configurations for nearly any reason -- it's up to apps to be sure what they're doing is reasonable or to fall back appropriately if it's questionable)
Comment 4 Artem S. Tashkinov 2010-03-23 00:54:01 UTC
(In reply to comment #3)
> Best way to get this fixed would be to make a standalone testcase for the FBO
> configuration that QT is using.  Then we can figure out if that configuration
> can be supported on the hardware.  (Note that drivers are allowed to throw out
> FBO configurations for nearly any reason -- it's up to apps to be sure what
> they're doing is reasonable or to fall back appropriately if it's questionable)
> 

I'm not a developer and my knowledge of OpenGL is next to non-existent, so, you have Qt sources and certainly you can make this issue out better than I.
Comment 5 Eric Anholt 2010-10-03 00:45:35 UTC
I just tried this application, and it failed in a driver assertion because it appears to be trying to use a pointer to vertex data as the offset within the vertex data buffer object they bound.  (We assert rather than continuing on to segfault or render garbage, which are also valid responses to that)

However, it did bind several renderbuffers successfully on its way to failing there, so I'm hoping that that issue is fixed.  Closing this as their problem, since the backend appears to be otherwise buggy at the moment.

QT version:
ii  qt4-demos                            4:4.6.3-2                      Qt 4 examples and demos


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.