Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-51064

QML Video type doesn't work with core profile

XMLWordPrintable

    • abab792c4f0977a4599e5b7b2e97a5ee586fe388 (qt/qtmultimedia/dev) 1c9da622dc7e8ac6fa42f5263a5410098073b662 (qt/tqtc-qtmultimedia/tqtc/lts-5.15)

      Just came across a bug, while trying to use a 'Video' Qml type in my QML offscreen renderer. Error description was 'Failed to find shader biplanaryuvvideo_core.frag' and 'Failed to find shader biplanaryuvvideo_core.vert'.

      Turns out that rendering QML to a QSurfaceFormat::CoreProfile always appends '_core' to the shader source names, and no such shaders are present in 'qtmultimedia/src/qtmultimediaquicktools/shaders'. Check QSGShaderSourceBuilder::appendSourceFile(const QString &fileName)
      which in turn calls resolveShaderPath(fileName) that does the appending of '_core'. IMHO proper solution would be to add the *_core files to the shaders in 'qtmultimedia/src/qtmultimediaquicktools/shaders'.

      Until a fix to the issue, using QSurfaceFormat::CompatibilityProfile profile, solves the issue.

        1. qmlvideo.zip
          4 kB
          Massimo Callegari
        2. qmlvideo-CORE.trace
          794 kB
          Massimo Callegari
        3. qmlvideo-COMP.trace
          1.05 MB
          Massimo Callegari
        4. Schermata 2018-12-24 alle 16.41.33.png
          1.21 MB
          Massimo Callegari
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            lpotter Lorn Potter
            buldozer Toni Rutar Lokar
            Votes:
            9 Vote for this issue
            Watchers:
            16 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes