Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Abschnitt gilt nur für Windows 7 und höher und Windows Server 2008 R2 und höhere Versionen von Windows-Betriebssystem.
Das Overlay-DDI ist eine Erweiterung der Direct3D-Version 9 DDI , um die Overlayunterstützung zu überprüfen. Der Overlay-DDI besteht aus den folgenden Einstiegspunkten:
Der D3DDDICAPS_CHECKOVERLAYSUPPORT Wert aus der D3DDDICAPS_TYPE-Aufzählung wird von der Direct3D-Laufzeit verwendet, um zu überprüfen, ob das Anzeigegerät eine bestimmte Überlagerung unterstützt. Die Laufzeit legt D3DDDICAPS_CHECKOVERLAYSUPPORT im Type-Element der D3DDDIARG_GETCAPS-Struktur fest, auf die der pData-Parameter der GetCaps-Funktion des Treibers verweist, wenn die Laufzeit GetCaps aufruft. Die Laufzeit legt außerdem das pInfo-Element von D3DDDIARG_GETCAPS auf einen Zeiger zu einer DDICHECKOVERLAYSUPPORTINPUT-Struktur fest, die die Überlagerung beschreibt. Wenn der Treiber die Überlagerung unterstützt, legt der Treiber die Mitglieder einer D3DOVERLAYCAPS-Struktur fest und gibt einen Zeiger auf diese Struktur im pData-Mitglied von D3DDDIARG_GETCAPS zurück. Andernfalls, wenn der Treiber das Overlay nicht unterstützt, schlägt der Treiber den Aufruf der GetCaps-Funktion entweder mit D3DDDIERR_UNSUPPORTEDOVERLAYFORMAT oder D3DDDIERR_UNSUPPORTEDOVERLAY fehl, je nachdem, ob die fehlende Unterstützung auf dem Overlay-Format beruht. D3DOVERLAYCAPS wird in der DirectX SDK-Dokumentation beschrieben.
Der Treiber legt die Elemente "MaxOverlayDisplayWidth " und "MaxOverlayDisplayHeight " von D3DOVERLAYCAPS fest, um alle Einschränkungen anzugeben, die der Treiber und die Hardware aufweisen können, was die endgültige Überlagerungsgröße (nach dem Strecken der Overlaydaten) umfasst.
Der Treiber legt die D3DOVERLAYCAPS_STRETCHX (0x00000040) und D3DOVERLAYCAPS_STRETCHY (0x00000080) Funktionsbits im Caps-Element von D3DOVERLAYCAPS fest, um anzugeben, dass die Overlayhardware in der Lage ist, die Overlaydaten willkürlich zu strecken und zu verkleinern. Treiber sollten nicht versuchen, die Überlagerungsstreckung über die GPU zu emulieren und diese Grenzwerte nur festzulegen, wenn die Overlayhardware das Strecken unterstützt. Weniger Aufwand ist in der Regel erforderlich, damit die Anwendung die GPU-Dehnung als Teil der Videoverarbeitungs- und Kompositionsphase durchführt, als dass der Treiber am Ende einen separaten Durchgang durchführt, um die Überlagerungsdehnung zu emulieren.
Der Treiber sollte die folgenden neuen Bitfeldkennzeichnungen aus der D3DDDI_OVERLAYINFOFLAGS Struktur behandeln. Eine D3DDDI_OVERLAYINFOFLAGS Struktur identifiziert den Auszuführenden Überlagerungsvorgangstyp. Eine D3DDDI_OVERLAYINFOFLAGS Struktur wird im Flags-Element der D3DDDI_OVERLAYINFO-Struktur in einem Aufruf der CreateOverlay - oder UpdateOverlay-Funktion des Treibers angegeben.
LimitedRGB
Bei der Überlagerung handelt es sich um einen begrenzten RGB-Bereich und nicht um einen vollständigen RGB-Bereich. Im begrenzten Bereich RGB wird der RGB-Bereich komprimiert, sodass 16:16:16 schwarz und 235:235:235 weiß ist.YCbCrBT709
Die Überlagerung ist BT.709, die high-definition TV (HDTV) anstelle von BT.601 angibt.YCbCrxvYCC
Die Überlagerung ist erweitertes YCbCr (xvYCC) statt herkömmlichem YCbCr.Wenn das Anzeigeformat 64 Bit und nicht 32 Bit ist (z. B. wenn der Desktop Windows Manager (DWM) D3DFMT_A16B16G16R16F für den Anzeigemodus verwendet), platziert die Laufzeit die unteren 32 Bit des Überlagerungsfarbschlüssels im DstColorKeyLow-Element der D3DDDI_OVERLAYINFO Struktur und die oberen 32 Bit im DstColorKeyHigh-Element von D3DDDI_OVERLAYINFO.