ID3D11DeviceContext1 ::UpdateSubresource1, méthode (d3d11_1.h)
Le processeur copie les données de la mémoire vers une sous-ressource créée dans la mémoire non mappable.
Syntaxe
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
);
Paramètres
[in] pDstResource
Type : ID3D11Resource*
Pointeur vers la ressource de destination.
[in] DstSubresource
Type : UINT
Index de base zéro qui identifie la sous-ressource de destination. Pour plus d’informations, consultez D3D11CalcSubresource .
[in, optional] pDstBox
Type : const D3D11_BOX*
Pointeur vers une zone qui définit la partie de la sous-ressource de destination dans laquelle copier les données de ressource. Les coordonnées sont exprimées en octets pour les mémoires tampons et en texels pour les textures. Si la valeur est NULL, UpdateSubresource1 écrit les données dans la sous-ressource de destination sans décalage. Les dimensions de la source doivent correspondre à la destination.
Une zone vide entraîne une absence d’opération. Une zone est vide si la valeur supérieure est supérieure ou égale à la valeur inférieure, ou si la valeur de gauche est supérieure ou égale à la valeur de droite, ou si la valeur de début est supérieure ou égale à la valeur d’arrière-plan. Lorsque la zone est vide, UpdateSubresource1 n’effectue pas d’opération de mise à jour.
[in] pSrcData
Type : const void*
Pointeur vers les données sources en mémoire.
[in] SrcRowPitch
Type : UINT
Taille d’une ligne des données sources.
[in] SrcDepthPitch
Type : UINT
Taille d’une tranche de profondeur des données sources.
[in] CopyFlags
Type : UINT
Valeur de type D3D11_COPY_FLAGS qui spécifie comment effectuer l’opération de mise à jour. Si vous spécifiez zéro pour aucune option de mise à jour, UpdateSubresource1 se comporte comme ID3D11DeviceContext ::UpdateSubresource. Pour les pilotes d’affichage existants qui ne peuvent pas traiter ces indicateurs, le runtime ne les utilise pas.
Valeur de retour
None
Remarques
Si vous appelez UpdateSubresource1 pour mettre à jour une mémoire tampon constante, transmettez une région et que le pilote n’a pas été implémenté pour Windows 8, le runtime supprime l’appel (à l’exception des niveaux de fonctionnalité 9.1, 9.2 et 9.3 où le runtime émule la prise en charge). Le runtime supprime également l’appel si vous mettez à jour une mémoire tampon constante avec une région partielle dont l’étendue n’est pas alignée sur la granularité de 16 octets (16 octets étant une constante complète). Lorsque le runtime supprime l’appel, le runtime n’appelle pas l’interface de pilote de périphérique (DDI) correspondante.
Lorsque vous enregistrez un appel à UpdateSubresource avec un offset pDstBox dans une liste de commandes logicielles, le décalage dans pDstBox est appliqué de manière incorrecte à pSrcData lorsque vous lisez la liste de commandes. Le new-for-Windows 8 UpdateSubresource1 résout ce problème. Dans un appel à UpdateSubresource1, pDstBox n’affecte pas pSrcData.
Pour plus d’informations sur les différents types de ressources et sur le fonctionnement de UpdateSubresource1 avec chaque type de ressource, consultez Présentation d’une ressource dans Direct3D 11.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 et mise à jour de plateforme pour Windows 7 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2012 et mise à jour de plateforme pour Windows Server 2008 R2 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | d3d11_1.h |
Bibliothèque | D3D11.lib |