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

    • Task
    • Resolution: Done
    • P3: Somewhat important
    • None
    • None
    • Qt RHI, Quick: SceneGraph
    • None
    • 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

        For Gerrit Dashboard: QTBUG-84268
        # Subject Branch Project Status CR V

        Activity

          People

            lagocs Laszlo Agocs
            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