Details
-
Technical task
-
Resolution: Done
-
P2: Important
-
None
Description
Both Qt Quick and application could benefit from a way to do shader processing (running the qsb tool) at build time.
This should involve listing the shaders (.vert and .frag files), together with options (which variants to generate) in the CMakeLists, which then under the hood leads to invoking qsb, and also generating a resource file list so that the generated .qsb files end up in the resource system. So basically an automated way of what we achieve today by the compile.bat scripts and checking in and listing the .qsb files in the resources.
A smart solution should also add arguments like -c or -t to the qsb invocation automatically, if the platform is the right one. (on Windows, -c leads qsb to call fxc.exe, and store pre-compiled bytecode in the .qsb file instead of HLSL source)
Also: to be synchronized with Quick3D's offline shader efforts.
Attachments
Issue Links
- depends on
-
QTBUG-78589 Qt Shader Tools module in Qt 6.0
- Closed
-
QTBUG-81812 Port qtshadertools to CMake
- Closed
- is required for
-
QTBUG-78593 Shadertools: generate intermediate formats for D3D and Metal at shader processing time and include those in the .qsb packages
- Closed
- relates to
-
QTBUG-81298 Finalize QShader serialization format (.qsb files) for 5.x
- Closed
For Gerrit Dashboard: QTBUG-78590 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
305443,4 | Introduce qt6_add_shaders | dev | qt/qtshadertools | Status: MERGED | +2 | 0 |