структура 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
Открытый дескриптор выделения, на который ссылается (т. е. дескриптор, возвращаемый драйвером в hDeviceSpecificAllocation член структуры DXGK_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 указывает, где выделение было последней страницы в. Этот элемент равен нулю, если нет сведений о предварительном исправлении.
Поддерживается начиная с Windows 10.
[in/out] VirtualAddress
Тип данных D3DGPU_VIRTUAL_ADDRESS (который определяется как ULONGLONG), указывающий виртуальный адрес.
Поддерживается начиная с Windows 10.
Замечания
В функции драйвера минипорта в DxgkDdiRender драйвер создает список структур DXGK_ALLOCATIONLIST для спецификаций выделения, которые будут использоваться в буфере прямого доступа к памяти (DMA). Диспетчер памяти видео использует список для разделения и исправления буферов DMA соответствующим образом.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista |
заголовка | d3dkmddi.h (include D3dkmddi.h) |