Condividi tramite


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

Vedi anche

ID3D11DeviceContext2