Passer au contenu principal
Il existe certaines différences entre Direct3D sur XBOX One et sur Windows concernant la sélection du runtime, les ressources d’échange, les formats vidéo planaires, l’obtention de l’état plein écran, le langage HLSL (High-Level Shader Language) et le composant WIC (Windows Imaging Component).

Sélection du runtime

Pour les applications de titre XBOX One, l’adaptateur WARP (Windows Advanced Rasterization Platform) n’est pas disponible. ID3D12Debug::EnableDebugLayer peut être utilisé pour activer la validation de débogage dans le runtime, mais pas au moyen de la superposition de couches traditionnelle employée sous Windows. ID3D12Debug::SetProcessDebugFlags peut également être utilisé pour sélectionner un runtime instrumenté qui prend en charge le profilage PIX et dont les performances sont plus proches de celles du runtime commercial.

Ressources d’échange

La XBOX One ne prend pas en charge les chaînes d’échange et permet plutôt la présentation directe d’objets de ressources affichables. Il appartient au titre de créer et de gérer son propre pool de ressources d’échange. Pour plus d’informations sur les modifications apportées à la présentation, consultez Présentation et planification des images sur XBOX One. Les formats actuellement pris en charge pour les ressources d’échange sont répertoriés ci-dessous. La différence entre certains formats réside simplement dans l’ordre des couleurs.
  • DXGI_FORMAT_B8G8R8A8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UNORM
  • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
  • DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
  • DXGI_FORMAT_R10G10B10A2_UNORM

Formats vidéo planaires

Les formats vidéo actuellement pris en charge sur XBOX One sont NV12, P010, P016, 420_opaque et NV11. Pour plus d’informations, consultez Énumération DXGI_FORMAT.

Obtention de l’état plein écran

GetFullScreenState ne peut pas être appelée sur XBOX One. En effet, les chaînes d’échange ne peuvent pas être créées et cette méthode est réservée aux applications DirectX de bureau. Si vous avez besoin de savoir quand vos premiers graphismes sont affichés à l’utilisateur, appelez plutôt ID3D12Device::GetFrameStatisticsX avec le type D3D12XBOX_FRAME_STATISTICS_TYPE_DISPLAY. Vous devez considérer que la fenêtre de votre jeu reste dans le même état tant qu’elle se trouve dans l’état d’exécution de la gestion de la durée de vie des processus (PLM). Pour plus d’informations, consultez :

Langage HLSL (High-Level Shader Language)

Le langage HLSL (High-Level Shader Language) sur XBOX One est une implémentation complète de Microsoft HLSL. HLSL et le pipeline graphique sont documentés sur Microsoft Docs. Toutefois, cette documentation comporte quelques petites erreurs :
  • GetRenderTargetSamplePosition est indiquée comme renvoyant un UINT, mais cette méthode renvoie en réalité un float2.
  • Le type de retour UINT ne s’applique pas dans le langage de shader. La valeur correcte est uint en minuscules ou unsigned int en toutes lettres.

Composant WIC (Windows Imaging Component)

Le composant WIC (Windows Imaging Component) est une plateforme extensible qui fournit une API de bas niveau pour les images numériques. La XBOX One prend en charge WIC2. Pour plus d’informations sur les nouvelles fonctionnalités de WIC2, consultez Nouveautés de WIC. Pour plus d’informations sur le format WIC, consultez Windows Imaging Component ou le wiki DirectXTex sur GitHub. La prise en charge de WIC par les titres XBOX One (Game OS) comporte un certain nombre de restrictions.
  • Les expressions de stratégie de métadonnées de photo ne sont pas prises en charge.
  • Le codec HD Photo / JPEG-XR (identifié par GUID_ContainerFormatWmp et associé aux extensions de fichier .jxr, .hdp et .wdp) n’est pas pris en charge.
  • Le codec BMP ne prend pas en charge certaines variantes de format plus anciennes propres à GDI.
  • Certaines conversions de format de pixel ne sont pas prises en charge.
    • GUID_WICPixelFormat48bppRGBFixedPoint
    • GUID_WICPixelFormat48bppBGRFixedPoint
    • GUID_WICPixelFormat16bppGrayFixedPoint
    • GUID_WICPixelFormat96bppRGBFixedPoint
    • GUID_WICPixelFormat64bppRGBAFixedPoint
    • GUID_WICPixelFormat64bppBGRAFixedPoint
    • GUID_WICPixelFormat128bppRGBAFixedPoint
    • GUID_WICPixelFormat64bppRGBAHalf
    • GUID_WICPixelFormat48bppRGBHalf
    • GUID_WICPixelFormat32bppRGBE
    • GUID_WICPixelFormat16bppGrayHalf
    • GUID_WICPixelFormat32bppGrayFixedPoint
    • GUID_WICPixelFormat64bppRGBFixedPoint
    • GUID_WICPixelFormat128bppRGBFixedPoint
    • GUID_WICPixelFormat64bppRGBHalf
    • GUID_WICPixelFormat64bppPRGBAHalf
    • Tous les formats CMJN et les formats nChannel
Pour des informations connexes, consultez Windows Imaging Component (WIC) sur XBOX.
Dernière modification le 6 octobre 2026