структура DXGK_ALLOCATIONLIST (d3dkmddi.h)
Структура DXGK_ALLOCATIONLIST описывает спецификацию выделения, которая используется для буферизации прямого доступа к памяти (DMA).
Синтаксис
typedef struct _DXGK_ALLOCATIONLIST
{
HANDLE hDeviceSpecificAllocation;
struct
{
UINT WriteOperation : 1; // 0x00000001
UINT SegmentId : 5; // 0x0000002E
UINT Reserved : 26; // 0xFFFFFFC0
};
#if (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM2_0)
union
{
PHYSICAL_ADDRESS PhysicalAddress;
D3DGPU_VIRTUAL_ADDRESS VirtualAddress;
};
#else // (DXGKDDI_INTERFACE_VERSION < DXGKDDI_INTERFACE_VERSION_WDDM2_0)
PHYSICAL_ADDRESS PhysicalAddress;
#endif // (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM2_0)
} DXGK_ALLOCATIONLIST;
Члены
[in/out] hDeviceSpecificAllocation
Открытый дескриптор выделения, на который ссылается ссылка (т. е. дескриптор, возвращенный драйвером в элементе hDeviceSpecificAllocationDXGK_OPENALLOCATIONINFO структуры для выделения в вызове функции DxgkDdiOpenAllocation драйвера).
[in/out] WriteOperation
Определяет, можно ли записать выделение. Если задать для этого элемента значение 1, выделение может быть записано в любом месте буфера DMA. Задание этого элемента эквивалентно установке первого бита 32-разрядного значения (0x00000001).
[in/out] SegmentId
Указывает идентификатор сегмента, в котором выделено последнее выделение. Установка для этого элемента значения 0 означает, что сведения о предварительном исправлении недоступны. Задание этого элемента эквивалентно установке второго-шестого бита 32-разрядного значения (0x0000002E).
[in] Reserved
Зарезервировано. Для этого элемента должно быть задано значение 0. Установка этого элемента эквивалентна установке оставшихся 26 бит (0xFFFFFFC0) 32-разрядного значения нулями.
[in/out] PhysicalAddress
PHYSICAL_ADDRESS тип данных (который определяется как LARGE_INTEGER), указывающий физический адрес в сегменте, указанном SegmentId, где выделено последнее выделение. Этот элемент имеет значение 0, если нет сведений о предварительном исправлении.
Поддерживается начиная с Windows 10.
[in/out] VirtualAddress
D3DGPU_VIRTUAL_ADDRESS тип данных (определяемый как ULONGLONG), указывающий виртуальный адрес.
Поддерживается начиная с Windows 10.
Комментарии
В функции DxgkDdiRender драйвера мини-порта дисплея драйвер создает список DXGK_ALLOCATIONLIST структур для спецификаций распределения, которые будут использоваться в буфере прямого доступа к памяти (DMA). Диспетчер видеопамятки использует список для правильного разделения и исправления буферов DMA.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Верхняя часть | d3dkmddi.h (включая D3dkmddi.h) |