Passer au contenu principal

XBOX Graphics (XG) pour la préparation native des ressources

La bibliothèque XBOX Graphics (XG) est une bibliothèque graphique auxiliaire utilisée pour la préparation des ressources et pour d’autres tâches liées aux graphiques qui sont effectuées en dehors des interfaces du runtime Direct3D. XG est semblable à XGraphics dans le XDK de la XBOX 360. La bibliothèque XG fournit plusieurs API qui vous permettent d’interagir avec les dispositions de ressources natives du matériel XBOX One et avec la mémoire des ressources. XG contient des API permettant d’effectuer les opérations suivantes.
  • Déterminer la taille et la disposition de la mémoire des ressources de texture natives, y compris les sous-ressources (mipmaps et tranches de tableau/volume)
  • Indexer et copier des texels de l’ordre linéaire vers l’ordre entrelacé (swizzled), et inversement
  • Créer des descripteurs de texture natifs du matériel pour les dispositions de ressources, et créer des dispositions de ressources à partir de descripteurs de texture matériels
  • Calculer les bits d’entrelacement d’adresse utilisés pour la rotation des banques des surfaces de cibles de rendu
  • Compresser et décompresser les données de surface pour la fonctionnalité matérielle de compression des couleurs delta (DCC) du GPU de la XBOX One X
La bibliothèque XG est fournie sous deux formes : une version runtime qui peut être liée à votre titre et une version PC 64 bits destinée à une utilisation hors ligne, qui s’exécute sur n’importe quel système Windows, y compris les plateformes de bureau et de serveur. La version hors ligne de XG peut être intégrée à des outils de contenu ou à des systèmes de génération. Utilisez xg_x.dll et xg_x.lib. Pour plus d’informations, consultez Référence XG.

Placement en mémoire des ressources pour les mémoires tampons et les textures

Pour créer au moment de l’exécution les ressources hors ligne/placées que vous prétraitez à l’aide de la bibliothèque XG, appelez ces méthodes de ID3D12Device : D3D12XBOX_COMPONENT_PLACED_ADDRESSES est une structure utilisée avec la méthode ID3D12Device::CreateComponentPlacedResourceX. Cette méthode est semblable à ID3D12Device::CreatePlacedResourceX, mais elle permet au titre de spécifier jusqu’à quatre adresses virtuelles distinctes qui représentent les différentes parties de la ressource. Dans certaines situations, les API ID3D12Device::CreatePlacedShaderResourceViewX et ID3D12Device::CreatePlacedUnorderedAccessViewX peuvent être utilisées pour ignorer l’étape de création de la ressource et créer des descripteurs de vue de ressource directement à partir d’une adresse virtuelle graphique, ainsi que du format et des dimensions de la ressource.

Utilisation des moteurs d’accès direct à la mémoire (DMA) pour une compression/décompression rapide

Le GPU de la XBOX One comporte quatre moteurs matériels d’accès direct à la mémoire (DMA), dont trois peuvent être utilisés par les titres Game OS. Vous pouvez accéder aux trois moteurs DMA au moyen de la liste de commandes et de la file d’attente de copie standard (D3D12_COMMAND_LIST_TYPE_COPY) ou de l’interface d’extension XBOX One ID3D12XboxDmaCommandList. Ces moteurs DMA peuvent être utilisés pour déplacer rapidement des données, ainsi que pour compresser et décompresser des données. Les moteurs DMA peuvent copier toutes les données situées dans la mémoire graphique, y compris les ressources graphiques et même les données destinées uniquement au processeur.
Dernière modification le 6 octobre 2026