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

Qt Quick's shader packs (.qsb files) should contain DXBC instead of HLSL source

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: P3: Somewhat important
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Qt RHI, Quick: SceneGraph
    • Labels:
      None
    • Technical Risk:
      Normal
    • Commits:
      fe42d2ea631b82974dbccbe65c6f039b837c9150 (qt/qtdeclarative/dev)

      Description

      The shaders for the built-in materials in Qt Quick, Shapes, and Particles all ship source code for HLSL.

      This is wasteful in the sense that we spend time on compiling from source at run time when running on Windows and the D3D11 RHI backend.

      By adding the -c argument to the qsb invocations in compile.bat, and regenerate all .qsb files, we get shader packages containing DXBC (the intermediate format) instead of HLSL source. This of course implies running qsb on Windows, with fxc.exe available.

      Add the -c argument and regenerate the shaders.

      The value here lies in the fact that rendering via D3D11 is likely the default choice on Windows in Qt 6.0, and so spending less time on shader stuff at runtime is definitely helpful.

        Attachments

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

          Activity

            People

            Assignee:
            lagocs Laszlo Agocs
            Reporter:
            lagocs Laszlo Agocs
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes