[idd] hdr: fix incorrect struct usage

This commit is contained in:
Geoffrey McRae
2026-07-16 03:43:45 +10:00
committed by Geoffrey McRae
parent a32ba63c90
commit 9047c26694
3 changed files with 15 additions and 17 deletions

View File

@@ -1019,7 +1019,7 @@ void CIndirectDeviceContext::SendCursor(const IDARG_OUT_QUERY_HWCURSOR& info, co
} }
#ifdef HAS_IDDCX_110 #ifdef HAS_IDDCX_110
void CIndirectDeviceContext::SetHDRActive(const struct IDDCX_HDR_METADATA * hdrMeta) void CIndirectDeviceContext::SetHDRActive(const struct IDDCX_HDR10_METADATA * hdrMeta)
{ {
AcquireSRWLockExclusive(&m_hdrLock); AcquireSRWLockExclusive(&m_hdrLock);
@@ -1030,23 +1030,21 @@ void CIndirectDeviceContext::SetHDRActive(const struct IDDCX_HDR_METADATA * hdrM
return; return;
} }
auto& hdr10 = hdrMeta->Hdr10;
m_hdrActive = true; m_hdrActive = true;
m_hdrDisplayPrimary[0][0] = hdr10.RedPrimary [0]; m_hdrDisplayPrimary[0][0] = hdrMeta->RedPrimary [0];
m_hdrDisplayPrimary[0][1] = hdr10.RedPrimary [1]; m_hdrDisplayPrimary[0][1] = hdrMeta->RedPrimary [1];
m_hdrDisplayPrimary[1][0] = hdr10.GreenPrimary[0]; m_hdrDisplayPrimary[1][0] = hdrMeta->GreenPrimary[0];
m_hdrDisplayPrimary[1][1] = hdr10.GreenPrimary[1]; m_hdrDisplayPrimary[1][1] = hdrMeta->GreenPrimary[1];
m_hdrDisplayPrimary[2][0] = hdr10.BluePrimary [0]; m_hdrDisplayPrimary[2][0] = hdrMeta->BluePrimary [0];
m_hdrDisplayPrimary[2][1] = hdr10.BluePrimary [1]; m_hdrDisplayPrimary[2][1] = hdrMeta->BluePrimary [1];
m_hdrWhitePoint [0] = hdr10.WhitePoint [0]; m_hdrWhitePoint [0] = hdrMeta->WhitePoint [0];
m_hdrWhitePoint [1] = hdr10.WhitePoint [1]; m_hdrWhitePoint [1] = hdrMeta->WhitePoint [1];
m_hdrMaxDisplayLuminance = hdr10.MaxMasteringLuminance; m_hdrMaxDisplayLuminance = hdrMeta->MaxMasteringLuminance;
m_hdrMinDisplayLuminance = hdr10.MinMasteringLuminance; m_hdrMinDisplayLuminance = hdrMeta->MinMasteringLuminance;
m_hdrMaxContentLightLevel = hdr10.MaxContentLightLevel; m_hdrMaxContentLightLevel = hdrMeta->MaxContentLightLevel;
m_hdrMaxFrameAverageLightLevel = hdr10.MaxFrameAverageLightLevel; m_hdrMaxFrameAverageLightLevel = hdrMeta->MaxFrameAverageLightLevel;
ReleaseSRWLockExclusive(&m_hdrLock); ReleaseSRWLockExclusive(&m_hdrLock);
} }

View File

@@ -186,7 +186,7 @@ public:
void SendCursor(const IDARG_OUT_QUERY_HWCURSOR & info, const BYTE * data); void SendCursor(const IDARG_OUT_QUERY_HWCURSOR & info, const BYTE * data);
// Tracks HDR state from EvtIddCxMonitorSetDefaultHdrMetadata // Tracks HDR state from EvtIddCxMonitorSetDefaultHdrMetadata
void SetHDRActive(const struct IDDCX_HDR_METADATA * hdrMeta); void SetHDRActive(const struct IDDCX_HDR10_METADATA * hdrMeta);
// Returns true if the display is currently in HDR mode // Returns true if the display is currently in HDR mode
bool IsHDRActive() const bool IsHDRActive() const

View File

@@ -166,7 +166,7 @@ NTSTATUS LGIddMonitorSetDefaultHdrMetadata(IDDCX_MONITOR monitor,
auto* wrapper = WdfObjectGet_CIndirectMonitorContextWrapper(monitor); auto* wrapper = WdfObjectGet_CIndirectMonitorContextWrapper(monitor);
auto* ctx = wrapper->context->GetDeviceContext(); auto* ctx = wrapper->context->GetDeviceContext();
ctx->SetHDRActive(inArgs->pHdrMetaData); ctx->SetHDRActive(inArgs->Data.pHdr10);
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }