Skip to content

Commit ea15a2c

Browse files
committed
Log SDR white level alongside display info when HDR capture is enabled
1 parent cd97df9 commit ea15a2c

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

src/DesktopPlus/OutputManager.cpp

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2922,6 +2922,8 @@ int OutputManager::EnumerateOutputs(int target_desktop_id, Microsoft::WRL::ComPt
29222922
m_DesktopRectTotal = DPRect(); //Figure out right dimensions for full size desktop rect (this is also done in CreateTextures() but for Desktop Duplication only)
29232923
m_DesktopHDRWhiteLevelAdjustments.clear();
29242924

2925+
const bool is_hdr_in_use = ((m_OutputHDRAvailable) && (ConfigManager::GetValue(configid_bool_performance_hdr_mirroring)));
2926+
29252927
HRESULT hr = CreateDXGIFactory1(__uuidof(IDXGIFactory1), (void**)&factory_ptr);
29262928
if (!FAILED(hr))
29272929
{
@@ -2992,13 +2994,22 @@ int OutputManager::EnumerateOutputs(int target_desktop_id, Microsoft::WRL::ComPt
29922994

29932995
(m_DesktopRectTotal.GetWidth() == 0) ? m_DesktopRectTotal = m_DesktopRects.back() : m_DesktopRectTotal.Add(m_DesktopRects.back());
29942996

2995-
LOG_F(INFO, "Desktop %u: %4d,%4d | %4dx%4d (%s)", output_count + 1,
2996-
output_desc.DesktopCoordinates.left, output_desc.DesktopCoordinates.top,
2997-
output_desc.DesktopCoordinates.right - output_desc.DesktopCoordinates.left, output_desc.DesktopCoordinates.bottom - output_desc.DesktopCoordinates.top,
2998-
StringConvertFromUTF16(output_desc.DeviceName).c_str());
29992997

30002998
//Cache HDR white level adjustment
3001-
m_DesktopHDRWhiteLevelAdjustments.push_back(GetDesktopHDRWhiteLevelAdjustment(output_count, false, wmr_ignore_vscreens));
2999+
const float white_level_adjust = GetDesktopHDRWhiteLevelAdjustment(output_count, false, wmr_ignore_vscreens);
3000+
m_DesktopHDRWhiteLevelAdjustments.push_back(white_level_adjust);
3001+
3002+
//Log display info, with white level adjustment if HDR is actually on
3003+
LOG_IF_F(INFO, !is_hdr_in_use, "Desktop %u: %4d,%4d | %4dx%4d (%s)", output_count + 1,
3004+
output_desc.DesktopCoordinates.left, output_desc.DesktopCoordinates.top,
3005+
output_desc.DesktopCoordinates.right - output_desc.DesktopCoordinates.left, output_desc.DesktopCoordinates.bottom - output_desc.DesktopCoordinates.top,
3006+
StringConvertFromUTF16(output_desc.DeviceName).c_str());
3007+
3008+
LOG_IF_F(INFO, is_hdr_in_use, "Desktop %u: %4d,%4d | %4dx%4d (%s) | %.2fx SDR Brightness", output_count + 1,
3009+
output_desc.DesktopCoordinates.left, output_desc.DesktopCoordinates.top,
3010+
output_desc.DesktopCoordinates.right - output_desc.DesktopCoordinates.left, output_desc.DesktopCoordinates.bottom - output_desc.DesktopCoordinates.top,
3011+
StringConvertFromUTF16(output_desc.DeviceName).c_str(), 1.0f / white_level_adjust);
3012+
30023013

30033014
++output_count;
30043015
++output_index;

0 commit comments

Comments
 (0)