Metodo ID3D11DeviceContext2::CopyTileMappings (d3d11_2.h)
Copia i mapping da una risorsa affiancata di origine a una risorsa affiancata di destinazione.
Sintassi
HRESULT CopyTileMappings(
[in] ID3D11Resource *pDestTiledResource,
[in] const D3D11_TILED_RESOURCE_COORDINATE *pDestRegionStartCoordinate,
[in] ID3D11Resource *pSourceTiledResource,
[in] const D3D11_TILED_RESOURCE_COORDINATE *pSourceRegionStartCoordinate,
[in] const D3D11_TILE_REGION_SIZE *pTileRegionSize,
[in] UINT Flags
);
Parametri
[in] pDestTiledResource
Tipo: ID3D11Resource*
Puntatore alla risorsa affiancata di destinazione.
[in] pDestRegionStartCoordinate
Tipo: const D3D11_TILED_RESOURCE_COORDINATE*
Puntatore a una struttura D3D11_TILED_RESOURCE_COORDINATE che descrive le coordinate iniziali della risorsa affiancata di destinazione.
[in] pSourceTiledResource
Tipo: ID3D11Resource*
Puntatore alla risorsa affiancata di origine.
[in] pSourceRegionStartCoordinate
Tipo: const D3D11_TILED_RESOURCE_COORDINATE*
Puntatore a una struttura D3D11_TILED_RESOURCE_COORDINATE che descrive le coordinate iniziali della risorsa affiancata di origine.
[in] pTileRegionSize
Tipo: const D3D11_TILE_REGION_SIZE*
Puntatore a una struttura D3D11_TILE_REGION_SIZE che descrive le dimensioni dell'area affiancata.
[in] Flags
Tipo: UINT
Combinazione di valori D3D11_TILE_MAPPING_FLAGS combinati tramite un'operazione OR bit per bit. L'unico valore valido è D3D11_TILE_MAPPING_NO_OVERWRITE, che indica che i comandi inviati in precedenza al dispositivo che potrebbero ancora essere in esecuzione non fanno riferimento ad alcuna area del riquadro da aggiornare. Il dispositivo può quindi evitare di dover scaricare il lavoro inviato in precedenza per eseguire l'aggiornamento del mapping dei riquadri. Se l'app viola questa promessa aggiornando i mapping dei riquadri per le posizioni nelle risorse affiancate a cui viene ancora fatto riferimento da comandi in sospeso, i risultati del comportamento di rendering non definito, incluso il potenziale di rallentamenti significativi in alcune architetture. Questo è simile al concetto di "nessuna sovrascrittura" presente altrove nell'API Direct3D, ad eccezione dell'applicazione alla struttura dei dati di mapping dei riquadri stessa (che in hardware è una tabella di pagine). L'assenza del valore D3D11_TILE_MAPPING_NO_OVERWRITE richiede che gli aggiornamenti del mapping dei riquadri specificati da CopyTileMappings siano completati prima che qualsiasi comando Direct3D successivo possa continuare.
Valore restituito
Tipo: HRESULT
Restituisce S_OK in caso di esito positivo; in caso contrario, restituisce uno dei valori seguenti:
- Restituisce E_INVALIDARG se varie condizioni, ad esempio flag non validi o passaggio di risorse non affiancate, comportano l'eliminazione della chiamata. L'oggetto dest e le aree di origine devono essere completamente adatti alla risorsa o al comportamento non definito (il livello di debug genererà un errore).
- Restituisce E_OUTOFMEMORY se la chiamata comporta la necessità di allocare spazio per i mapping di nuove tabelle di pagine ma di memoria insufficiente. Se la memoria insufficiente si verifica quando viene chiamato in un elenco di comandi e l'elenco di comandi viene eseguito, il dispositivo verrà rimosso. Le applicazioni possono evitare questa situazione solo eseguendo chiamate di aggiornamento che modificano i mapping esistenti da Risorse affiancate all'interno di elenchi di comandi ( pertanto i driver non dovranno allocare memoria della tabella di pagina, modificando solo il mapping).
Commenti
CopyTileMappings consente di eseguire attività quali lo spostamento dei mapping all'interno e tra le risorse affiancate, ad esempio i riquadri a scorrimento. Le aree di origine e di destinazione possono sovrapporsi; il risultato della copia in questa situazione è come se l'origine fosse salvata in un percorso temporaneo e quindi da lì scritta nella destinazione.
Per altre informazioni sulle risorse affiancate, vedi Risorse affiancate.
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 |