Metodo ID3D11DeviceContext2::TiledResourceBarrier (d3d11_2.h)
Specifica un vincolo di ordinamento degli accessi ai dati tra più risorse riquadri. Per altre informazioni su questo vincolo, vedere Osservazioni.
Sintassi
void TiledResourceBarrier(
[in, optional] ID3D11DeviceChild *pTiledResourceOrViewAccessBeforeBarrier,
[in, optional] ID3D11DeviceChild *pTiledResourceOrViewAccessAfterBarrier
);
Parametri
[in, optional] pTiledResourceOrViewAccessBeforeBarrier
Tipo: ID3D11DeviceChild*
Puntatore a un ID3D11Resource o ID3D11View per una risorsa creata con il flag di D3D11_RESOURCE_MISC_TILED . Le operazioni di accesso su questo oggetto devono essere completate prima delle operazioni di accesso sull'oggetto pTiledResourceOrViewAccessAfterBarrier .
[in, optional] pTiledResourceOrViewAccessAfterBarrier
Tipo: ID3D11DeviceChild*
Puntatore a un ID3D11Resource o ID3D11View per una risorsa creata con il flag di D3D11_RESOURCE_MISC_TILED . Le operazioni di accesso su questo oggetto devono iniziare dopo le operazioni di accesso sull'oggetto che pTiledResourceOrViewAccessBeforeBarrier specifica.
Valore restituito
nessuno
Osservazioni
Le app possono usare le risorse riquadri per riutilizzare i riquadri in risorse diverse. Tuttavia, un dispositivo e un driver potrebbero non essere in grado di determinare se una memoria in un pool di riquadri appena eseguito viene usata per la lettura.
Ad esempio, un'app può eseguire il rendering di alcuni riquadri in un pool di riquadri con una risorsa riquadri, ma quindi leggere dagli stessi riquadri usando una risorsa a riquadri diversa. Queste operazioni delle risorse riquadri sono diverse dall'uso di una risorsa e quindi passano dalla scrittura con ID3D11RenderTargetView alla lettura con ID3D11ShaderResourceView. Il runtime tiene già traccia e gestisce queste operazioni di risorsa usando ID3D11RenderTargetView e ID3D11ShaderResourceView.
Quando un'app passa dall'accesso (lettura o scrittura) a una posizione in un pool di riquadri con una risorsa per accedere alla stessa memoria (lettura o scrittura) tramite un'altra risorsa riquadri (con mapping alla stessa memoria), l'app deve chiamare TiledResourceBarrier dopo il primo utilizzo della risorsa e prima del secondo. I parametri sono pTiledResourceOrViewAccessBeforeBarrier per gli accessi prima della barriera (tramite rendering, copia) e pTiledResourceOrViewAccessAfterBarrier per gli accessi dopo la barriera usando la stessa memoria del pool di riquadri. Se le risorse sono identiche, l'app non deve chiamare TiledResourceBarrier perché questo tipo di pericolo è già monitorato e gestito.
La chiamata di barriera informa il driver che le operazioni rilasciate alla risorsa prima del completamento della chiamata devono essere completate prima di qualsiasi accesso che si verifica dopo la chiamata tramite una risorsa a riquadri diversa che condivide la stessa memoria.
Entrambi i parametri (prima o dopo la barriera) possono essere NULL. NULL prima della barriera significa che tutti gli accessi alle risorse riquadri prima che la barriera venga completata prima che la risorsa specificata dopo che la barriera possa essere a cui fa riferimento l'unità di elaborazione grafica (GPU). NULL dopo la barriera significa che tutte le risorse riquadri accessibili dopo che la barriera può essere eseguita solo dalla GPU dopo l'accesso alle risorse riquadri prima che la barriera venga completata. Entrambi NULL significa che tutti gli accessi alle risorse riquadri precedenti vengono completati prima che l'accesso a una risorsa riquadri successiva possa procedere.
Un'app può passare un puntatore di visualizzazione, una risorsa o NULL per ogni parametro. Le visualizzazioni sono consentite non solo per praticità, ma anche per consentire all'app di definire l'ambito dell'effetto barriera a una parte rilevante di una risorsa.
Per altre informazioni sulle risorse riquadri, vedere Risorse riquadri.
Requisiti
Client minimo supportato | Windows 8.1 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2012 R2 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | d3d11_2.h |
Libreria | D3D11.lib |