From 66ea2e2c9ed4e9257521e6706fbd21feb7e3cc5b Mon Sep 17 00:00:00 2001 From: UjinT34 <41110182+UjinT34@users.noreply.github.com> Date: Thu, 16 Apr 2026 21:19:25 +0300 Subject: renderer: Various CM fixes, part 8 of refactors (#13860) Part 8 of Ujin's refactors. --- src/config/legacy/ConfigManager.cpp | 5 +++-- src/config/supplementary/ConfigDescriptions.hpp | 27 +++++++++++++++---------- 2 files changed, 19 insertions(+), 13 deletions(-) (limited to 'src/config') diff --git a/src/config/legacy/ConfigManager.cpp b/src/config/legacy/ConfigManager.cpp index c2bdeeae..33667e35 100644 --- a/src/config/legacy/ConfigManager.cpp +++ b/src/config/legacy/ConfigManager.cpp @@ -596,6 +596,7 @@ CConfigManager::CConfigManager() { registerConfigVar("debug:ds_handle_same_buffer_fifo", Hyprlang::INT{1}); registerConfigVar("debug:fifo_pending_workaround", Hyprlang::INT{0}); registerConfigVar("debug:render_solitary_wo_damage", Hyprlang::INT{0}); + registerConfigVar("debug:invalidate_fp16", Hyprlang::INT{2}); registerConfigVar("decoration:rounding", Hyprlang::INT{0}); registerConfigVar("decoration:rounding_power", {2.F}); @@ -813,12 +814,12 @@ CConfigManager::CConfigManager() { registerConfigVar("render:expand_undersized_textures", Hyprlang::INT{1}); registerConfigVar("render:xp_mode", Hyprlang::INT{0}); registerConfigVar("render:ctm_animation", Hyprlang::INT{2}); - registerConfigVar("render:cm_fs_passthrough", Hyprlang::INT{2}); registerConfigVar("render:cm_enabled", Hyprlang::INT{1}); registerConfigVar("render:send_content_type", Hyprlang::INT{1}); registerConfigVar("render:cm_auto_hdr", Hyprlang::INT{1}); registerConfigVar("render:new_render_scheduling", Hyprlang::INT{0}); - registerConfigVar("render:non_shader_cm", Hyprlang::INT{3}); + registerConfigVar("render:non_shader_cm", Hyprlang::INT{2}); + registerConfigVar("render:non_shader_cm_interop", Hyprlang::INT{2}); registerConfigVar("render:cm_sdr_eotf", {"default"}); registerConfigVar("render:commit_timing_enabled", Hyprlang::INT{1}); registerConfigVar("render:icc_vcgt_enabled", Hyprlang::INT{1}); diff --git a/src/config/supplementary/ConfigDescriptions.hpp b/src/config/supplementary/ConfigDescriptions.hpp index f02dac0a..c217c044 100644 --- a/src/config/supplementary/ConfigDescriptions.hpp +++ b/src/config/supplementary/ConfigDescriptions.hpp @@ -1638,12 +1638,6 @@ namespace Config::Supplementary { .type = CONFIG_OPTION_INT, .data = SConfigOptionDescription::SRangeData{2, 0, 2}, }, - SConfigOptionDescription{ - .value = "render:cm_fs_passthrough", - .description = "Passthrough color settings for fullscreen apps when possible", - .type = CONFIG_OPTION_INT, - .data = SConfigOptionDescription::SRangeData{.value = 2, .min = 0, .max = 2}, - }, SConfigOptionDescription{ .value = "render:cm_enabled", .description = "Enable Color Management pipelines (requires restart to fully take effect)", @@ -1657,11 +1651,10 @@ namespace Config::Supplementary { .data = SConfigOptionDescription::SBoolData{true}, }, SConfigOptionDescription{ - .value = "render:cm_auto_hdr", - .description = - "Auto-switch to hdr mode when fullscreen app is in hdr, 0 - off, 1 - hdr, 2 - hdredid (cm_fs_passthrough can switch to hdr even when this setting is off)", - .type = CONFIG_OPTION_INT, - .data = SConfigOptionDescription::SRangeData{.value = 1, .min = 0, .max = 2}, + .value = "render:cm_auto_hdr", + .description = "Auto-switch to hdr mode when fullscreen app is in hdr, 0 - off, 1 - hdr, 2 - hdredid", + .type = CONFIG_OPTION_INT, + .data = SConfigOptionDescription::SRangeData{.value = 1, .min = 0, .max = 2}, }, SConfigOptionDescription{ .value = "render:new_render_scheduling", @@ -1675,6 +1668,12 @@ namespace Config::Supplementary { .type = CONFIG_OPTION_CHOICE, .data = SConfigOptionDescription::SChoiceData{0, "disable,always,ondemand,ignore"}, }, + SConfigOptionDescription{ + .value = "render:non_shader_cm_interop", + .description = "non_shader_cm interaction with ctm proto (hyprsunset and similar). 0 - disable, 1 - enable, 2 - auto (enabled for unknown content type)", + .type = CONFIG_OPTION_CHOICE, + .data = SConfigOptionDescription::SRangeData{.value = 2, .min = 0, .max = 2}, + }, SConfigOptionDescription{ .value = "render:cm_sdr_eotf", .description = @@ -2009,6 +2008,12 @@ namespace Config::Supplementary { .type = CONFIG_OPTION_BOOL, .data = SConfigOptionDescription::SBoolData{false}, }, + SConfigOptionDescription{ + .value = "debug:invalidate_fp16", + .description = "Allow fp16 buffer invalidation. 0 - disable, 1 - enabled, 2 - disable on nvidia", + .type = CONFIG_OPTION_INT, + .data = SConfigOptionDescription::SRangeData{.value = 2, .min = 0, .max = 2}, + }, /* * layout: -- cgit v1.2.3