IddCxSwapChainReleaseAndAcquireBuffer2-Funktion (iddcx.h)

Ein indirekter Anzeigetreiber ruft IddCxSwapChainReleaseAndAcquireBuffer2 auf, um den aktuellen Puffer in der Swap chain freizugeben und einen neuen zu erwerben. Ein Treiber, der HDR-Adapter unterstützt, muss IddCxSwapChainReleaseAndAcquireBuffer2 anstelle von IddCxSwapChainReleaseAndAcquireBuffer und IddCxSwapChainReleaseAndAcquireSystemBuffer verwenden.

Syntax

HRESULT IddCxSwapChainReleaseAndAcquireBuffer2(
  IDDCX_SWAPCHAIN                    SwapChainObject,
  IDARG_IN_RELEASEANDACQUIREBUFFER2  *pInArgs,
  IDARG_OUT_RELEASEANDACQUIREBUFFER2 *pOutArgs
);

Parameter

SwapChainObject

[in] Das Swapchainobjekt, das zuvor vom Betriebssystem in einem EVT_IDD_CX_MONITOR_ASSIGN_SWAPCHAIN Aufruf an den Treiber übergeben wurde.

pInArgs

[in] Zeiger auf eine IDARG_IN_RELEASEANDACQUIREBUFFER2-Struktur , die die Eingabeargumente für die Funktion enthält.

pOutArgs

[out] Zeiger auf eine IDARG_OUT_RELEASEANDACQUIREBUFFER2-Struktur , in der die Ausgabeargumente der Funktion zurückgegeben werden.

Rückgabewert

IddCxSwapChainReleaseAndAcquireBuffer2 gibt bei Erfolg S_OK zurück. Andernfalls wird ein entsprechender Fehlercode zurückgegeben.

Hinweise

Der Farbraum der Oberfläche, die in der IDDCX_METADATA2-Struktur übergeben wird, wird ebenfalls an den Treiber übergeben. Dies liegt daran, dass er sich möglicherweise pro Frame ändert und nicht mit dem Farbraum übereinstimmt, der beim Commit für einen Modus angegeben wurde.

Ebenso kann sich das Pixelformat der bereitgestellten Oberfläche frame-by-frame-Basis ändern. Wenn beispielsweise ein HDR-Modus für einen Pfad festgelegt wird, wird nicht garantiert, dass jede Oberfläche eine FP16-Oberfläche ist.

Die Weißebene für SDR-Inhalte ist auch enthalten, um auf Mauscursor angewendet zu werden.

Wenn IDDCX_METADATA2_VALID_FLAGS_HDR10METADATA in IDDCX_METADATA2::ValidFlags festgelegt ist, enthält IDDCX_METADATA2::Hdr10FrameMetaData gültige Daten. Diese Metadaten können einer von drei Typen sein:

  • Neue Daten, die der Treiber verwenden soll.
  • Ein Hinweis darauf, dass die Standardmetadaten verwendet werden sollten, die zuvor in einem Aufruf von EVT_IDD_CX_MONITOR_SET_DEFAULT_HDR_METADATA an den Treiber gesendet wurden.
  • Ein Hinweis darauf, dass alle zuvor gesendeten Metadaten erneut verwendet werden sollten. Wenn der Typ standardmäßig oder unverändert ist, sind die Werte in IDDCX_HDR10_FRAME_METADATA::NewMetaData ungültig.

IddCxSwapChainReleaseAndAcquireBuffer2 ersetzt auch IddCxSwapChainReleaseAndAcquireSystemBuffer. Ein Treiber, der IddCxSwapChainReleaseAndAcquireSystemBuffer genannt hätte, kann IDARG_IN_RELEASEANDACQUIREBUFFER2::AcquireSystemMemoryBuffer festlegen, um anzugeben, dass IDDCX_METADATA2::SystemBufferInfo ausgefüllt werden muss.

Treiber der Version 1.10, die keine FP16-Unterstützung melden, können diese Funktion weiterhin aufrufen, wenn sie im Betriebssystem verfügbar ist.

Weitere Informationen zur HDR-Unterstützung finden Sie unter Updates von IddCx, Version 1.10.

Remote-HDR-Metadaten

Das Betriebssystem übergibt keine HDR-Metadaten an Remotetreiber, da die HDR-Metadaten auf dem Clientsystem verwendet werden sollen, und keine vom Server generierten. Für Remotetreiber werden IDDCX_METADATA2_VALID_FLAGS_HDR10METADATA nie festgelegt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 11, Version 22H2 September Update (IddCx Version 1.10)
Kopfzeile iddcx.h

Weitere Informationen

IDARG_IN_RELEASEANDACQUIREBUFFER2

IDARG_OUT_RELEASEANDACQUIREBUFFER2

IDDCX_METADATA2