структура DXGK_SETVIDPNSOURCEADDRESS_FLAGS (d3dkmddi.h)
Структура DXGK_SETVIDPNSOURCEADDRESS_FLAGS определяет конкретный тип операции, выполняемой в вызове функций DxgkDdiSetVidPnSourceAddress или DxgkDdiSetVidPnSourceAddress Драйвера минипорта дисплея.
Синтаксис
typedef struct _DXGK_SETVIDPNSOURCEADDRESS_FLAGS {
union {
struct {
UINT ModeChange : 1;
UINT FlipImmediate : 1;
UINT FlipOnNextVSync : 1;
UINT FlipStereo : 1;
UINT FlipStereoTemporaryMono : 1;
UINT FlipStereoPreferRight : 1;
UINT SharedPrimaryTransition : 1;
UINT IndependentFlipExclusive : 1;
UINT MoveFlip : 1;
#if ...
UINT Reserved : 23;
#elif
UINT Reserved : 24;
#elif
UINT Reserved : 25;
#else
UINT Reserved : 29;
#endif
};
UINT Value;
};
} DXGK_SETVIDPNSOURCEADDRESS_FLAGS;
Члены
ModeChange
Значение UINT, указывающее, что драйвер переключается в режим отображения.
Задание этого элемента эквивалентно установке первого бита 32-разрядного элемента Value (0x00000001).
FlipImmediate
Значение UINT, указывающее, что драйвер выполняет операцию переворачивания без вертикальной синхронизации.
Задание этого элемента эквивалентно установке второго бита 32-разрядного элемента Value (0x00000002).
FlipOnNextVSync
Значение UINT, указывающее, что драйвер выполняет операцию переворачивания, которая происходит при следующей вертикальной синхронизации.
Задание этого элемента эквивалентно установке третьего бита 32-разрядного элемента Value (0x00000004).
[in] FlipStereo
Поддерживается начиная с Windows 8.
Указывает, будет ли драйвер переворачивать как левое, так и правое изображения стереосделения.
Если задан элемент FlipOnNextVSyncструктуры DXGK_SETVIDPNSOURCEADDRESS_FLAGS , драйвер завершает пролистывание влево на следующем VSync, а затем выполняет пролистывание вправо на следующем VSync.
Если задан элемент FlipImmediateструктуры DXGK_SETVIDPNSOURCEADDRESS_FLAGS , драйвер сразу же начинает сканировать новое выделение. Например, если драйвер сканировал правильное изображение, он запускает новое сканирование с тем же относительным смещением в правом изображении нового выделения.
Элементы FlipStereo и FlipStereoTemporaryMono нельзя задать одновременно.
Дополнительные требования см. в разделе Примечания.
Задание этого элемента эквивалентно установке четвертого бита 32-разрядного элемента Value (0x00000008).
[in] FlipStereoTemporaryMono
Поддерживается начиная с Windows 8.
Указывает, использует ли драйвер левое изображение стереосделения для правой и левой частей стереокадра. Драйвер выполняет ту же текущую операцию, что и FlipStereo, за исключением того, что он сканирует только из левого изображения, чтобы получить оба изображения стереокадра.
Этот элемент следует задавать только в том случае, если драйвер сообщает о поддержке этого параметра в текущем режиме отображения, задав для элемента Type структуры D3DKMDT_VIDPN_SOURCE_MODE значение D3DKMDT_RMT_GRAPHICS_STEREO_ADVANCED_SCAN.
Элементы FlipStereo и FlipStereoTemporaryMono нельзя задать одновременно.
Элементы FlipStereoTemporaryMono и FlipStereoPreferRight нельзя задать одновременно.
Дополнительные требования см. в разделе Примечания.
Задание этого элемента эквивалентно установке пятого бита 32-разрядного элемента Value (0x00000010).
[in] FlipStereoPreferRight
Поддерживается начиная с Windows 8.
Указывает, что когда драйвер клонирует основное выделение стерео в мономониометр, он использует правильное изображение.
Элементы FlipStereoTemporaryMono и FlipStereoPreferRight нельзя задать одновременно.
Дополнительные требования см. в разделе Примечания.
Задание этого элемента эквивалентно установке шестого бита 32-разрядного элемента Value (0x00000020).
[in] SharedPrimaryTransition
Поддерживается начиная с Windows 8.
Указывает, что драйвер переходит на общее управляемое основное выделение или из нее.
Этот элемент задается, если происходит любой из следующих переходов:
- Текущее основное выделение не является общим первичным, но новым является.
- Текущее основное выделение является общим первичным выделением, но новое — нет.
Задание этого элемента эквивалентно установке седьмого бита 32-разрядного элемента Value (0x00000040).
[in] IndependentFlipExclusive
Поддерживается начиная с Windows 10.
Если задан параметр IndependentFlipExlusive , пролистывание выполняется в монопольном режиме независимой пролистывания. Доступ к переднему буферу осуществляется только с помощью оборудования дисплея (не DWM), а драйвер режима ядра может применять оптимизации, связанные с вертикальной синхронизацией.
[in] MoveFlip
Поддерживается начиная с Windows 10.
Если параметр MoveFlip задан, драйвер получает уведомление об использовании любого состояния, сохраненного после предыдущего переворачивания, для настройки нового запроса scanout.
[in] Reserved
Этот элемент зарезервирован и должен иметь нулевое значение. Присвоение этому элементу нулевого значения эквивалентно установке оставшихся 23 битов (0xFFFFFF00) 32-разрядного элемента Value равными нулям.
Value
Член объединения, который DXGK_SETVIDPNSOURCEADDRESS_FLAGS содержит, который может содержать 32-разрядное значение, определяющее тип операции.
Комментарии
Если задан какой-либо из членов FlipStereo, FlipStereoTemporaryMono или FlipStereoPreferRight , применяются следующие условия:
- Элемент hAllocation структуры DXGKARG_SETVIDPNSOURCEADDRESS указывает на выделение, созданное с помощью элемента Stereo , заданного в элементе Flags структуры D3DKMT_DISPLAYMODE .
- Элементы PrimarySegment и PrimaryAddressDXGKARG_SETVIDPNSOURCEADDRESS указывают на начальный физический адрес выделения.
- Драйвер учитывает параметры членов FlipImmediate и FlipOnNextVSyncструктуры DXGK_SETVIDPNSOURCEADDRESS_FLAGS .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows Vista. |
Верхняя часть | d3dkmddi.h (включая D3dkmddi.h) |