Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shaders: require profile level 9.3 only when is needed (ACES, Hable or HLG to PQ) #18977

Merged
merged 1 commit into from
Dec 26, 2020

Conversation

thexai
Copy link
Member

@thexai thexai commented Dec 23, 2020

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 to ps_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?

  1. Tested on present system (DX 12.1 capable) running profile level 9.1 (1080p) and profile level 9.3 (Hable tone mapping).

  2. 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

  • Bug fix (non-breaking change which fixes an issue)
  • Clean up (non-breaking change which removes non-working, unmaintained functionality)
  • Improvement (non-breaking change which improves existing functionality)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that will cause existing functionality to change)
  • Cosmetic change (non-breaking change that doesn't touch code)
  • None of the above (please explain below)

Checklist:

  • My code follows the Code Guidelines of this project
  • My change requires a change to the documentation, either Doxygen or wiki
  • I have updated the documentation accordingly
  • I have read the Contributing document
  • I have added tests to cover my change
  • All new and existing tests passed

@thexai thexai changed the title Shaders: only requires profile level 9.3 when is needed (ACES, Hable or HLG to PQ) Shaders: require profile level 9.3 only when is needed (ACES, Hable or HLG to PQ) Dec 23, 2020
@enen92 enen92 requested a review from afedchin December 26, 2020 17:58
@enen92 enen92 added Component: DirectX rendering Platform: Windows Type: Improvement non-breaking change which improves existing functionality v19 Matrix labels Dec 26, 2020
@enen92 enen92 added this to the Matrix 19.0-RC1 milestone Dec 26, 2020
@enen92 enen92 added the Type: Fix non-breaking change which fixes an issue label Dec 26, 2020
@enen92 enen92 merged commit a11f67a into xbmc:master Dec 26, 2020
@thexai thexai deleted the shaders-fix branch December 26, 2020 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: DirectX rendering Platform: Windows Type: Fix non-breaking change which fixes an issue Type: Improvement non-breaking change which improves existing functionality v19 Matrix
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants