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


структура DXGK_PRESENTFLAGS (d3dkmddi.h)

Структура DXGK_PRESENTFLAGS определяет в флагах битовых полей тип выполняемой операции.

Синтаксис

typedef struct _DXGK_PRESENTFLAGS {
  union {
    struct {
      UINT Blt : 1;
      UINT ColorFill : 1;
      UINT Flip : 1;
      UINT FlipWithNoWait : 1;
      UINT SrcColorKey : 1;
      UINT DstColorKey : 1;
      UINT LinearToSrgb : 1;
      UINT Rotate : 1;
      UINT FlipStereo : 1;
      UINT FlipStereoTemporaryMono : 1;
      UINT FlipStereoPreferRight : 1;
      UINT BltStereoUseRight : 1;
      UINT FlipWithMultiPlaneOverlay : 1;
      UINT RedirectedFlip : 1;
#if ...
      UINT Reserved : 18;
#elif
      UINT Reserved : 19;
#else
      UINT Reserved : 24;
#endif
    };
    [in] UINT Value;
  };
} DXGK_PRESENTFLAGS;

Члены

[in] Blt

Значение UINT, указывающее, выполняется ли операция копирования, а не операция переворачивания между исходной и целевой поверхностями.

Задание этого элемента эквивалентно установке первого бита 32-разрядного элемента Value (0x00000001).

[in] ColorFill

Значение UINT, указывающее, существует ли источник для представления. Если этот элемент задан, источник не существует, и драйвер должен заполнить прямоугольник назначения на целевой поверхности A8R8G8B8 цветом, заданным элементом Colorструктуры DXGKARG_PRESENT .

Задание этого элемента эквивалентно установке второго бита 32-разрядного элемента Value (0x00000002).

[in] Flip

Значение UINT, указывающее, выполняется ли операция переворачивания между задней и основной поверхностями. Если этот элемент задан, драйвер должен выполнить текущую операцию, наведя выходные данные сканирования видео на источник, а не на копирование из источника в место назначения. Этот тип текущей операции не является слезоточивой.

Задание этого элемента эквивалентно установке третьего бита 32-разрядного элемента Value (0x00000004).

[in] FlipWithNoWait

Значение UINT, указывающее, не должны ли операции без слезоточивого пролистывания затормозить графический конвейер. Если без слезоточивый флип застопоривает графический конвейер, единица обработки графики (GPU) должна дождаться, пока не слезоточивый флип вступит в силу, прежде чем выполнять следующую команду.

FlipWithNoWait можно задать значение TRUE (т. е. 1), только если драйвер мини-порта дисплея установил флаг битового поля FlipOnVSyncWithNoWait в элементе FlipCapsструктуры DXGK_DRIVERCAPS , когда значение DXGKQAITYPE_DRIVERCAPS было указано в элементе Type структуры DXGKARG_QUERYADAPTERINFO при вызове функции DxgkDdiQueryAdapterInfo драйвера.

Задание этого элемента эквивалентно установке четвертого бита 32-разрядного элемента Value (0x00000008).

[in] SrcColorKey

Значение UINT, указывающее, следует ли использовать исходный ключ цвета с помощью значения в элементе Colorструктуры DXGKARG_PRESENT . То есть любой пиксель в исходной поверхности, соответствующий цветовому ключу, не должен копироваться в целевую область, а все исходные пиксели, которые не соответствуют цветовому ключу, должны быть скопированы.

Задание этого элемента эквивалентно установке пятого бита 32-разрядного элемента Value (0x00000010).

[in] DstColorKey

Значение UINT, указывающее, следует ли использовать целевой цветовой ключ, используя значение в элементе Color структуры DXGKARG_PRESENT . То есть любой пиксель на целевой поверхности, соответствующий цветовому ключу, должен быть заменен соответствующим пикселем из исходной поверхности, а все конечные пиксели, которые не соответствуют цветовому ключу, не должны быть заменены.

Задание этого элемента эквивалентно установке шестого бита 32-разрядного элемента Value (0x00000020).

[in] LinearToSrgb

Значение UINT, указывающее, следует ли преобразовать источник с линейным форматированием в формат sRGB во время операции копирования. Формат sRGB исправлен гамма. Дополнительные сведения о формате sRGB см. на веб-сайте sRGB .

Задание этого элемента эквивалентно установке седьмого бита 32-разрядного элемента Value (0x00000040).

[in] Rotate

Значение UINT, указывающее, следует ли поворачивать данные презентации в соответствии с текущей ориентацией экрана во время передачи битового блока презентации (bitblt). Текущая ориентация экрана задается в элементе Поворотструктуры D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION , который задается в элементе ContentTransformationструктуры D3DKMDT_VIDPN_PRESENT_PATH для пути представления видео.

Драйвер мини-порта дисплея должен поворачивать данные только в том случае, если установлен флаг Поворот битового поля. Даже если драйвер определяет, что текущая ориентация экрана повернута из данных презентации, а поворот не задан, драйвер не должен поворачивать данные.

Задание этого элемента эквивалентно установке восьмого бита 32-разрядного элемента Value (0x00000080).

[in] FlipStereo

Указывает, должен ли драйвер переворачивать левое и правое изображения стереовыделения.

Если задан элемент FlipOnNextVSync структуры DXGK_SETVIDPNSOURCEADDRESS_FLAGS , драйвер должен выполнить пролистывание к левому изображению на следующем VSync, а затем выполнить пролистывание вправо в следующей виртуальной синхронизации.

Если задан элемент FlipImmediateструктуры DXGK_SETVIDPNSOURCEADDRESS_FLAGS , драйвер должен немедленно начать сканирование из нового выделения. Например, если драйвер сканировал правое изображение, он должен запустить новую проверку с тем же относительным смещением в правом изображении нового выделения.

Элементы FlipStereo и FlipStereoTemporaryMono нельзя задать одновременно.

Дополнительные требования см. в разделе Примечания.

Задание этого элемента эквивалентно установке девятого бита 32-разрядного элемента Value (0x00000100).

Поддерживается начиная с Windows 8.

[in] FlipStereoTemporaryMono

Указывает, должен ли драйвер использовать левое изображение стереораспределения для правой и левой частей стереокадра. Драйвер выполняет ту же операцию, что и FlipStereo, за исключением того, что он должен сканировать только из левого изображения, чтобы создать оба изображения стереокадра.

Этот элемент следует задавать только в том случае, если драйвер сообщает о поддержке этого параметра в текущем режиме отображения, задав для элемента Type структуры D3DKMDT_VIDPN_SOURCE_MODE значение D3DKMDT_RMT_GRAPHICS_STEREO_ADVANCED_SCAN.

Элементы FlipStereo и FlipStereoTemporaryMono нельзя задать одновременно.

Элементы FlipStereoTemporaryMono и FlipStereoPreferRight нельзя задать одновременно.

Дополнительные требования см. в разделе Примечания.

Задание этого элемента эквивалентно установке десятого бита 32-разрядного элемента Value (0x00000200).

Поддерживается начиная с Windows 8.

[in] FlipStereoPreferRight

Указывает, что при клонировании основного стереофонического выделения в мономониометре драйвер должен использовать правильное изображение.

Элементы FlipStereoTemporaryMono и FlipStereoPreferRight нельзя задать одновременно.

Дополнительные требования см. в разделе Примечания.

Задание этого элемента эквивалентно установке одиннадцатого бита 32-разрядного элемента Value (0x00000400).

Поддерживается начиная с Windows 8.

[in] BltStereoUseRight

Указывает, что при представлении драйвера из стереораспределений в монораспределенное выделение должно использоваться правильное изображение. Если значение не задано, драйвер должен использовать левый образ.

Задание этого элемента эквивалентно установке двенадцатого бита 32-разрядного элемента Value (0x00000800).

Поддерживается начиная с Windows 8.

[in] FlipWithMultiPlaneOverlay

Указывает, происходит ли операция переворачивания между плоскостью наложения и основной поверхностью. Если этот элемент задан, драйвер должен выполнить текущую операцию, наведя выходные данные сканирования видео на исходную плоскость, а не копирование из исходной плоскости в место назначения.

Задание этого элемента эквивалентно установке тринадцатого бита 32-разрядного элемента Value (0x00001000).

Поддерживается начиная с Windows 8.1.

RedirectedFlip

[in] Reserved

Этот элемент зарезервирован и должен иметь нулевое значение.

Установка для этого элемента значения 0 эквивалентна установке нулей для оставшихся 19 битов (0xFFFFE000) элемента 32-разрядного значения .

Поддерживается начиная с Windows 8.

[in] Этот элемент зарезервирован и должен иметь нулевое значение.

Установка значения 0 для этого элемента эквивалентна установке нулей для оставшихся 24 битов (0xFFFFFF00) 32-разрядного элемента Value .

[in] Value

Элемент в объединении, который DXGK_PRESENTFLAGS содержит, который может содержать 32-разрядное значение, определяющее тип выполняемой текущей операции.

Комментарии

Флаги битовых полей ColorFill, SrcColorKey и DstColorKey являются взаимоисключающими.

Если задан какой-либо из членов FlipStereo, FlipStereoTemporaryMono или FlipStereoPreferRight , применяются следующие условия:

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Верхняя часть d3dkmddi.h (включая D3dkmddi.h)

См. также раздел

D3DKMDT_VIDPN_PRESENT_PATH

D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION

D3DKMT_DISPLAYMODE

DXGKARG_PRESENT

DXGKARG_QUERYADAPTERINFO

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_DRIVERCAPS

DXGK_SETVIDPNSOURCEADDRESS_FLAGS

DxgkDdiPresent

DxgkDdiQueryAdapterInfo