From 9fac4b9f5f37369130bca4210e244bebb141cf32 Mon Sep 17 00:00:00 2001 From: Ozkan Sezer Date: Mon, 14 Oct 2024 14:50:00 +0300 Subject: [PATCH] SDL_windowsmodes.c: Fix MSVC builds against SDKs older than 10.0.17134.0 workaround the missing DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL enum value and DISPLAYCONFIG_SDR_WHITE_LEVEL struct. Fixes: https://github.com/libsdl-org/SDL/issues/11193 Closes: https://github.com/libsdl-org/SDL/pull/11205 --- src/video/windows/SDL_windowsmodes.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/video/windows/SDL_windowsmodes.c b/src/video/windows/SDL_windowsmodes.c index 221db107a3..afa4683044 100644 --- a/src/video/windows/SDL_windowsmodes.c +++ b/src/video/windows/SDL_windowsmodes.c @@ -513,7 +513,12 @@ static float WIN_GetSDRWhitePoint(SDL_VideoDevice *_this, HMONITOR hMonitor) float SDR_white_level = 1.0f; if (WIN_GetMonitorPathInfo(videodata, hMonitor, &path_info)) { - DISPLAYCONFIG_SDR_WHITE_LEVEL white_level; + /* workarounds for https://github.com/libsdl-org/SDL/issues/11193 */ + struct SDL_DISPLAYCONFIG_SDR_WHITE_LEVEL { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + ULONG SDRWhiteLevel; + } white_level; + #define DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL 11 SDL_zero(white_level); white_level.header.type = DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL;