Implement GX2SetTVGamma and GX2SetDRCGamma #1682
Draft
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.
Small caveat: Breaks output shader graphic pack compatibility (although they are probably uncommon)
I would like some feedback on the configuration UI (should we copy dolphin and make it a separate window?)
The override checkbox disables gamma adjustments requested by the application.
Gamma is the output gamma to target.
Display Gamma is the response curve of the user's display. I also added an option to simulate a pure gamma curve on a compliant sRGB screen but since sRGB is significantly brighter in the 0-10 range it results in crush and banding. I thought about implementing dither but those algorithms are not very well-suited for fragment shaders and I don't want to process it on the CPU. I thought about trying it with a compute shader but that might still be complicated
Maybe it should be configurable separately for the gamepad and TV window? since they might be put on separate displays? Should these be configurable with game profiles?

Dolphin for reference:
