структура 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-разрядного элемента Value (0x00000001).
[in] NoOverlapScreenBlt
Значение UINT, указывающее, может ли драйвер минипорта дисплея выполнять перекрывающуюся передачу битовых блоков. Если задан параметр NoOverlapScreenBlt , драйвер не может выполнить перекрывающуюся передачу битовых блоков. Таким образом, подсистема ядра графики DirectX не будет запрашивать у драйвера выполнение такой передачи битовых блоков.
Задание этого элемента эквивалентно установке второго бита 32-разрядного элемента Value (0x00000002).
SupportKernelModeCommandBuffer
[in] Значение UINT, указывающее, поддерживает ли драйвер мини-порта дисплея обработку буфера команд с аппаратным ускорением GDI. Если задан параметр SupportKernelModeCommandBuffer , драйвер может выполнять различные операции аппаратного ускорения передачи битовых блоков (bitblt) и заполнения, когда подсистема графического ядра DirectX вызывает функцию DxgkDdiRenderKm драйвера дисплея miniport.
Поддерживается начиная с Windows 7.
[in] NoSameBitmapAlphaBlend
Значение UINT, указывающее, может ли драйвер минипорта дисплея выполнять операцию альфа-смешивания, если исходное и целевое выделение совпадают. Если задан параметр NoSameBitmapAlphaBlend , драйвер не сможет выполнить такую операцию, и подсистема графического ядра DirectX не будет запрашивать ее.
Задание этого элемента эквивалентно установке четвертого бита 32-разрядного элемента Value (0x00000008).
Поддерживается начиная с Windows 7.
[in] NoSameBitmapStretchBlt
Значение UINT, указывающее, может ли драйвер минипорта дисплея выполнять операцию передачи растянутого битового блока, если исходный и целевой выделения совпадают. Если задан параметр NoSameBitmapStretchBlt , драйвер не сможет выполнить такую операцию, и подсистема графического ядра DirectX не будет запрашивать ее.
Задание этого элемента эквивалентно установке пятого бита 32-разрядного элемента Value (0x00000010).
Поддерживается начиная с Windows 7.
[in] NoSameBitmapTransparentBlt
Значение UINT, указывающее, может ли драйвер мини-порта дисплея выполнять прозрачную операцию передачи битовых блоков, если исходное и целевое выделение совпадают. Если задан параметр NoSameBitmapStretchBlt , драйвер не сможет выполнить такую операцию, и подсистема графического ядра DirectX не будет запрашивать ее.
Задание этого элемента эквивалентно установке шестого бита 32-разрядного элемента Value (0x00000020).
Поддерживается начиная с Windows 7.
[in] NoSameBitmapOverlappedAlphaBlend
Значение UINT, указывающее, может ли драйвер мини-порта дисплея выполнять операцию альфа-смешивания, если исходные и целевые выделения совпадают, а исходный и целевой прямоугольники перекрываются. Если задан параметр NoSameBitmapOverlappedAlphaBlend , драйвер не сможет выполнить такую операцию, и подсистема графического ядра DirectX не будет запрашивать ее.
Задание этого элемента эквивалентно установке седьмого бита 32-разрядного элемента Value (0x00000040).
Поддерживается начиная с Windows 7.
[in] NoSameBitmapOverlappedStretchBlt
Значение UINT, указывающее, может ли драйвер мини-порта дисплея выполнять операцию передачи растянутого битового блока, если исходные и целевые выделения совпадают, а исходный и целевой прямоугольники перекрываются. Если задан параметр NoSameBitmapOverlappedStretchBlt , драйвер не сможет выполнить такую операцию и подсистема графического ядра DirectX не будет запрашивать ее.
Задание этого элемента эквивалентно установке восьми бита 32-разрядного элемента Value (0x00000080).
Поддерживается начиная с Windows 7.
[in] DriverSupportsCddDwmInterop
Значение UINT, указывающее, поддерживает ли драйвер мини-порта дисплея операции представления канонического драйвера дисплея (CDD) для выделения текстур, созданные драйвером пользовательского режима для использования диспетчером Windows Desktop (DWM). Если задан параметр DriverSupportsCddDwmInterop , драйвер мини-порта дисплея поддерживает такие операции.
Если драйвер мини-порта дисплея поддерживает аппаратное ускорение GDI, DriverSupportsCddDwmInterop игнорируется. В этом случае драйвер должен поддерживать операции CDD для выделения текстур DWM, созданные драйвером пользовательского режима.
Задание этого элемента эквивалентно установке девятого бита 32-разрядного элемента Value (0x00000100).
Поддерживается начиная с Windows 7.
[in] Reserved0
Этот элемент зарезервирован и должен иметь нулевое значение.
Задание этого элемента эквивалентно установке десятого бита 32-разрядного элемента Value (0x00000200).
Поддерживается начиная с Windows 7.
[in] AlignmentShift
Значение UINT, указывающее минимальное значение выравнивания (в байтах), которое требуется членам XxxPitch DXGK_GDIARG_XXX структур. AlignmentShift предоставляется в виде двоичной экспоненты. Например, чтобы указать требуемое значение выравнивания в 16 байт, драйвер мини-порта дисплея должен установить значение AlignmentShift = 4. Минимальное значение — AlignmentShift = 2, указывающее 4-байтовое выравнивание.
Установка этого элемента эквивалентна установке одиннадцатого бита 32-разрядного элемента Value (0x00000400).
Поддерживается начиная с Windows 7.
[in] MaxTextureWidthShift
Значение UINT, указывающее максимальную ширину текстуры, которую поддерживает драйвер мини-порта для отображения, которая вычисляется следующим образом:
максимальная поддерживаемая ширина текстуры = 2 ^ (MaxTextureWidthShift + 11) тексели.
Например, если MaxTextureWidthShift = 0, максимальная поддерживаемая ширина текстуры составляет 2 ^ 11 = 2048.
Задание этого элемента эквивалентно установке двенадцатого бита 32-разрядного элемента Value (0x00000800).
Поддерживается начиная с Windows 7.
[in] MaxTextureHeightShift
Значение UINT, указывающее максимальную высоту текстуры, которую поддерживает драйвер мини-порта дисплея, которая вычисляется следующим образом:
максимальная поддерживаемая высота текстуры = 2 ^ (MaxTextureHeightShift + 11) тексели.
Например, если MaxTextureHeightShift = 0, максимальная поддерживаемая высота текстуры составляет 2 ^ 11 = 2048.
Задание этого элемента эквивалентно установке тринадцатого бита 32-разрядного элемента Value (0x00001000).
Поддерживается начиная с Windows 7.
[in] SupportAllBltRops
Значение UINT, указывающее, поддерживает ли драйвер мини-порта дисплея все растровые операции GDI ROP3 с сплошным цветом в командах BitBlt и ColorFill. Если задан параметр SupportAllBltRops , драйвер поддерживает такие растровые операции.
Задание этого элемента эквивалентно установке четырнадцатого бита 32-разрядного элемента Value (0x00002000).
Поддерживается начиная с Windows 7.
[in] SupportMirrorStretchBlt
Значение UINT, указывающее, поддерживает ли драйвер мини-порта дисплей операции Stretch Blt (с использованием структуры DXGK_GDIARG_STRETCHBLT) в режиме зеркало. Если задан параметр SupportMirrorStretchBlt , драйвер поддерживает такие операции.
Задание этого элемента эквивалентно установке пятнадцатого бита 32-разрядного элемента Value (0x00004000).
Поддерживается начиная с Windows 7.
[in] SupportMonoStretchBltModes
Значение UINT, указывающее, поддерживает ли драйвер мини-порта дисплея операции Stretch Blt (с использованием структуры DXGK_GDIARG_STRETCHBLT ) в монохроматических режимах отрисовки BLACKONWHITE или WHITEONBLACK. Если задан параметр SupportMonoStretchBltModes , драйвер поддерживает такие операции.
Задание этого элемента эквивалентно установке шестнадцатого бита 32-разрядного элемента Value (0x00008000).
Поддерживается начиная с Windows 7.
[in] StagingRectStartPitchAligned
Значение UINT, указывающее, должна ли драйвер минипорта дисплея выравнивать начальную точку (верхнюю левую точку) в прямоугольнике на видимой ЦП промежуточной поверхности, что означает, что левая координата равно 0. Если задан параметр AlignmentShift , верхняя левая точка прямоугольника выравнивается по шагу.
Задание этого элемента эквивалентно установке семнадцатого бита 32-разрядного элемента Value (0x00010000).
Поддерживается начиная с Windows 7.
[in] NoSameBitmapBitBlt
Значение UINT, указывающее, может ли драйвер минипорта дисплея выполнять операцию передачи битового блока, если выделение источника и назначения совпадает. Если задан параметр NoSameBitmapBitBlt , драйвер не сможет выполнить такую операцию. Таким образом, подсистема ядра графики DirectX не будет запрашивать, чтобы драйвер выполнял такую операцию.
Задание этого элемента эквивалентно установке восемнадцатого бита 32-разрядного элемента Value (0x00020000).
Поддерживается начиная с Windows 7.
[in] NoSameBitmapOverlappedBitBlt
Значение UINT, указывающее, может ли драйвер мини-порта дисплея выполнять операцию передачи битовых блоков, когда исходные и целевые выделения совпадают, а исходный и целевой прямоугольники перекрываются. Если задан параметр NoSameBitmapOverlappedBitBlt , драйвер не сможет выполнить такую операцию, и подсистема графического ядра DirectX не будет запрашивать ее.
Установка этого элемента эквивалентна установке девятнадцатого бита 32-разрядного элемента Value (0x00040000).
Поддерживается начиная с Windows 7.
[in] Reserved1
Этот элемент зарезервирован и должен иметь нулевое значение. Присвоение этому элементу нулевого значения эквивалентно установке двадцатого бита 32-разрядного элемента Value (0x00080000).
Поддерживается начиная с Windows 7.
[in] NoTempSurfaceForClearTypeBlend
Значение UINT, указывающее, требуется ли драйверу временная поверхность во время обработки команд, заданных элементом ClearTypeBlendструктуры DXGK_RENDERKM_COMMAND . Если задан параметр NoTempSurfaceForClearTypeBlend , драйверу не требуется временная поверхность. В этом случае драйвер будет использовать меньше видеопамяти.
Задание этого элемента равным нулю эквивалентно установке двадцать первого бита 32-разрядного элемента Value (0x00100000).
Поддерживается начиная с Windows 7.
[in] SupportSoftwareDeviceBitmaps
Этот элемент зарезервирован и должен иметь нулевое значение.
Установка этого элемента эквивалентна установке двадцать второго бита 32-разрядного элемента Value (0x00200000).
Поддерживается начиная с Windows 8.
[in] NoCacheCoherentApertureMemory
Значение UINT, указывающее, что драйвер не поддерживает память диафрагмы, когерентную в кэше.
Задание этого элемента эквивалентно установке двадцать третьего бита 32-разрядного элемента Value (0x00400000).
Поддерживается начиная с Windows 8.
[in] SupportLinearHeap
Драйвер поддерживает линейное выделение кучи из промежуточных поверхностей.
Задание этого элемента эквивалентно установке двадцать четвертого бита 32-разрядного элемента Value (0x00800000).
Поддерживается начиная с Windows 8.
[in] Reserved
Этот элемент зарезервирован и должен иметь нулевое значение.
Задание этого элемента эквивалентно установке двадцать пятого бита 32-разрядного элемента Value (0x01000000).
Поддерживается начиная с Windows 8.
[in] Этот элемент зарезервирован и должен иметь нулевое значение.
Задание этого элемента эквивалентно установке двадцать пятого бита 32-разрядного элемента Value (0x02000000).
Поддерживается начиная с Windows 8.
Value
32-разрядное значение, определяющее возможности презентации драйвера.
Комментарии
Драйвер мини-порта дисплея может указать возможности презентации, задав биты в 32-разрядном элементе Value или задав отдельные члены структуры в объединении, которое DXGK_PRESENTATIONCAPS содержит.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Верхняя часть | d3dkmddi.h (включая D3dkmddi.h) |