Metodo ID3D12GraphicsCommandList1::SetViewInstanceMask (d3d12.h)

Impostare una maschera che controlla le istanze di visualizzazione abilitate per i disegni successivi.

Sintassi

void SetViewInstanceMask(
  [in] UINT Mask
);

Parametri

[in] Mask

Tipo: UINT

Maschera che specifica quali visualizzazioni sono abilitate o disabilitate. Se bit i a partire dal bit meno significativo è impostato, l'istanza di visualizzazione i è abilitata.

Valore restituito

nessuno

Osservazioni

La maschera dell'istanza di visualizzazione influisce solo sugli oggetti PSO che dichiarano la maschera dell'istanza di visualizzazione specificando il flag di D3D12_VIEW_INSTANCING_FLAG_ENABLE_VIEW_INSTANCE_MASKING durante la creazione. Il tentativo di creare un'istanza di PSO che dichiara la maschera dell'istanza di visualizzazione avrà esito negativo nelle schede che non supportano l'instancing della visualizzazione.

La maschera dell'istanza di visualizzazione è predefinita su 0 che disabilita tutte le visualizzazioni. In questo modo le applicazioni che dichiarano la maschera di istanza di visualizzazione per scegliere in modo esplicito le visualizzazioni da abilitare, in caso contrario non verrà eseguito il rendering di nulla. Se la maschera dell'istanza di visualizzazione è abilitata per impostazione predefinita, l'applicazione potrebbe non ricordare di disabilitare le visualizzazioni inutilizzate, causando una perdita di prestazioni a causa di un lavoro perso.

I bundle non ereditano invece la maschera dell'istanza di visualizzazione dal chiamante, impostazione predefinita su 0. Ciò avviene perché l'impostazione della maschera deve essere nota quando il bundle viene registrato se influisce sul modo in cui un record di implementazione disegna. La maschera dell'istanza di visualizzazione impostata da un bundle persiste al chiamante dopo il completamento del bundle, tuttavia. Queste semantiche di ereditarietà sono simili a quelle di PSO.

Non vengono eseguiti percorsi di codice shader dipendenti dalla SV_ViewID in qualsiasi fase dello shader per le istanze di visualizzazione mascherate e nessun ritaglio, elaborazione del riquadro di visualizzazione o rasterizzazione. Le implementazioni che controllano la maschera durante il rendering possono comportare una piccola penalità delle prestazioni rispetto agli OGGETTI PSO che non dichiarano la maschera delle istanze di visualizzazione, ma in genere la penalità può essere superata dal risparmio delle prestazioni che comporta l'annullamento del lavoro associato alle visualizzazioni disattivate mascherate. A seconda della frequenza e della quantità di lavoro ignorato, i miglioramenti delle prestazioni possono essere significativi.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d12.h

Vedi anche

ID3D12GraphicsCommandList1