Skip to content
Snippets Groups Projects

qt: provide newest versions of the shaders alongside old versions

Open Fatih Uzunoğlu requested to merge fuzun/vlc:qt/providelatestversionforshaders into master

We should not refrain ourselves from the performance improvements of the newer versions just because the old versions work fine. We can provide newer versions alongside old versions, Qt tries to use the newest version first.

I expect the size impact to be negligible, considering that qsb files are compressed.

RHI for D3D12 is able to compile HLSL 6 at runtime using dxcompiler, similar to D3D11 using d3dcompiler. It is not necessary to make dxc tool present, as the compilation result appears to be cached anyway.

Presence of dxcapi.h that is part of DirectX shader compiler is required for runtime compilation to work. However, recent versions of MinGW already provides it. And if older MinGW is used, then it should simply fallback using the HLSL 5.0 shader provided alongside HLSL 6.7 as proposed here.

I wanted to use MSL 3.2, but Qt does not seem to try versions higher than 3.0 at the moment.

If you are wondering why we originally picked these old versions first, that's because Qt 6.2's qsb does not support "qt6" option, and qsb used these when it supports the "qt6" option.

Request review @chub.

Merge request reports

Members who can merge are allowed to add commits.

Merge request pipeline #562699 passed

Merge request pipeline passed for d5ec4410

Test coverage 17.69% (-0.74%) from 1 job
Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Loading