Shaders: require profile level 9.3 only when is needed (ACES, Hable or HLG to PQ) #18977
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Require profile level 9.3 only when is needed (ACES, Hable or HLG to PQ).
Fix crash playing any file on very old systems (or outdated drivers) that does not supports DX profile level 9.3
Motivation and Context
From dither fix (#18850) pixel shaders profile was increased from
ps_4_0_level_9_1
tops_4_0_level_9_3
. This breaks compatibility with older systems.See https://forum.kodi.tv/showthread.php?tid=359320
Now is restored compatibility in these systems when not using advanced tone map methods or HLG to PQ (which cannot be used in these obsolete systems anyway). Dither can run with 9.1 profile, only can not run dither + ACES or Hable or HLG to PQ.
How Has This Been Tested?
Tested on present system (DX 12.1 capable) running profile level 9.1 (1080p) and profile level 9.3 (Hable tone mapping).
Forum user has confirmed crash is fixed on DX 9.1 system https://forum.kodi.tv/showthread.php?tid=359320&pid=2997652#pid2997652
Screenshots (if appropriate):
Types of change
Checklist: