Note that there are some explanatory texts on larger screens.

plurals
  1. POOpenGL|ES 2.0 glClear command freeze until window state change
    primarykey
    data
    text
    <p>My OpenGL|ES 2.0 glClear command freezes until the window state changes (eg. the window gets hidden or shown).</p> <p>The target platform is ARM7 with a Mali 400 GPU.</p> <p>All code is mostly copied from the Qt OpenGL ES Cube example.</p> <p>What am I forgetting?</p> <p>Leon</p> <p>Source: #include "streamplayer.h"</p> <pre><code>#include &lt;QtOpenGL&gt; #include &lt;QGLFunctions&gt; StreamPlayer::StreamPlayer(QWidget *parent) : QGLWidget(QGLFormat(QGL::SampleBuffers), parent) { program = new QGLShaderProgram(); } StreamPlayer::~StreamPlayer() { } void StreamPlayer::initializeGL() { qDebug() &lt;&lt; "Initializing GL"; initShaders(); glClearColor(0.5f, 0.5f, 0.7f, 1.0f); return; } void StreamPlayer::paintGL() { qDebug() &lt;&lt; "Paint GL"; qDebug() &lt;&lt; "Clearing buffers"; glClear(GL_COLOR_BUFFER_BIT); qDebug() &lt;&lt; "Never comes here until a window state change"; } void StreamPlayer::resizeGL(int width, int height) { qDebug() &lt;&lt; "Resizing GL to " &lt;&lt; width &lt;&lt; "x" &lt;&lt; height; glViewport(0, 0, width, height); qDebug() &lt;&lt; "Done resizing"; } void StreamPlayer::initShaders() { qDebug() &lt;&lt; "Initializing shaders"; setlocale(LC_NUMERIC, "C"); if(!program-&gt;addShaderFromSourceFile(QGLShader::Vertex, ":/shaders/vshader.glsl")) { qDebug() &lt;&lt; "Failed to create vertex shader"; } if(!program-&gt;addShaderFromSourceFile(QGLShader::Fragment, ":/shaders/fshader.glsl")) { qDebug() &lt;&lt; "Failed to create fragment shader"; } if(!program-&gt;link()) { qDebug() &lt;&lt; "Failed to link"; } _gl_vertex = program-&gt;attributeLocation("vertex"); _gl_texCoord = program-&gt;attributeLocation("texCoord"); _gl_matrix = program-&gt;attributeLocation("matrix"); _gl_texture = program-&gt;attributeLocation("tex"); if(!program-&gt;bind()) { qDebug() &lt;&lt; "Failed to bind"; } setlocale(LC_ALL, ""); qDebug() &lt;&lt; "Shaders ready"; } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload