Metodo ID3D11DeviceContext1::UpdateSubresource1 (d3d11_1.h)
La CPU copia i dati dalla memoria a una sottorisorsa creata in memoria non mappabile.
Sintassi
void UpdateSubresource1(
[in] ID3D11Resource *pDstResource,
[in] UINT DstSubresource,
[in, optional] const D3D11_BOX *pDstBox,
[in] const void *pSrcData,
[in] UINT SrcRowPitch,
[in] UINT SrcDepthPitch,
[in] UINT CopyFlags
);
Parametri
[in] pDstResource
Tipo: ID3D11Resource*
Puntatore alla risorsa di destinazione.
[in] DstSubresource
Tipo: UINT
Indice in base zero che identifica la sottorisorsa di destinazione. Per altri dettagli, vedere D3D11CalcSubresource .
[in, optional] pDstBox
Tipo: const D3D11_BOX*
Puntatore a una casella che definisce la parte della sottorisorsa di destinazione in cui copiare i dati della risorsa. Le coordinate sono in byte per i buffer e in texel per le trame. Se NULL, UpdateSubresource1 scrive i dati nella sottorisorsa di destinazione senza offset. Le dimensioni dell'origine devono corrispondere alla destinazione.
Una casella vuota restituisce un no-op. Una casella è vuota se il valore superiore è maggiore o uguale al valore inferiore oppure il valore sinistro è maggiore o uguale al valore destro oppure il valore anteriore è maggiore o uguale al valore indietro. Quando la casella è vuota, UpdateSubresource1 non esegue un'operazione di aggiornamento.
[in] pSrcData
Tipo: const void*
Puntatore ai dati di origine in memoria.
[in] SrcRowPitch
Tipo: UINT
Dimensione di una riga dei dati di origine.
[in] SrcDepthPitch
Tipo: UINT
Dimensione di una sezione di profondità dei dati di origine.
[in] CopyFlags
Tipo: UINT
Valore tipizzato D3D11_COPY_FLAGS che specifica come eseguire l'operazione di aggiornamento. Se si specifica zero per nessuna opzione di aggiornamento, UpdateSubresource1 si comporta come ID3D11DeviceContext::UpdateSubresource. Per i driver di visualizzazione esistenti che non possono elaborare questi flag, il runtime non li usa.
Valore restituito
nessuno
Osservazioni
Se si chiama UpdateSubresource1 per aggiornare un buffer costante, passare qualsiasi area e il driver non è stato implementato per Windows 8, il runtime elimina la chiamata (ad eccezione del livello di funzionalità 9.1, 9.2 e 9.3 in cui il runtime emula il supporto). Il runtime elimina anche la chiamata se si aggiorna un buffer costante con un'area parziale il cui extent non è allineato alla granularità di 16 byte (16 byte è una costante completa). Quando il runtime elimina la chiamata, il runtime non chiama l'interfaccia DDI (Device Driver Interface) corrispondente.
Quando si registra una chiamata a UpdateSubresource con un offset pDstBox in un elenco di comandi software, l'offset in pDstBox viene applicato in modo non corretto a pSrcData quando si riproduce l'elenco di comandi. Il nuovo for-Windows 8 UpdateSubresource1 risolve questo problema. In una chiamata a UpdateSubresource1pDstBox non influisce su pSrcData.
Per informazioni sui vari tipi di risorse e sul funzionamento di UpdateSubresource1 con ogni tipo di risorsa, vedere Introduzione a una risorsa in Direct3D 11.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 e aggiornamento della piattaforma per Windows 7 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2012 e aggiornamento della piattaforma per Windows Server 2008 R2 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | d3d11_1.h |
Libreria | D3D11.lib |