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.

RemarqueS’applique uniquement au niveau des fonctionnalités 9_x matériel Si vous utilisez UpdateSubresource1 ou ID3D11DeviceContext1 ::CopySubresourceRegion1 pour copier à partir d’une ressource intermédiaire vers une ressource par défaut, vous pouvez endommager le contenu de destination. Cela se produit si vous transmettez une zone source NULL et si la ressource source a des dimensions différentes de celles de la ressource de destination ou si vous utilisez des décalages de destination, (x, y et z). Dans ce cas, transmettez toujours une zone source qui correspond à la taille complète de la ressource source.
 

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

Voir aussi

ID3D11DeviceContext1