DXGK_COLORIMETRY structure (d3dkmddi.h)

Describes colorimetry and closely related fields used to describe overrides from the descriptor retrieved from the display device.

Syntax

typedef struct _DXGK_COLORIMETRY {
  D3DKMDT_2DOFFSET                   RedPoint;
  D3DKMDT_2DOFFSET                   GreenPoint;
  D3DKMDT_2DOFFSET                   BluePoint;
  D3DKMDT_2DOFFSET                   WhitePoint;
  ULONG                              MinLuminance;
  ULONG                              MaxLuminance;
  ULONG                              MaxFullFrameLuminance;
  D3DKMDT_WIRE_FORMAT_AND_PREFERENCE FormatBitDepths;
  DXGK_STANDARD_COLORIMETRY_FLAGS    StandardColorimetryFlags;
} DXGK_COLORIMETRY, *PDXGK_COLORIMETRY;

Members

RedPoint

Override for display red point. Note, each dimension is a 10-bit value stored in the least significant bits. Zero indicates no override.

GreenPoint

Override for display green point. Note, each dimension is a 10-bit value stored in the least significant bits.

BluePoint

Override for display blue point. Note, each dimension is a 10-bit value stored in the least significant bits.

WhitePoint

Override for display white point. Note, each dimension is a 10-bit value stored in the least significant bits.

MinLuminance

Override for the minimum luminance value supported by the display measured in one ten thousandth of a nit. Only valid if MaxLuminance is non-zero. Zero is a valid value.

MaxLuminance

Override for the maximum luminance value supported by the display measured in one ten thousandth of a nit. This luminance level is expected to be supported for only a relatively small area in any given frame.
Zero indicates no override of MaxLuminance, MaxFullFrameLuminance or MinLuminance.

MaxFullFrameLuminance

Override for the max full frame luminance value supported by the display measured in one ten thousandth of a nit. This luminance level must be supported across every pixel in the frame simultaneously in order to provide an estimate of the average luminance value which can be supported by the display across a frame. Only valid if MaxLuminance is non-zero. Zero is not a valid override.

FormatBitDepths

Overrides the supported bits per color channel in each of the five color encodings specified for wire-formats. At least one bit must be set, excluding the Preference field which is reserved and must be zero.

StandardColorimetryFlags

Indicates support for specific colorimetry and EOTF capabilities using bit-fields.

Remarks

This struct is used both for querying overrides from the driver, and for the OS reporting the final set of values it has selected. Overrides are supported for integrated displays using this structure which is embedded within the DXGK_QUERYINTEGRATEDDISPLAYOUT struct and for external displays where this struct is used as the output buffer is for an adapter query type DXGKQAITYPE_QUERYCOLORIMETRYOVERRIDES. The selected and adjusted overrides are reported back to the driver using DxgkDdiSetTargetAdjustedColorimetry.

When querying overrides, the OS requires that either all fields are filled by the driver or the buffer is left zeroed to avoid the complexity of attempting to merge these inter-related attributes from different sources. If the struct is not completely zeroed, the OS validates that fields which must not be zero as noted above, are not zero.

The color points are further validated beyond a simple sanity check (each value must be between 1 and 1023) to ensure reasonable values by comparing the coordinates of each point to the standard points and ensuring that none is too far away from the standard.

When the OS calls DxgkDdiSetTargetAdjustedColorimetry, the FormatBitDepths and StandardColorimetryFlags are zeroed as these are capability fields so only valid in queries.

Requirements

Requirement Value
Header d3dkmddi.h