DDI sovrimpressione

Questa sezione si applica solo a Windows 7 e versioni successive e Windows Server 2008 R2 e versioni successive del sistema operativo Windows.

Overlay DDI è un'estensione dell'DDI Direct3D versione 9 per verificare il supporto della sovrimpressione. La DDI overlay è costituita dai punti di ingresso seguenti:

  • Il valore D3DDDICAPS_CHECKOVERLAYSUPPORT dell'enumerazione D3DDDICAPS_TYPE viene usato dal runtime Direct3D per verificare se il dispositivo di visualizzazione supporta una particolare sovrimpressione. Il runtime imposta D3DDDICAPS_CHECKOVERLAYSUPPORT nel membro Type della struttura D3DDDIARG_GETCAPS a cui punta il parametro pData della funzione GetCaps del driver quando il runtime chiama GetCaps. Il runtime imposta anche il membro pInfo di D3DDDIARG_GETCAPS su un puntatore a una struttura DDICHECKOVERLAYSUPPORTINPUT che descrive la sovrimpressione. Se il driver supporta la sovrimpressione, il driver imposta i membri di una struttura D3DOVERLAYCAPS e restituisce un puntatore a questa struttura nel membro pData di D3DDDIARG_GETCAPS. In caso contrario, se il driver non supporta la sovrimpressione, il driver non riesce a eseguire la chiamata alla relativa funzione GetCaps con D3DDDIERR_UNSUPPORTEDOVERLAYFORMAT o D3DDDIERR_UNSUPPORTEDOVERLAY a seconda che la mancanza di supporto fosse basata sul formato di sovrimpressione. D3DOVERLAYCAPS è descritto nella documentazione di DirectX SDK.

    Il driver imposta i membri MaxOverlayDisplayWidth e MaxOverlayDisplayHeight di D3DOVERLAYCAPS per indicare eventuali restrizioni che il driver e l'hardware potrebbero avere, che comportano la dimensione finale della sovrimpressione (dopo aver esteso i dati di sovrimpressione).

    Il driver imposta i bit di funzionalità D3DOVERLAYCAPS_STRETCHX (0x00000040) e D3DOVERLAYCAPS_STRETCHY (0x00000080) nel membro Caps di D3DOVERLAYCAPS per indicare che l'hardware di sovrimpressione è in grado di estendere e compattare arbitrariamente i dati di sovrimpressione. I driver non devono tentare di emulare l'estensione della sovrimpressione attraverso la GPU e devono impostare questi limiti solo se l'hardware di sovrimpressione supporta l'estensione. Un sovraccarico inferiore è in genere necessario per l'applicazione per eseguire l'estensione GPU come parte della fase di elaborazione e composizione video rispetto a per consentire al driver di eseguire un passaggio separato alla fine per emulare l'estensione della sovrimpressione.

  • Il driver deve gestire i nuovi flag di campo di bit seguenti dalla struttura D3DDDI_OVERLAYINFOFLAGS . Una struttura D3DDDI_OVERLAYINFOFLAGS identifica il tipo di operazione di sovrimpressione da eseguire. Una struttura D3DDDI_OVERLAYINFOFLAGS viene specificata nel membro Flags della struttura D3DDDI_OVERLAYINFO in una chiamata alla funzione CreateOverlay o UpdateOverlay del driver.

    LimitedRGB
    La sovrimpressione è un intervallo limitato RGB anziché RGB a intervalli completi. In intervallo limitato RGB, l'intervallo RGB è compresso in modo che 16:16:16 sia nero e 235:235:235 è bianco.

    YCbCrBT709
    La sovrimpressione è BT.709, che indica tv ad alta definizione (XAML), anziché BT.601.

    YCbCrxvYCC
    La sovrimpressione è estesa YCbCr (xvYCC) anziché YCbCr convenzionale.

  • Quando il formato di visualizzazione è a 64 bit anziché a 32 bit (ad esempio, quando Desktop Windows Manager (DWM) usa D3DFMT_A16B16G16R16F per la modalità di visualizzazione), il runtime posiziona i 32 bit inferiori della colorkey di sovrimpressione nel membro DstColorKeyLow della struttura D3DDDI_OVERLAYINFO e i 32 bit superiori nel membro DstColorKeyHigh di D3DDDI_OVERLAYINFO.