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.

Note  This 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

VprRangeSize

VprAlignment

NumVprSupported

VprReserveSize

NumUEFIFrameBufferRanges

Requirements

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