mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-30 17:49:48 -06:00
Merge pull request #11850 from Filoppi/post_process_fixes
Video: implement color correction to match the Wii/GC NTSC/PAL color spaces (and gamma)
This commit is contained in:
@ -128,6 +128,22 @@ const Info<bool> GFX_ENHANCE_ARBITRARY_MIPMAP_DETECTION{
|
||||
{System::GFX, "Enhancements", "ArbitraryMipmapDetection"}, true};
|
||||
const Info<float> GFX_ENHANCE_ARBITRARY_MIPMAP_DETECTION_THRESHOLD{
|
||||
{System::GFX, "Enhancements", "ArbitraryMipmapDetectionThreshold"}, 14.0f};
|
||||
const Info<bool> GFX_ENHANCE_HDR_OUTPUT{{System::GFX, "Enhancements", "HDROutput"}, false};
|
||||
|
||||
// Color.Correction
|
||||
|
||||
const Info<bool> GFX_CC_CORRECT_COLOR_SPACE{{System::GFX, "ColorCorrection", "CorrectColorSpace"},
|
||||
false};
|
||||
const Info<ColorCorrectionRegion> GFX_CC_GAME_COLOR_SPACE{
|
||||
{System::GFX, "ColorCorrection", "GameColorSpace"}, ColorCorrectionRegion::SMPTE_NTSCM};
|
||||
const Info<bool> GFX_CC_CORRECT_GAMMA{{System::GFX, "ColorCorrection", "CorrectGamma"}, false};
|
||||
const Info<float> GFX_CC_GAME_GAMMA{{System::GFX, "ColorCorrection", "GameGamma"}, 2.35f};
|
||||
const Info<bool> GFX_CC_SDR_DISPLAY_GAMMA_SRGB{
|
||||
{System::GFX, "ColorCorrection", "SDRDisplayGammaSRGB"}, true};
|
||||
const Info<float> GFX_CC_SDR_DISPLAY_CUSTOM_GAMMA{
|
||||
{System::GFX, "ColorCorrection", "SDRDisplayCustomGamma"}, 2.2f};
|
||||
const Info<float> GFX_CC_HDR_PAPER_WHITE_NITS{{System::GFX, "ColorCorrection", "HDRPaperWhiteNits"},
|
||||
200.f};
|
||||
|
||||
// Graphics.Stereoscopy
|
||||
|
||||
|
@ -11,6 +11,7 @@ enum class AspectMode : int;
|
||||
enum class ShaderCompilationMode : int;
|
||||
enum class StereoMode : int;
|
||||
enum class TextureFilteringMode : int;
|
||||
enum class ColorCorrectionRegion : int;
|
||||
enum class TriState : int;
|
||||
|
||||
namespace Config
|
||||
@ -105,6 +106,26 @@ extern const Info<bool> GFX_ENHANCE_FORCE_TRUE_COLOR;
|
||||
extern const Info<bool> GFX_ENHANCE_DISABLE_COPY_FILTER;
|
||||
extern const Info<bool> GFX_ENHANCE_ARBITRARY_MIPMAP_DETECTION;
|
||||
extern const Info<float> GFX_ENHANCE_ARBITRARY_MIPMAP_DETECTION_THRESHOLD;
|
||||
extern const Info<bool> GFX_ENHANCE_HDR_OUTPUT;
|
||||
|
||||
// Color.Correction
|
||||
|
||||
static constexpr float GFX_CC_GAME_GAMMA_MIN = 2.2f;
|
||||
static constexpr float GFX_CC_GAME_GAMMA_MAX = 2.8f;
|
||||
|
||||
static constexpr float GFX_CC_DISPLAY_GAMMA_MIN = 2.2f;
|
||||
static constexpr float GFX_CC_DISPLAY_GAMMA_MAX = 2.4f;
|
||||
|
||||
static constexpr float GFX_CC_HDR_PAPER_WHITE_NITS_MIN = 80.f;
|
||||
static constexpr float GFX_CC_HDR_PAPER_WHITE_NITS_MAX = 400.f;
|
||||
|
||||
extern const Info<bool> GFX_CC_CORRECT_COLOR_SPACE;
|
||||
extern const Info<ColorCorrectionRegion> GFX_CC_GAME_COLOR_SPACE;
|
||||
extern const Info<bool> GFX_CC_CORRECT_GAMMA;
|
||||
extern const Info<float> GFX_CC_GAME_GAMMA;
|
||||
extern const Info<bool> GFX_CC_SDR_DISPLAY_GAMMA_SRGB;
|
||||
extern const Info<float> GFX_CC_SDR_DISPLAY_CUSTOM_GAMMA;
|
||||
extern const Info<float> GFX_CC_HDR_PAPER_WHITE_NITS;
|
||||
|
||||
// Graphics.Stereoscopy
|
||||
|
||||
|
@ -380,6 +380,7 @@ void DolphinAnalytics::MakePerGameBuilder()
|
||||
builder.AddData("cfg-gfx-internal-resolution", g_Config.iEFBScale);
|
||||
builder.AddData("cfg-gfx-tc-samples", g_Config.iSafeTextureCache_ColorSamples);
|
||||
builder.AddData("cfg-gfx-stereo-mode", static_cast<int>(g_Config.stereo_mode));
|
||||
builder.AddData("cfg-gfx-hdr", static_cast<int>(g_Config.bHDR));
|
||||
builder.AddData("cfg-gfx-per-pixel-lighting", g_Config.bEnablePixelLighting);
|
||||
builder.AddData("cfg-gfx-shader-compilation-mode", GetShaderCompilationMode(g_Config));
|
||||
builder.AddData("cfg-gfx-wait-for-shaders", g_Config.bWaitForShadersBeforeStarting);
|
||||
|
Reference in New Issue
Block a user