Condividi tramite


struttura DXGK_SETVIDPNSOURCEADDRESS_FLAGS (d3dkmddi.h)

La struttura DXGK_SETVIDPNSOURCEADDRESS_FLAGS identifica il tipo specifico di operazione da eseguire in una chiamata alle funzioni DxgkDdiSetVidPnSourceAddress o DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay del driver miniport.

Sintassi

typedef struct _DXGK_SETVIDPNSOURCEADDRESS_FLAGS {
  union {
    struct {
      UINT ModeChange : 1;
      UINT FlipImmediate : 1;
      UINT FlipOnNextVSync : 1;
      UINT FlipStereo : 1;
      UINT FlipStereoTemporaryMono : 1;
      UINT FlipStereoPreferRight : 1;
      UINT SharedPrimaryTransition : 1;
      UINT IndependentFlipExclusive : 1;
      UINT MoveFlip : 1;
#if ...
      UINT Reserved : 23;
#elif
      UINT Reserved : 24;
#elif
      UINT Reserved : 25;
#else
      UINT Reserved : 29;
#endif
    };
         UINT Value;
  };
} DXGK_SETVIDPNSOURCEADDRESS_FLAGS;

Members

ModeChange

Valore UINT che specifica per il driver di cambiare la modalità di visualizzazione.

L'impostazione di questo membro equivale all'impostazione del primo bit del membro Value a 32 bit (0x00000001).

FlipImmediate

Valore UINT che specifica che il driver deve eseguire un'operazione di inversione che si verifica senza sincronizzazione verticale.

L'impostazione di questo membro equivale all'impostazione del secondo bit del membro Value a 32 bit (0x00000002).

FlipOnNextVSync

Valore UINT che specifica che il driver deve eseguire un'operazione di inversione che si verifica nella sincronizzazione verticale successiva.

L'impostazione di questo membro equivale all'impostazione del terzo bit del membro Value a 32 bit (0x00000004).

[in] FlipStereo

Supportato a partire da Windows 8.

Specifica se il driver capovolge immagini sia a sinistra che a destra di un'allocazione stereo.

Se il membro FlipOnNextVSync della struttura DXGK_SETVIDPNSOURCEADDRESS_FLAGS è impostato, il driver completa il capovolgimento all'immagine sinistra nella successiva VSync e completa l'inversione sull'immagine destra nella VSync seguente.

Se il membro FlipImmediate della struttura DXGK_SETVIDPNSOURCEADDRESS_FLAGS è impostato, il driver inizia immediatamente a eseguire l'analisi dalla nuova allocazione. Ad esempio, se il driver esegue l'analisi di un'immagine corretta, avvia la nuova analisi dallo stesso offset relativo nell'immagine corretta della nuova allocazione.

I membri FlipStereo e FlipStereoTemporaryMono non possono essere entrambi impostati contemporaneamente.

Per altri requisiti, vedere la sezione Osservazioni.

L'impostazione di questo membro equivale all'impostazione del quarto bit del membro Valore a 32 bit (0x00000008).

[in] FlipStereoTemporaryMono

Supportato a partire da Windows 8.

Specifica se il driver utilizza l'immagine sinistra di un'allocazione stereo per le parti destra e sinistra di un frame stereo. Il driver esegue la stessa operazione presente di FlipStereo, ad eccezione del fatto che esegue l'analisi solo dall'immagine sinistra per produrre entrambe le immagini di un fotogramma stereo.

Questo membro deve essere impostato solo se il driver segnala il supporto per questa opzione nella modalità di visualizzazione corrente impostando il membro Type della struttura D3DKMDT_VIDPN_SOURCE_MODE su D3DKMDT_RMT_GRAPHICS_STEREO_ADVANCED_SCAN.

I membri FlipStereo e FlipStereoTemporaryMono non possono essere entrambi impostati contemporaneamente.

I membri FlipStereoTemporaryMono e FlipStereoPreferRight non possono essere entrambi impostati contemporaneamente.

Per altri requisiti, vedere la sezione Osservazioni.

L'impostazione di questo membro equivale all'impostazione del quinto bit del membro Valore a 32 bit (0x00000010).

[in] FlipStereoPreferRight

Supportato a partire da Windows 8.

Specifica che quando il driver clona un'allocazione primaria stereo in un monitor mono, usa l'immagine corretta.

I membri FlipStereoTemporaryMono e FlipStereoPreferRight non possono essere entrambi impostati contemporaneamente.

Per altri requisiti, vedere la sezione Osservazioni.

L'impostazione di questo membro equivale all'impostazione del sesto bit del membro Value a 32 bit (0x00000020).

[in] SharedPrimaryTransition

Supportato a partire da Windows 8.

Specifica che il driver sta passando a o da un'allocazione primaria gestita condivisa.

Questo membro viene impostato se si verifica una delle transizioni seguenti:

  • L'allocazione primaria corrente non è un'allocazione primaria condivisa, ma la nuova è.
  • L'allocazione primaria corrente è un'allocazione primaria condivisa, ma quella nuova non è.
Quando SharedPrimaryTransition è impostato, il driver miniport di visualizzazione deve verificare che l'hardware possa passare facilmente tra allocazioni primarie e condivise e deve eseguire qualsiasi programmazione hardware necessaria per rendere possibile il commutatore facile.

L'impostazione di questo membro equivale all'impostazione del settimo bit del membro Value a 32 bit (0x00000040).

[in] IndependentFlipExclusive

Supportato a partire da Windows 10.

Quando IndependentFlipExlusive è impostato, il capovolgimento viene eseguito nella modalità esclusiva di capovolgimento indipendente. Il buffer anteriore è accessibile solo dall'hardware di visualizzazione (non dal DWM) e il driver in modalità kernel può applicare ottimizzazioni correlate alla sincronizzazione verticale.

[in] MoveFlip

Supportato a partire da Windows 10.

Quando MoveFlip è impostato, il driver riceve una notifica per usare qualsiasi stato salvato dal capovolgimento precedente per configurare la nuova richiesta di analisi.

[in] Reserved

Questo membro è riservato e deve essere impostato su zero. L'impostazione di questo membro su zero equivale all'impostazione dei restanti 23 bit (0xFFFFFF00) del membro Value a 32 bit su zeri.

Value

Membro nell'unione che DXGK_SETVIDPNSOURCEADDRESS_FLAGS contiene che può contenere un valore a 32 bit che identifica il tipo di operazione.

Commenti

Se vengono impostati uno dei membri FlipStereo, FlipStereoTemporaryMono o FlipStereoPreferRight , si applicano le condizioni seguenti:

  • Il membro hAllocation della struttura DXGKARG_SETVIDPNSOURCEADDRESS punta a un'allocazione creata con il membro Stereo impostato nel membro Flags della struttura D3DKMT_DISPLAYMODE .
  • I membri PrimarySegment e PrimaryAddress di DXGKARG_SETVIDPNSOURCEADDRESS puntano all'indirizzo fisico iniziale dell'allocazione.
  • Il driver rispetta le impostazioni dei membri FlipImmediate e FlipOnNextVSync della struttura DXGK_SETVIDPNSOURCEADDRESS_FLAGS .
A partire da Windows 8, il driver miniport di visualizzazione può non riuscire una chiamata alla funzione DxgkDdiSetVidSourceAddress, restituendo STATUS_INVALID_PARAMETER, quando il membro SharedPrimaryTransition è impostato in pSetVidPnSourceAddress->Flags. Tuttavia, tale errore non è previsto a meno che non si verifichi un errore nell'implementazione del driver in modalità utente della funzione CheckDirectFlipSupport o in Desktop Window Manager (DWM). Se si verifica un errore di questo tipo, il sistema operativo non eseguirà facilmente il failback alla modalità di composizione e la presentazione non sarà corretta.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows Vista.
Intestazione d3dkmddi.h (include D3dkmddi.h)

Vedi anche

D3DKMT_DISPLAYMODE

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_SETVIDPNSOURCEADDRESS_FLAGS

DxgkDdiSetVidPnSourceAddress

DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay