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


структура IDDCX_METADATA2 (iddcx.h)

Это важно

Некоторые сведения относятся к предварительному продукту, который может быть существенно изменен до его коммерческого выпуска. Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых в отношении информации, предоставленной здесь.

IDDCX_METADATA2 предоставляет сведения о текущей предоставленной поверхности и о том, что отображается на нем.

Синтаксис

struct IDDCX_METADATA2 {
  UINT                        Size;
  IDDCX_METADATA2_VALID_FLAGS ValidFlags;
  UINT                        PresentationFrameNumber;
  UINT                        DirtyRectCount;
  BOOL                        HwProtectedSurface;
  UINT64                      PresentDisplayQPCTime;
  IDXGIResource               *pSurface;
  DXGI_COLOR_SPACE_TYPE       SurfaceColorSpace;
  UINT                        SdrWhiteLevel;
  IDDCX_SYSTEM_BUFFER_INFO    SystemBufferInfo;
  IDDCX_HDR10_FRAME_METADATA  Hdr10FrameMetaData;
  ID3D12Resource              *pD3D12Surface;
};

Члены

Size

Общий размер структуры в байтах.

ValidFlags

Побитовое ЗНАЧЕНИЕ ИЛИ значений IDDCX_METADATA2_VALID_FLAGS , указывающее, какие поля в этой структуре имеют допустимое содержимое.

PresentationFrameNumber

Номер кадра презентации этой поверхности.

DirtyRectCount

Количество грязных прямоугольник для этого кадра. Вызовите IddCxSwapChainGetDirtyRects, чтобы получить грязные прямоугольники.

Значение DirtyRectCount 1, где один грязный прямоугольник имеет все значения, равные нулю, указывает, что не было обновлений изображений из предыдущего кадра. В этой ситуации драйвер имеет возможность повторно закодировать изображение рабочего стола еще раз, чтобы повысить качество визуального элемента. После отсутствия дополнительных обновлений ОС представляет тот же кадр, что и значение IDDCX_ADAPTER_CAPS::StaticDesktopReencodeFrameCount , а затем останавливает презентацию до следующего обновления.

HwProtectedSurface

Указывает, защищена ли предоставленная поверхность оборудованием.

PresentDisplayQPCTime

Время QPC системы, когда эта поверхность должна отображаться на непрямом мониторе отображения.

pSurface

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

SurfaceColorSpace

Значение DXGI_COLOR_SPACE_TYPE, указывающее цветовое пространство предоставленной поверхности. Цветовое пространство обычно соответствует указанному в зафиксированном пути.

SdrWhiteLevel

Белый уровень в нитах для любого содержимого SDR; например, курсор мыши. Это значение всегда по умолчанию равно 80 нит для режимов, отличных от HDR.

SystemBufferInfo

Структура IDDCX_SYSTEM_BUFFER_INFO , в которой возвращаются полученные сведения из выпуска и операции получения .

Hdr10FrameMetaData

Структура IDDCX_HDR10_FRAME_METADATA , содержащая метаданные HDR10 для использования с этим кадром.

pD3D12Surface

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

Замечания

Дополнительные сведения о поддержке HDR см. в обновлениях IddCx версии 1.10.

Когда поверхности цепочки буферов D3D12 предоставляются драйверу, есть некоторые дополнительные данные, которые необходимо передать в ОС, чтобы обеспечить правильность синхронизации доступа к поверхности с ОС. Объект ID3D12CommandQueue , который драйвер отправляет команды, которые используют поверхность цепочки буферов в качестве входных данных, должны быть указаны в ОС, чтобы он смог правильно синхронизировать чтение драйвера с записью ОС.

В момент, когда драйвер вызывает IddCxSwapChainReleaseAndAcquireBuffer2, ОС использует этот вызов в качестве указания, что драйвер готов отправить работу, которая использует поверхность цепочки буферов. Если драйвер отправляет другие работы в ту же очередь команд, это может быть отложено без необходимости.

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 11, 26H1 (IddCx 1.11)
Header iddcx.h

См. также

IDARG_OUT_RELEASEANDACQUIREBUFFER2

IddCxSwapChainReleaseAndAcquireBuffer2