Monitor-default HDR metadata describes the virtual display rather than
the captured content. Do not expose it through KVMFR or use it to select
downstream processing limits.
Only publish explicit NEW frame metadata and otherwise use the complete
PQ range internally.
Honor the IddCx 3x4 XYZ matrix and post-transfer LUT in the IDD
conversion pipeline. Carry transform changes to the client so EGL applies
the same calibration to hardware cursors, and invalidate the full frame
whenever calibration changes.
Preserve the requested display mode across intermediate swap chains when
rapid resolution changes cause replugs to be coalesced. Apply and clear
the mode only once the final replacement swap chain is ready.
Keep the replug lifecycle gated until the old swap chain has drained and
released its pending frame, and the replacement swap chain is fully
initialized. Coalesce additional requests into a follow-up replug to
prevent overlapping topology changes and IddCx release-frame timeout
bugchecks.
While it would make much more sense to use these then a full replug to
change modes, Microsoft have not properly implemented the API to clear
the cached monitor mode states internally, making these calls useless.
Revert to just replugging the device on mode change
Custom modes can now be configured via the registry under
HKEY_LOCAL_MACHINE\SOFTWARE\LookingGlass\IDD
Create the value "Modes" as a REG_MULTI_SZ with the value as
a list of modes, for example:
1024x768@60
1920x1080@60
1920x1080@120*
The '*' denotes the preferred mode to default to if one has not
been selected by the user.