структура DXGK_PRESENTATIONCAPS (d3dkmddi.h)
Структура DXGK_PRESENTATIONCAPS определяет возможности презентации драйвера минипорта дисплея, который драйвер предоставляет через вызов функции DxgkDdiQueryAdapterInfo.
Синтаксис
typedef struct _DXGK_PRESENTATIONCAPS {
union {
struct {
UINT NoScreenToScreenBlt : 1;
UINT NoOverlapScreenBlt : 1;
UINT SupportKernelModeCommandBuffer : 1;
UINT NoSameBitmapAlphaBlend : 1;
UINT NoSameBitmapStretchBlt : 1;
UINT NoSameBitmapTransparentBlt : 1;
UINT NoSameBitmapOverlappedAlphaBlend : 1;
UINT NoSameBitmapOverlappedStretchBlt : 1;
UINT DriverSupportsCddDwmInterop : 1;
UINT Reserved0 : 1;
UINT AlignmentShift : 4;
UINT MaxTextureWidthShift : 3;
UINT MaxTextureHeightShift : 3;
UINT SupportAllBltRops : 1;
UINT SupportMirrorStretchBlt : 1;
UINT SupportMonoStretchBltModes : 1;
UINT StagingRectStartPitchAligned : 1;
UINT NoSameBitmapBitBlt : 1;
UINT NoSameBitmapOverlappedBitBlt : 1;
UINT Reserved1 : 1;
UINT NoTempSurfaceForClearTypeBlend : 1;
UINT SupportSoftwareDeviceBitmaps : 1;
UINT NoCacheCoherentApertureMemory : 1;
UINT SupportLinearHeap : 1;
#if ...
UINT Reserved : 1;
#else
UINT Reserved : 4;
#endif
};
UINT Value;
};
} DXGK_PRESENTATIONCAPS;
Члены
[in] NoScreenToScreenBlt
Значение UINT, указывающее, может ли драйвер минипорта отображения выполнять передачу бит-блоков (bitblt) из первичной поверхности в ту же основную поверхность. Если установлен NoScreenToScreenBlt, драйвер не может выполнять передачу битовых блоков с экрана на экран. Поэтому подсистема ядра графики Microsoft DirectX (Dxgkrnl.sys) не запрашивает драйвер для выполнения такой передачи битового блока.
Установка этого элемента эквивалентна настройке первого бита 32-разрядного значения значения (0x00000001).
[in] NoOverlapScreenBlt
Значение UINT, указывающее, может ли драйвер минипорта отображения выполнять передачу битовых блоков, перекрывающуюся. Если задан noOverlapScreenBlt, драйвер не может выполнять передачу битовых блоков, перекрывающуюся. Поэтому подсистема ядра графики DirectX не запрашивает драйвер для выполнения такой передачи битового блока.
Установка этого элемента эквивалентна настройке второго бита 32-разрядного элемента значения (0x00000002).
SupportKernelModeCommandBuffer
[in] Значение UINT, указывающее, поддерживает ли драйвер минипорта GDI с аппаратным ускорением обработки буфера команд GDI. Если установлен SupportKernelModeCommandBuffer, драйвер может выполнять различные операции передачи битовых блоков (bitblt) и заполнять операции, когда подсистема графического ядра DirectX вызывает функцию драйвера минипорта dxgkDdiRenderKm.
Поддерживается начиная с Windows 7.
[in] NoSameBitmapAlphaBlend
Значение UINT, указывающее, может ли драйвер минипорта отображения выполнять операцию альфа-смешивания, когда выделение исходного и целевого объектов совпадает. Если установлен NoSameBitmapAlphaBlend, драйвер не может выполнить такую операцию, и подсистема ядра графики DirectX не будет запрашивать ее.
Установка этого элемента эквивалентна настройке четвертого бита 32-разрядного элемента значения (0x00000008).
Поддерживается начиная с Windows 7.
[in] NoSameBitmapStretchBlt
Значение UINT, указывающее, может ли драйвер минипорта отображения выполнять операцию передачи растянутых битовых блоков, когда выделение источника и назначения совпадает. Если задан NoSameBitmapStretchBlt, драйвер не может выполнить такую операцию, и подсистема ядра графики DirectX не будет запрашивать ее.
Установка этого элемента эквивалентна настройке пятого бита 32-разрядного элемента значения (0x00000010).
Поддерживается начиная с Windows 7.
[in] NoSameBitmapTransparentBlt
Значение UINT, указывающее, может ли драйвер минипорта отображения выполнять прозрачную операцию передачи битовых блоков, когда выделение источника и назначения совпадает. Если задан NoSameBitmapStretchBlt, драйвер не может выполнить такую операцию, и подсистема ядра графики DirectX не будет запрашивать ее.
Установка этого элемента эквивалентна настройке шестого бита 32-разрядного элемента значения (0x00000020).
Поддерживается начиная с Windows 7.
[in] NoSameBitmapOverlappedAlphaBlend
Значение UINT, указывающее, может ли драйвер минипорта отображения выполнять операцию альфа-смешивания, когда выделения источника и назначения совпадают, а прямоугольники источника и назначения перекрываются. Если задан NoSameBitmapOverlappedAlphaBlend, драйвер не может выполнить такую операцию, и подсистема ядра графики DirectX не будет запрашивать ее.
Установка этого элемента эквивалентна настройке седьмого бита 32-разрядного элемента value (0x00000040).
Поддерживается начиная с Windows 7.
[in] NoSameBitmapOverlappedStretchBlt
Значение UINT, указывающее, может ли драйвер минипорта отображения выполнять операцию передачи растягивающих битовых блоков, когда выделение исходного и целевого объектов совпадает, а прямоугольники источника и назначения перекрываются. Если задан NoSameBitmapOverlappedStretchBlt, драйвер не может выполнить такую операцию, и подсистема ядра графики DirectX не будет запрашивать ее.
Установка этого элемента эквивалентна настройке 32-разрядного элемента значение (0x00000080).
Поддерживается начиная с Windows 7.
[in] DriverSupportsCddDwmInterop
Значение UINT, указывающее, поддерживает ли драйвер минипорта канонический драйвер отображения (CDD) выполнять операции выделения текстур, созданные драйвером пользовательского режима для используемого диспетчера windows (DWM). Если установлен DriverSupportsCddDwmInterop, драйвер мини-порта отображения поддерживает такие операции.
Если драйвер мини-порта дисплея поддерживает аппаратное ускорение GDI, DriverSupportsCddDwmInterop игнорируется. В этом случае драйвер должен поддерживать операции CDD для выделения текстур DWM, созданные драйвером пользовательского режима.
Установка этого элемента эквивалентна настройке девятого бита 32-разрядного элемента значение (0x00000100).
Поддерживается начиная с Windows 7.
[in] Reserved0
Этот элемент зарезервирован и должен иметь значение нулю.
Установка этого элемента эквивалентна настройке десятого бита 32-разрядного значения члена (0x00000200).
Поддерживается начиная с Windows 7.
[in] AlignmentShift
Значение UINT, указывающее минимальное значение выравнивания (в байтах), которое требуется XxxPitch членов структур DXGK_GDIARG_XXX. ВыравниваниеShift предоставляется в виде двоичного экспонента. Например, чтобы указать требуемое значение выравнивания в 16 байт, драйвер мини-порта отображения должен задать AlignmentShift = 4. Минимальное значение равно ВыравниваниеShift = 2, указывающее выравнивание 4-байтов.
Установка этого элемента эквивалентна настройке одиннадцатого бита 32-разрядного элемента значения (0x00000400).
Поддерживается начиная с Windows 7.
[in] MaxTextureWidthShift
Значение UINT, указывающее максимальную ширину текстуры, которую поддерживает драйвер мини-порта отображения, который вычисляется как:
максимальная поддерживаемая ширина текстуры = 2 ^ (MaxTextureWidthShift + 11) texels.
Например, если MaxTextureWidthShift = 0, максимальная поддерживаемая ширина текстуры составляет 2 ^ 11 = 2048.
Установка этого элемента эквивалентна настройке двенадцатого бита 32-разрядного элемента значение (0x00000800).
Поддерживается начиная с Windows 7.
[in] MaxTextureHeightShift
Значение UINT, указывающее максимальную высоту текстуры, которую поддерживает драйвер мини-порта отображения, который вычисляется как:
максимальная поддерживаемая высота текстуры = 2 ^ (MaxTextureHeightShift + 11) texels.
Например, если MaxTextureHeightShift = 0, максимальная поддерживаемая высота текстуры составляет 2 ^ 11 = 2048.
Установка этого элемента эквивалентна настройке тринадцатого бита 32-разрядного элемента значения (0x00001000).
Поддерживается начиная с Windows 7.
[in] SupportAllBltRops
Значение UINT, указывающее, поддерживает ли драйвер минипорта отображение все операции растра GDI ROP3 с сплошным цветом в виде шаблона в командах BitBlt и ColorFill. Если задано SupportAllBltRops, драйвер поддерживает такие операции растра.
Установка этого элемента эквивалентна настройке 32-разрядного элемента значения (0x00002000).
Поддерживается начиная с Windows 7.
[in] SupportMirrorStretchBlt
Значение UINT, указывающее, поддерживает ли драйвер минипорта stretch Blt (используя структуру DXGK_GDIARG_STRETCHBLT) в зеркальном режиме. Если задан SupportMirrorStretchBlt , драйвер поддерживает такие операции.
Установка этого элемента эквивалентна настройке пятнадцатого бита 32-разрядного значения значения (0x00004000).
Поддерживается начиная с Windows 7.
[in] SupportMonoStretchBltModes
Значение UINT, указывающее, поддерживает ли драйвер минипорта stretch Blt (с помощью структуры DXGK_GDIARG_STRETCHBLT) в режимах монохромной отрисовки BLACKONWHITE или WHITEONBLACK. Если задан SupportMonoStretchBltModes, драйвер поддерживает такие операции.
Установка этого элемента эквивалентна настройке шестнадцатого бита 32-разрядного элемента значения (0x00008000).
Поддерживается начиная с Windows 7.
[in] StagingRectStartPitchAligned
Значение UINT, указывающее, требуется ли драйвер мини-порта отображения начальной точки (верхняя левая точка) в прямоугольнике на видимой ЦП промежуточной поверхности, которая должна быть выровнена по полю, что означает, что левая координата равно 0. Если задан ВыравниваниеShift, то верхняя левая точка прямоугольника выравнивается по полю.
Установка этого элемента эквивалентна настройке семнадцатого бита 32-разрядного элемента значения (0x00010000).
Поддерживается начиная с Windows 7.
[in] NoSameBitmapBitBlt
Значение UINT, указывающее, может ли драйвер минипорта отображения выполнять операцию передачи битовых блоков, когда выделение источника и назначения совпадает. Если задан NoSameBitmapBitBlt, драйвер не может выполнить такую операцию. Поэтому подсистема ядра графики DirectX не запрашивает, чтобы драйвер выполнял такую операцию.
Установка этого элемента эквивалентна настройке 32-разрядного элемента значения (0x00020000).
Поддерживается начиная с Windows 7.
[in] NoSameBitmapOverlappedBitBlt
Значение UINT, указывающее, может ли драйвер минипорта отображения выполнять операцию передачи битовых блоков, когда выделения источника и назначения совпадают, а прямоугольники источника и назначения перекрываются. Если задан NoSameBitmapOverlappedBitBlt, драйвер не может выполнить такую операцию, и подсистема ядра графики DirectX не будет запрашивать ее.
Установка этого элемента эквивалентна настройке девятнадцатого бита 32-разрядного элемента value (0x00040000).
Поддерживается начиная с Windows 7.
[in] Reserved1
Этот элемент зарезервирован и должен иметь значение нулю. Установка этого элемента равно нулю эквивалентна настройке двадцатого бита 32-разрядного элемента значение (0x00080000).
Поддерживается начиная с Windows 7.
[in] NoTempSurfaceForClearTypeBlend
Значение UINT, указывающее, требуется ли драйверу временная поверхность во время обработки команд, указанных элементом ClearTypeBlend структуры DXGK_RENDERKM_COMMAND. Если задан NoTempSurfaceForClearTypeBlend, драйвер не нуждается во временной поверхности. В этом случае драйвер будет использовать меньше памяти видео.
Задание этого элемента равно нулю эквивалентно настройке двадцать первого бита 32-разрядного элемента значение (0x00100000).
Поддерживается начиная с Windows 7.
[in] SupportSoftwareDeviceBitmaps
Этот элемент зарезервирован и должен иметь значение нулю.
Задание этого элемента эквивалентно настройке 32-разрядного элемента значения (0x00200000).
Поддерживается начиная с Windows 8.
[in] NoCacheCoherentApertureMemory
Значение UINT, указывающее, что драйвер не поддерживает кэш-последовательную память диафрагмы.
Установка этого элемента эквивалентна настройке 32-разрядного элемента значения (0x00400000).
Поддерживается начиная с Windows 8.
[in] SupportLinearHeap
Драйвер поддерживает линейное выделение кучи из промежуточных поверхностей.
Установка этого элемента эквивалентна настройке двадцать четвертой части 32-разрядного элемента value (0x00800000).
Поддерживается начиная с Windows 8.
[in] Reserved
Этот элемент зарезервирован и должен иметь значение нулю.
Установка этого элемента эквивалентна настройке двадцать пятого бита 32-разрядного элемента значения (0x01000000).
Поддерживается начиная с Windows 8.
[in] Этот элемент зарезервирован и должен иметь значение нулю.
Установка этого элемента эквивалентна настройке двадцать пятого бита 32-разрядного элемента значения (0x02000000).
Поддерживается начиная с Windows 8.
Value
32-разрядное значение, определяющее возможности презентации драйвера.
Замечания
Драйвер минипорта отображения может указать возможности презентации, задав биты в 32-разрядном элементе значение или путем задания отдельных членов структуры в союзе, который DXGK_PRESENTATIONCAPS содержит.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista |
заголовка | d3dkmddi.h (include D3dkmddi.h) |