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

QML Video type doesn't work with core profile

    XMLWordPrintable

Details

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

    Description

      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.

      Attachments

        1. qmlvideo.zip
          4 kB
        2. qmlvideo-CORE.trace
          794 kB
        3. qmlvideo-COMP.trace
          1.05 MB
        4. Schermata 2018-12-24 alle 16.41.33.png
          Schermata 2018-12-24 alle 16.41.33.png
          1.21 MB

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes