énumération D3D12_RESOURCE_FLAGS (d3d12.h)
Définit des constantes qui spécifient les options d’utilisation des ressources.
Syntax
typedef enum D3D12_RESOURCE_FLAGS {
D3D12_RESOURCE_FLAG_NONE = 0,
D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1,
D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2,
D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4,
D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8,
D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10,
D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20,
D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY = 0x40,
D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY = 0x80,
D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE = 0x100
} ;
Constantes
D3D12_RESOURCE_FLAG_NONE Valeur : 0 Aucune option n'est spécifiée. |
D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET Valeur : 0x1 Permet de créer une vue cible de rendu pour la ressource ; et permet également à la ressource de passer à l’état de D3D12_RESOURCE_STATE_RENDER_TARGET. Certaines architectures d’adaptateur allouent de la mémoire supplémentaire pour les textures avec cet indicateur afin de réduire la bande passante effective pendant le rendu courant. Cette caractéristique peut ne pas être bénéfique pour les textures qui ne sont jamais rendues dans, ni disponible pour les textures compressées avec des formats BC. Votre application doit éviter de définir cet indicateur lorsque le rendu ne se produit jamais. Les restrictions et interactions suivantes s’appliquent :
|
D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL Valeur : 0x2 Permet la création d’un affichage de gabarit de profondeur pour la ressource et permet à la ressource de passer à l’état de D3D12_RESOURCE_STATE_DEPTH_WRITE et/ou de D3D12_RESOURCE_STATE_DEPTH_READ. La plupart des architectures d’adaptateurs allouent de la mémoire supplémentaire pour les textures avec cet indicateur afin de réduire la bande passante effective et d’optimiser les optimisations pour les tests de profondeur précoces. Votre application doit éviter de définir cet indicateur lorsque les opérations de profondeur ne se produisent jamais. Les restrictions et interactions suivantes s’appliquent :
|
D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS Valeur : 0x4 Permet la création d’un affichage d’accès non ordonné pour la ressource, ainsi que la transition de la ressource vers l’état de D3D12_RESOURCE_STATE_UNORDERED_ACCESS. Certaines architectures d’adaptateurs doivent recourir à des dispositions de texture moins efficaces pour fournir cette fonctionnalité. Si une texture est rarement utilisée pour un accès non ordonné, il peut être utile d’avoir deux textures autour et de copier entre elles. Une texture aurait cet indicateur, tandis que l’autre ne le serait pas. Votre application doit éviter de définir cet indicateur lorsque des opérations d’accès non ordonnées ne se produisent jamais. Les restrictions et interactions suivantes s’appliquent :
|
D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE Valeur : 0x8 Interdit la création d’une vue de ressource de nuanceur pour la ressource et désactive la transition de la ressource dans l’état de D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE ou de D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE. Certaines architectures d’adaptateurs gagnent en capacité de bande passante pour les textures de gabarit de profondeur lorsque les vues de ressources du nuanceur sont exclues. Si une texture est rarement utilisée pour les ressources du nuanceur, il peut être utile d’avoir deux textures autour et de copier entre elles. Une texture aurait cet indicateur, tandis que l’autre ne le serait pas. Votre application doit définir cet indicateur lorsque les textures de gabarit de profondeur ne sont jamais utilisées à partir des vues de ressources du nuanceur. Les restrictions et interactions suivantes s’appliquent :
|
D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER Valeur : 0x10 Permet l’utilisation de la ressource pour les données inter-adaptateurs, ainsi que les fonctionnalités activées par D3D12_RESOURCE_FLAGS ::D 3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS. Les ressources inter-adaptateurs excluent généralement les techniques qui réduisent la bande passante de texture effective pendant l’utilisation, et certaines architectures d’adaptateurs peuvent nécessiter un comportement de mise en cache différent. Votre application doit éviter de définir cet indicateur lorsque les données de ressource ne seront jamais utilisées avec un autre adaptateur. Les restrictions et interactions suivantes s’appliquent :
|
D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS Valeur : 0x20 Permet d’accéder simultanément à une ressource par plusieurs files d’attente, appareils ou processus différents (par exemple, permet à une ressource d’être utilisée avec des transitions ResourceBarrier effectuées dans plusieurs listes de commandes s’exécutant en même temps). L’accès simultané autorise plusieurs lecteurs et un seul rédacteur, à condition que l’enregistreur ne modifie pas simultanément les texels auxquels les autres lecteurs accèdent. Certaines architectures d’adaptateurs ne peuvent pas tirer parti des techniques permettant de réduire la bande passante de texture effective pendant l’utilisation. Toutefois, votre application doit éviter de définir cet indicateur lorsque plusieurs lecteurs ne sont pas nécessaires pendant les écritures fréquentes et sans chevauchement dans les textures. L’utilisation de cet indicateur peut compromettre les clôtures de ressources pour effectuer des attentes et empêcher toute compression d’être utilisée avec une ressource. Les restrictions et interactions suivantes s’appliquent :
|
D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY Valeur : 0x40 Indique que cette ressource peut être utilisée uniquement comme cadre de référence de décodage. Il peut être écrit ou lu uniquement par l’opération de décodage vidéo. D3D12_VIDEO_DECODE_TIER_1 et D3D12_VIDEO_DECODE_TIER_2 peuvent signaler des D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED dans l’indicateur de configuration de structure D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT . Si cela se produit, votre application doit allouer des cadres de référence avec l’indicateur de ressource D3D12_RESOURCE_FLAGS ::D 3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY . D3D12_VIDEO_DECODE_TIER_3 ne doit pas définir le [D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED] (.. Indicateur de configuration /d3d12video/ne-d3d12video-d3d12_video_decode_configuration_flags) et ne doit pas nécessiter l’utilisation de cet indicateur de ressource. |
D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY Valeur : 0x80 Indique que cette ressource peut être utilisée uniquement comme cadre de référence d’encodage. Il peut être écrit ou lu uniquement par l’opération d’encodage vidéo. |
D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE Valeur : 0x100 Réservé pour un usage futur. Ne pas utiliser. Nécessite le Kit de développement logiciel (SDK) d’agilité DirectX 12 1.7 ou version ultérieure. Indique qu’une mémoire tampon doit être utilisée comme structure d’accélération de raytracing. |
Remarques
Cette énumération est utilisée par le membre Flags du D3D12_RESOURCE_DESC.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | d3d12.h |