Création de ressources en mosaïques
Les ressources en mosaïque sont créées en spécifiant l’indicateur D3D11_RESOURCE_MISC_TILED lorsque vous créez une ressource.
Les restrictions sur le moment où vous pouvez utiliser D3D11_RESOURCE_MISC_TILED pour créer une ressource sont décrites dans Paramètres de création de ressource en mosaïque.
Le stockage d’une ressource non mosaïque est alloué dans le système graphique lors de la création de la ressource. Par exemple, lorsque vous appelez ID3D11Device::CreateTexture2D pour créer un tableau de textures 2D, le système graphique alloue du stockage pour ces textures 2D. Lorsqu’une ressource en mosaïque est créée, le système graphique n’alloue pas le stockage pour le contenu de la ressource. Au lieu de cela, lorsqu’une application crée une ressource en mosaïque, le système graphique effectue une réservation d’espace d’adressage pour la surface de la surface en mosaïque uniquement, puis autorise le mappage des vignettes à contrôler par l’application. Le « mappage » d’une vignette est simplement l’emplacement physique en mémoire vers lequel pointe une vignette logique d’une ressource (ou NULL pour une vignette non mappée). Ne confondez pas ce concept avec la notion de mappage d’une ressource Direct3D pour l’accès au processeur, qui, malgré l’utilisation du même nom, est totalement indépendante. Vous serez en mesure de définir et de modifier le mappage de chaque vignette individuellement en fonction des besoins, sachant que toutes les vignettes d’une surface n’ont pas besoin d’être mappées à la fois, ce qui permet d’utiliser efficacement la quantité de mémoire disponible.
Cette section fournit plus d’informations sur la création de ressources en mosaïque.
Contenu de cette section
Rubrique | Description |
---|---|
Mappages dans un pool de vignettes |
Lorsqu’une ressource est créée avec l’indicateur D3D11_RESOURCE_MISC_TILED , les vignettes qui la composent proviennent du pointage à des emplacements dans un pool de vignettes. Un pool de vignettes est un pool de mémoire (soutenu par une ou plusieurs allocations en arrière-plan , invisibles par l’application). |
Paramètres de création de ressources en mosaïque |
Il existe certaines contraintes sur le type de ressources Direct3D que vous pouvez créer avec l’indicateur D3D11_RESOURCE_MISC_TILED . Cette section fournit les paramètres valides pour la création de ressources en mosaïques. |
Espace d’adressage disponible pour les ressources en mosaïque |
Cette section spécifie l’espace d’adressage virtuel disponible pour les ressources en mosaïques. |
Paramètres de création d’un pool de vignettes |
Utilisez les paramètres de cette section pour définir des pools de vignettes via l’API ID3D11Device::CreateBuffer . |
Partage d’appareils et de processus de ressources en mosaïque |
Les pools de vignettes peuvent être partagés avec d’autres processus, tout comme les ressources traditionnelles. Les ressources en mosaïques qui font référence à des pools de vignettes ne peuvent pas être partagées entre les appareils et les processus. Toutefois, des processus distincts peuvent créer leurs propres ressources en mosaïque qui mappent à des pools de vignettes partagés entre ces ressources en mosaïques. |
Opérations disponibles sur les ressources en mosaïque |
Cette section répertorie les opérations que vous pouvez effectuer sur les ressources en mosaïque. |
Opérations disponibles sur les pools de vignettes |
Cette section répertorie les opérations que vous pouvez effectuer sur les pools de vignettes. |
Comment la zone d’une ressource en mosaïque est en mosaïque |
Lorsque vous créez une ressource en mosaïque, les dimensions, la taille des éléments de format et le nombre de mipmaps et/ou de tranches de tableau (le cas échéant) déterminent le nombre de vignettes nécessaires pour sauvegarder l’ensemble de la surface. |