Updates for IddCx versions 1.8 and later

This page describes the changes made in IddCx 1.8. A single indirect display driver (IDD) binary built against IddCx 1.8 can run on Windows 10, version 1803 and above using runtime checks to verify whether DDI changes in IddCx 1.8 are available on that system. See Building a WDF driver for multiple versions of Windows for more info.

Updated IddCxGetVersion version

The IddCx version returned by IddCxGetVersion on Windows 11 was updated to IDDCX_VERSION_COBALT (0x1800).

IDDCX_ADAPTER_FLAGS_PREFER_PRECISE_PRESENT_REGIONS flag was added

The IDDCX_ADAPTER_FLAGS_PREFER_PRECISE_PRESENT_REGIONS adapter flag was added to IDDCX_ADAPTER_FLAGS. A driver that sets this flag is requesting the OS to track dirty regions of the desktop updates more accurately. This more accurate tracking will have a small CPU usage overhead so drivers should only set this flag if smaller dirty regions will be beneficial to the driver.

Defining logical operators for IddCx flags

The WDK's DEFINE_ENUM_FLAG_OPERATORS macro defines operator overloads to enable bit operations on enum values that are used to define flags. Starting in IddCx 1.8, Iddcx.h use this macro to define flag operators for the following enums:

If the source code for an Indirect Display driver already defines operators for these enums then it might encounter build breaks using the new header file. In that case the driver-defined versions should be removed so the IddCx.h versions can be used.