D3DKMDT_GDISURFACE_INVALID Драйвер не должен видеть это значение.
D3DKMDT_GDISURFACE_TEXTURE Указывает, что поверхность имеет следующие свойства:
Он имеет одноуровневую текстуру.
Он не отображается ЦП, а диспетчер памяти видео создаст его как общую поверхность.
Он открывается драйвером пользовательского режима и используется в качестве текстуры во время композиции DWM.
Он используется драйвером пользовательского режима в качестве целевого объекта отрисовки для отрисовки DirectX.
Он используется в качестве исходной или целевой поверхности в операциях с аппаратным ускорением GDI.
D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE Указывает, что поверхность имеет следующие свойства:
Он отображается ЦП и будет широко использоваться ЦП. Выделение должно быть линейным форматом и в сегменте диафрагмы gpu с поддержкой кэша.
Он используется в качестве исходной поверхности в операциях с аппаратным ускорением GDI.
Он используется в качестве целевой поверхности в операциях GDI bitblt (только для копирования).
Его шаг должен быть возвращен драйвером минипорта дисплея.
Его значение шага и адрес поверхности должны быть выровнены по значению AlignmentShift член структуры DXGK_PRESENTATIONCAPS (то есть DXGK_DRIVERCAPS->PresentationCaps.AlignmentShift).
D3DKMDT_GDISURFACE_STAGING Указывает, что поверхность имеет следующие свойства:
Он не отображается ЦП.
Он используется в качестве исходной или целевой поверхности в операциях с аппаратным ускорением GDI.
Он используется в качестве исходной или целевой поверхности в операциях GDI bitblt (только для копирования).
D3DKMDT_GDISURFACE_LOOKUPTABLE Указывает, что поверхность имеет следующие свойства:
Он не отображается ЦП.
Он используется только во время обработки команд, указанных ClearTypeBlend и OpCode. DXGK_GDIOP_BITBLT (только для копирования) членов структуры DXGK_RENDERKM_COMMAND.
Формат определяется значением D3DDDIFMT_A8 перечисления D3DDDIFORMAT.
Выделение гамма-подстановки создается один раз и никогда не изменяется после инициализации. Выделение инициализируется в формате D3DDDIFMT_A8 путем выдачи команды DXGK_RENDERKM_COMMAND—>Opcode.DXGK_GDIOP_BITBLT из области D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE.
D3DKMDT_GDISURFACE_EXISTINGSYSMEM Указывает, что поверхность имеет следующие свойства:
Он виден ЦП. Выделение должно быть линейным форматом и в сегменте диафрагмы gpu с поддержкой кэша.
Его значение шага и адрес поверхности должны быть выровнены по значению AlignmentShift член структуры DXGK_PRESENTATIONCAPS (то есть DXGK_DRIVERCAPS->PresentationCaps.AlignmentShift).
Адрес поверхности передается драйверу.
Это значение используется так же, как и значение D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE.
D3DKMDT_GDISURFACE_TEXTURE_CPUVISIBLE Зарезервировано для использования системы. Не используйте это значение в драйвере.
Поддерживается начиная с Windows 8.
D3DKMDT_GDISURFACE_TEXTURE_CROSSADAPTER Указывает, что поверхность имеет следующие свойства:
Он не отображается цП, а диспетчер памяти видео создаст его в качестве общей межадаптерной поверхности.
Его шаг должен быть возвращен драйвером минипорта дисплея в Pitch член структуры D3DKMDT_GDISURFACEDATA.
Шаг и высота должны иметь необходимое выравнивание для ресурса кросс-адаптера. Вы можете использовать константы D3DKMT_CROSS_ADAPTER_RESOURCE_PITCH_ALIGNMENT и D3DKMT_CROSS_ADAPTER_RESOURCE_HEIGHT_ALIGNMENT, чтобы убедиться, что драйвер возвращает правильный шаг и высоту для ресурса кроссплатформенного адаптера. Эти константы определены в D3dukmdt.h.
Поддерживается начиная с Windows 8.1.
D3DKMDT_GDISURFACE_TEXTURE_CPUVISIBLE_CROSSADAPTER Зарезервировано для использования системы. Не используйте это значение в драйвере.