DXGK_SEGMENTDESCRIPTOR4 structure (d3dkmddi.h)

The DXGK_SEGMENTDESCRIPTOR4 structure describes a programmable CPU host aperture.

Syntax

typedef struct _DXGK_SEGMENTDESCRIPTOR4 {
  DXGK_SEGMENTFLAGS Flags;
  PHYSICAL_ADDRESS  BaseAddress;
  SIZE_T            Size;
  SIZE_T            CommitLimit;
  SIZE_T            SystemMemoryEndAddress;
  union {
    PHYSICAL_ADDRESS     CpuTranslatedAddress;
    DXGK_CPUHOSTAPERTURE CpuHostAperture;
  };
  UINT              NumInvalidMemoryRanges;
  SIZE_T            VprRangeStartOffset;
  SIZE_T            VprRangeSize;
  UINT              VprAlignment;
  UINT              NumVprSupported;
  UINT              VprReserveSize;
  UINT              NumUEFIFrameBufferRanges;
} DXGK_SEGMENTDESCRIPTOR4;

Members

Flags

Segment bit field flags

BaseAddress

The physical base address for the segment in the GPU.

Size

The size of the segment in bytes.

CommitLimit

The maximum number of bytes that can be committed to this segment. This value applies to the aperture segment only.

SystemMemoryEndAddress

For segments that are partially composed of system memory, all allocations ending after this address are purged during hibernate.

CpuTranslatedAddress

If Flags.SupportsCpuHostAperture==FALSE and the segment is CPU visible, this will be the CPU physical base address of the segment.

CpuHostAperture

If Flags.SupportsCpuHostAperture==TRUE, this will have the CPU address and size of the CPUHostAperture.

NumInvalidMemoryRanges

The number of invalid memory ranges in the segment. If this value is not zero, the kernel mode driver will be called with DdiQueryAdapterInfo(DXGKQAITYPE_SEGMENTMEMORYSTATE) to get information about invalid memory ranges.

VprRangeStartOffset

Start offset of the video protected region range, in bytes.

VprRangeSize

Size of the video protected region range, in bytes.

VprAlignment

Alignment of the video protected region range, in bytes. This value applies to both the size and start offset of the video protected region range.

NumVprSupported

Number of supported video protected ranges in the VPR range. A value of zero indicates support for an infinite number.

VprReserveSize

Size of the area in the VPR range that is reserved for the driver/hardware to use, in bytes. A value of zero indicates no reserve.

NumUEFIFrameBufferRanges

Number of UEFI frame buffer ranges in the segment. Supported starting in WDDM 2.2.

Remarks

This structure is used by a WDDM 2.0 or later kernel-mode display miniport drivers to return information about memory segments in response to a DxgkDdiQueryAdapterInfo function call in which the graphics subsystem specifies the DXGKQAITYPE_QUERYSEGMENT4 value in the Type member of the DXGKARG_QUERYADAPTERINFO structure.

This structure is pointed to by the pSegmentDescriptor member of the DXGK_QUERYSEGMENTOUT4 structure.

Requirements

Requirement Value
Minimum supported client Windows 10 (WDDM 2.0)
Minimum supported server Windows Server 2016
Header d3dkmddi.h (include D3dkmddi.h)

See also

DXGK_QUERYSEGMENTOUT4

DXGKARG_QUERYADAPTERINFO

DxgkDdiQueryAdapterInfo