Поделиться через


Задание размера и тона выделения памяти

Минипорт-драйвер дисплея, поддерживающий аппаратное ускорение GDI, должен задать размер и шаг выделения системной или видеопамяты при обработке следующих вызовов выделения.

DxgkDdiCreateAllocation
Когда драйвер обрабатывает вызов dxgkDdiCreateAllocation, он должен задать размер (в байтах) выделения памяти системы или видео. Размер выделения задается через элемент pCreateAllocation- >pAllocationInfo-Size.> Если выделение отображается ЦП, размер должен содержать значение шага, которое является шириной поверхности, включая заполнение, в байтах.

Выделения видны ЦП, если для элемента pGetStandardAllocationDriverData>-pCreateGdiSurfaceData-Type> задано значение D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE или D3DKMDT_GDISURFACE_EXISTINGSYSMEM. Свойства этих типов поверхностей см. в описании D3DKMDT_GDISURFACETYPE.

DxgkDdiGetStandardAllocationDriverData
Когда драйвер обрабатывает вызов dxgkDdiGetStandardAllocationDriverData для выделения, видимого ЦП, он должен:

  1. Задайте для элемента pGetStandardAllocationDriverData->StandardAllocationType значение D3DKMDT_STANDARDALLOCATION_GDISURFACE.

  2. Задайте описание поверхности, которую можно использовать для перенаправления с помощью аппаратного ускорения GDI и диспетчера windows для настольных компьютеров (DWM) через структуру D3DKMDT_GDISURFACEDATA, на которую указывает элемент pGetStandardAllocationDriverData pCreateGdiSurfaceData>-. Например, задайте шаг выделения через элемент " Шаг" D3DKMDT_GDISURFACEDATA.