This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5728: AM5728: OpenGL SVG charts

Part Number: AM5728


Hello everyone!
I've founded an another problem based on the kernel+OpenGL from my previous post (https://e2e.ti.com/support/processors/f/791/t/852444


//main.cpp
#include <QtGui/QGuiApplication>
#include <QtCore/QCoreApplication>
#include <QtQml/QQmlApplicationEngine>
#include <QtWebEngine/QtWebEngine>
#include <QtQuick/QQuickWindow>

int main(int argc, char **argv) {
    qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));

    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts);

    QGuiApplication app(argc, argv);
    QtWebEngine::initialize();

    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("./main.qml")));

    QQuickWindow *window = qobject_cast<QQuickWindow*>(engine.rootObjects().first());
    window->show();

    return app.exec();
}

I've tried to run the application on the target device.

./browser -platform eglfs --no-sandbox

js: bar chart: "scales.[x/y]Axes.barPercentage" is deprecated. Please use "dataset.barPercentage" instead
js: bar chart: "scales.[x/y]Axes.barPercentage" is deprecated. Please use "dataset.barPercentage" instead
[628:643:0127/000421.258184:ERROR:buffer_manager.cc(487)] [.RendererMainThread-0x2086c0]GL ERROR :GL_INVALID_ENUM : glBufferData: <- error from previous GL command
PVR:(Error): SGXKickTA: TA went out of Mem and SPM occurred during last TA kick [0, ]
PVR:(Error): SGXKickTA: TA went out of Mem and SPM occurred during last TA kick [0, ]
PVR:(Error): SGXKickTA: TA went out of Mem and SPM occurred during last TA kick [0, ]
...

Application loaded a crappy content on the page and went into infinity loop with allocated all memory.
Next try was without OpenGL support (--linuxfb).

./browser -platform linuxfb --no-sandbox
This plugin does not support createPlatformOpenGLContext!
js: bar chart: "scales.[x/y]Axes.barPercentage" is deprecated. Please use "dataset.barPercentage" instead
js: bar chart: "scales.[x/y]Axes.barPercentage" is deprecated. Please use "dataset.barPercentage" instead

I works without any problems. Animated content was smoothly moving.

Same result was produced when ./browser -platform eglfs --no-sandbox --disable-gpu was used.

What does it mean? Is it a bug or OpenGL feature, that it can't display a page correctly?

Thanks,
Andy

  • Hello Andy,

    Seems like application is passing something that the driver does not like. GL_INVALID_ENUM is returned as per OpenGL ES specifications for glBufferData in this case. This would first need to be looked from the application (browser) OpenGLES  implementation perspective.

    Regards

    Hemant

  • Hello Hemant,


    What does it mean for me? Are you able to look at it? To be honest, I don't know, what to search in QT code about OpenGL.

    Regards,
    Andy

  • Andy,

    This probably needs to be taken up with Qt.

    One thing that you can try and do is to increase the parameter buffer memory. In /etc/powervr.ini, you can add an entry like:

    <--- add lines below this one---

    [default]

    ParamBufferSize=64000000

    MaxParamBufferSize=64000000

    --- add lines above this one-->

    If that works, you can change [default] to the name of the application so that not every application gets that amount of memory.

    Regards

    Hemant