Trolltech Home | Qt-interest Home | Recent Threads | All Threads | Author | Date
All threads index page 3

Qt-interest Archive, August 2007
Re: QOpenGLPaintEngine: Failed to create fragment programs.


Message 1 in thread


El Wednesday 04 July 2007 19:52:50 Michael Rice va escriure:
> On Jul 4, 2007, at 11:26 AM, David Scriven wrote:
> >> I've just upgraded my system from 4.2 to 4.3, running FC5. A
> >> program that has been working perfectly until now emits the
> >> following message:
> >>
> >> QOpenGLPaintEngine: Failed to create fragment programs.
> >> multiple times. The program still works as before, but emits
> >> these irritating (and totally meaningless) messages.
> >>
> >> The program has a central QGLWidget  and a satellite QGLWidget
> >> which shows the results of operations on the central widget.
> >> The message is only emitted when the second widget is
> >> present - it disappears if I remove all the 'rendertext' statements
> >> in the second widget.
> >>
> >> I have a) no idea what the message means, although it seems
> >> to be related to improvements in the 4.3 OpenGL rendering system.
> >> b) how to get rid of it - I can see no obvious errors.
> >>
> >> Some guidance, please.
> >>
> >> DS
> >
> > A second request for help - I keep getting these messages
> >
> > when I create a second (or third) QGLWidget AND I have
> >
> > 'rendertext' statements in the 2nd (or 3rd) widget. They occur
> > in 4.3 (not 4.2) when running either FC5 or FC7.
> >
> >
> >
> > It's very frustrating -  I'm not sure  what error this is - where
> >
> > it is occuring, why it is, or how to cure it.
> >
> >
> >
> > It doesn't seem to have any affect on the rendering of the image,
> >
> > but it is a damn nuisance.
> >
> >
> >
> > Anyone?
> >
> >
> >
> > DS
>
> I don't know what the actual problem is, but the error is coming from
> the Qt OpenGL paint engine ($QTDIR/src/opengl/
> qpaintengine_opengl.cpp). The
> QOpenGLPaintEnginePrivate::createFragmentPrograms() method is failing
> to create one of the mask or brush fragment programs. It's not
> affecting the functionality because the use of the Qt fragment
> programs is disabled if any of them fail to get created.
>
> Do you see any other messages of the form "Couldn't create mask ...
> fragment program ..." or "Couldn't create painter ... fragment
> program ..."? Looking at the code, one of these messages should be
> displayed via  a qDebug() statement.
>
> The messages above will at least indicate which of the fragment
> programs is causing the error. This won't solve the problem, but at
> least you could look at the fragment program that's causing the error
> (see the $QTDIR/src/opengl/util/fragmentprograms_p.h and the
> associated GLSL files in the same directory). You could also put in
> some debugging code into the qt_createFragmentProgram() function to
> display the OpenGL error code after the failure.
>

We got the same problem. Also seems related to font rendering in openGl and 
unrelated to an specific video card (using either nvidia, intel and ati). 
Fonts are not rendered properly (squares) or not rendered at all. Several 
simultaneous instances of the same OpenGL widget have different behaviours. 
In some of them render the text properly and others not.

David.





--
 [ signature omitted ]