Skip to main content

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

La bibliothèque XBOX Graphics (XG) est une bibliothèque graphique auxiliaire utilisée pour préparer les ressources et effectuer d’autres tâches graphiques réalisées en dehors des interfaces du runtime Direct3D. XG est similaire à 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 d’un ordre linéaire vers un ordre swizzlé, 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 de swizzle 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 delta des couleurs (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 build PC 64 bits pour une utilisation hors ligne, qui s’exécute sur n’importe quel système Windows, y compris les plateformes de bureau et serveur. La build hors ligne de XG peut être intégrée aux outils de contenu ou aux systèmes de build. Utilisez xg_x.dll et xg_x.lib. Pour plus d’informations, consultez la référence XG.

Placement en mémoire des ressources pour les 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 similaire à ID3D12Device::CreatePlacedResourceX, mais 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 vues de ressources 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 à ces trois moteurs DMA à l’aide 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 permettent de déplacer rapidement des données, ainsi que de les compresser et de les décompresser. Ils 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 CPU.
Last modified on October 6, 2026