// d3dkmddi.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
The DXGK_SEGMENTDESCRIPTOR4 structure describes a programmable CPU host aperture.
FlagsSegment bit field flags
BaseAddressThe physical base address for the segment in the GPU.
SizeThe size of the segment in bytes.
CommitLimitThe maximum number of bytes that can be committed to this segment. This value applies to the aperture segment only.
SystemMemoryEndAddressFor segments that are partially composed of system memory, all allocations ending after this address are purged during hibernate.
CpuTranslatedAddressIf Flags.SupportsCpuHostAperture==FALSE and the segment is CPU visible, this will be the CPU physical base address of the segment.
CpuHostApertureIf Flags.SupportsCpuHostAperture==TRUE, this will have the CPU address and size of the CPUHostAperture.
NumInvalidMemoryRangesThe 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.
VprRangeStartOffsetStart offset of the video protected region range, in bytes.
VprRangeSizeSize of the video protected region range, in bytes.
VprAlignmentAlignment of the video protected region range, in bytes. This value applies to both the size and start offset of the video protected region range.
NumVprSupportedNumber of supported video protected ranges in the VPR range. A value of zero indicates support for an infinite number.
VprReserveSizeSize 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.
NumUEFIFrameBufferRangesNumber of UEFI frame buffer ranges in the segment. Supported starting in WDDM 2.2.
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.