PYSIDE6-QSB(1)
π NAME π
pyside6-qsb β this is the tool, and its actual call-me-by name is qsb β¨ (it lives in the PySide6 tools manual, if you were wondering where it hangs out)
πΈ SYNOPSIS πΈ
qsb [options] file
π¦ DESCRIPTION π¦
Qt Shader Baker, bestie β and specifically the one using QShader from Qt 6.11.2 π
That's it, that's the whole pitch: you feed it a shader, it bakes it. Very demure, very mindful, extremely useful. π§
β¨ OPTIONS β¨
Ok so here's the full menu, no skips, no skimming, we're doing all of them π«Ά
-h,--helpβ shows you the help for the commandline options. Your "what do I even do here" button π--help-allβ same help energy, but it also drags in all the generic Qt options too. The extended cut π-v,--versionβ tells you the version info β¨-b,--batchableβ also generates a rewritten vertex shader for Qt Quick scene graph batching. Two shaders for the price of one, slay π--zorder-loc <location>β the extra vertex input location used when rewriting for batching. Defaults to7β--glsl <versions>β comma separated list of GLSL versions to generate. Example given is literally"100 es,120,330"so like, that's the format bestie π--hlsl <versions>β comma separated list of HLSL (Shader Model) versions to generate. F.ex.50is 5.0,51is 5.1 π--msl <versions>β comma separated list of Metal Shading Language versions to generate. F.ex.12is 1.2,20is 2.0 π¦--qt6β equivalent to--glsl "100 es,120,150" --hlsl 50 --msl 12. This set is the commonly-used one for shaders in Qt Quick materials and effects. The default-ish starter pack fr fr β¨--msltessβ says "hey, this vertex shader is going into a pipeline with tessellation". It's mandatory for vertex shaders that are planned to be used with tessellation when you're targeting Metal (--msl) πΈ--tess-vertex-count <count>β the output vertex count from the tessellation control stage. Mandatory for tessellation evaluation shaders planned for use with Metal. The default value is3. And heads up: if it doesn't match thetess.controlstage, the generated MSL code will not function as expected π not a drill--tess-mode <mode>β the tessellation mode:trianglesorquads. Mandatory for tessellation control shaders planned for use with Metal. Default value istriangles. Isolines are not supported with Metal. And same warning as above: if it doesn't match thetess.evaluationstage, the generated MSL code will not function as expected π--view-count <num_views>β the number of views the shader is used with.num_viewsmust be>= 2. Mandatory when multiview rendering is used (gl_ViewIndex). Only set it for vertex shaders that really do rely on multiview, because the resulting asset is tied tonum_views. It can be set for fragment shaders too, so you getQSHADER_VIEW_COUNTauto-defined (which is useful for ensuring uniform buffer layouts) π-gβ generate full debug info for SPIR-V and DXBC π₯-Oβ invokespirv-opt(an external tool, so yes it has to actually exist) to optimize SPIR-V for performance β‘ (well, no β‘ emoji in the official vibe list, but you get it β speed)-o,--output <filename>β output file for the shader pack π--orig-file <filename>β filename to be used for dependency tracking instead of<file>π--qsbversion <version>β the QSB version to use for the output file. By default the latest version is automatically used, so only reach for this when you're baking compatibility versions. F.ex.64is Qt 6.4 π¦-c,--fxcβ in combination with--hlsl, invokesfxc(SM 5.0/5.1) ordxc(SM 6.0+) to store DXBC or DXIL instead of HLSL π-t,--metallibβ in combination with--msl, builds a Metal library withxcrun metal(lib)and stores that instead of the source. Suitable only when targeting macOS, not iOS πΈ-T,--metallib-iosβ in combination with--msl, builds a Metal library withxcrun metal(lib)and stores that instead of the source. Suitable only when targeting iOS, not macOS π (yes, it's the mirror twin of-t)-D,--define <name[=value]>β define a macro. This argument can be specified multiple times, stack 'em up π-p,--per-targetβ enable per-target compilation. So instead ofsource->SPIRV->targets, it doessource->SPIRV->targetseparately for each target π-d,--dumpβ switches to dump mode. The input file is expected to be a shader pack in this mode π-x,--extract <what>β switches to extract mode. Input file is expected to be a shader pack. The result gets written to the output specified by-o. Pass-bto choose the batchable variant. And<what>=reflect|spirv,<version>|glsl,<version>|...β¨-r,--replace <what>β switches to replace mode. Replaces the specified shader inside the shader pack with the contents of a file. This argument can be specified multiple times. Pass-bto choose the batchable variant. It also supports adding a shader for a target/variant that wasn't present before. Format:<what>=<target>,<filename>where<target>=spirv,<version>|glsl,<version>|...π₯-e,--erase <what>β switches to erase mode. Removes the specified shader from the shader pack. Pass-bto choose the batchable variant.<what>=spirv,<version>|glsl,<version>|...π-s,--silentβ enables silent mode. Only fatal errors get printed. Quiet luxury, no cap π€«--mediumpβ default to medium precision for floats in fragment shaders instead of high. GLSL ES only; it's ignored for everything else, including GLSL π--depfile <depfile>β enables generating the depfile for the input shaders, using the#includestatements π§
π Arguments π
fileβ the Vulkan GLSL source file to compile. The file extension determines the shader stage, and it can be one of.vert,.tesc,.tese,.geom,.frag,.compβ
Ok important notes, bestie, read this part: - Tessellation control/evaluation is not supported with HLSL β instead, use-rto inject handcrafted hull/domain shaders. - Some targets may need special arguments to be set. For example, MSL tessellation will likely need--msltess,--tess-vertex-count,--tess-mode, depending on the stage. - Geometry shaders are not supported with Metal. Periodt.
π Sign-off π
That's the whole page, you ate it π This is pyside6-qsb version 6.11, dated September 2026, and the manual name up top was PYSIDE6-QSB(1) from the PySide6 tools set. Go bake something iconic ππ«Ά
π¦ where this page comes from
- ubuntu stonking: pyside6-tools 6.11.2-1build1 Β· GPL-3-EXCEPT OR LGPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms