Fonction IddCxSwapChainReleaseAndAcquireBuffer2 (iddcx.h)

Un pilote d’affichage indirect appelle IddCxSwapChainReleaseAndAcquireBuffer2 pour libérer la mémoire tampon actuelle dans la chaîne d’échange et en acquérir une nouvelle. Un pilote qui prend en charge les adaptateurs HDR doit utiliser IddCxSwapChainReleaseAndAcquireBuffer2 au lieu d’IddCxSwapChainReleaseAndAcquireBuffer et IddCxSwapChainReleaseAndAcquireSystemBuffer.

Syntaxe

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

Paramètres

SwapChainObject

[in] Objet de chaîne d’échange précédemment transmis par le système d’exploitation au pilote dans un appel de EVT_IDD_CX_MONITOR_ASSIGN_SWAPCHAIN .

pInArgs

[in] Pointeur vers une structure IDARG_IN_RELEASEANDACQUIREBUFFER2 contenant les arguments d’entrée de la fonction.

pOutArgs

[out] Pointeur vers une structure IDARG_OUT_RELEASEANDACQUIREBUFFER2 dans laquelle les arguments de sortie de la fonction sont retournés.

Valeur retournée

IddCxSwapChainReleaseAndAcquireBuffer2 retourne S_OK en cas de réussite ; sinon, il retourne un code d’erreur approprié.

Remarques

L’espace de couleurs de la surface passée dans le struct IDDCX_METADATA2 est également passé au pilote. Cela est dû au fait qu’il peut changer par image et ne pas correspondre à l’espace de couleur spécifié lors de la validation d’un mode.

De même, le format de pixels de la surface fournie peut changer d’image par image. Par exemple, si un mode HDR est validée sur un chemin d’accès, cela ne garantit pas que chaque surface sera une surface FP16.

Le niveau blanc du contenu SDR est également inclus pour être appliqué aux curseurs de souris.

Si IDDCX_METADATA2_VALID_FLAGS_HDR10METADATA est défini dans IDDCX_METADATA2 ::ValidFlags , IDDCX_METADATA2 ::Hdr10FrameMetaData contient des données valides. Ces métadonnées peuvent être de l’un des trois types suivants :

  • Nouvelles données que le pilote doit utiliser.
  • Indique que les métadonnées par défaut précédemment envoyées au pilote dans un appel à EVT_IDD_CX_MONITOR_SET_DEFAULT_HDR_METADATA doivent être utilisées.
  • Indique que les métadonnées précédemment envoyées doivent être réutilisées. Lorsque le type est par défaut ou inchangé, les valeurs dans IDDCX_HDR10_FRAME_METADATA ::NewMetaData ne sont pas valides.

IddCxSwapChainReleaseAndAcquireBuffer2 remplace également IddCxSwapChainReleaseAndAcquireSystemBuffer. Un pilote qui aurait appelé IddCxSwapChainReleaseAndAcquireSystemBuffer peut définir IDARG_IN_RELEASEANDACQUIREBUFFER2 ::AcquireSystemMemoryBuffer pour indiquer qu’il a besoin de IDDCX_METADATA2 ::SystemBufferInfo renseigné.

Les pilotes version 1.10 qui ne signalent pas la prise en charge fp16 peuvent toujours appeler cette fonction si elle est disponible dans le système d’exploitation.

Pour plus d’informations sur la prise en charge HDR, consultez Mises à jour d’IddCx version 1.10.

Métadonnées HDR distantes

Le système d’exploitation ne transmet pas de métadonnées HDR aux pilotes distants, car les métadonnées HDR sur le système client doivent être utilisées, et non pas générées par le serveur. Pour les pilotes distants , IDDCX_METADATA2_VALID_FLAGS_HDR10METADATA ne sera jamais défini.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 11, version 22H2 Mise à jour de septembre (IddCx version 1.10)
En-tête iddcx.h

Voir aussi

IDARG_IN_RELEASEANDACQUIREBUFFER2

IDARG_OUT_RELEASEANDACQUIREBUFFER2

IDDCX_METADATA2