énumération D3D12_RESOURCE_FLAGS (d3d12.h)
Définit des constantes qui spécifient des options d’utilisation des ressources.
Syntaxe
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, ni n’est-elle disponible pour les textures compressées avec les 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 de créer une vue de gabarit de profondeur pour la ressource, ainsi que de permettre à 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’adaptateur 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 de créer une vue d’accès non ordonnée pour la ressource, ainsi que de permettre à la ressource de passer à l’état de D3D12_RESOURCE_STATE_UNORDERED_ACCESS. Certaines architectures d’adaptateur doivent recourir à des dispositions de texture moins efficaces pour fournir cette fonctionnalité. Si une texture est rarement utilisée pour l’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 les 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 Empêche la création d’une vue de ressource du nuanceur pour la ressource, ainsi que la désactivation de la ressource de la transition vers 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 de 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 seront 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 d’utiliser 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 empêchent généralement les techniques qui réduisent la bande passante de texture efficace pendant l’utilisation, et certaines architectures d’adaptateur 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 à une ressource d’être accessible simultanément par plusieurs files d’attente, appareils ou processus différents (par exemple, permet à une ressource d’être utilisée avec ResourceBarrier transitions effectuées dans plusieurs listes de commandes exécutées en même temps). L’accès simultané permet plusieurs lecteurs et un enregistreur, tant que l’enregistreur ne modifie pas simultanément les texels auxquels d’autres lecteurs accèdent. Certaines architectures d’adaptateurs ne peuvent pas tirer parti des techniques pour réduire la bande passante de texture efficace pendant l’utilisation. Toutefois, votre application doit éviter de définir cet indicateur lorsque plusieurs lecteurs ne sont pas requis 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 utilisée avec une ressource. Les restrictions et interactions suivantes s’appliquent :
|
D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY Valeur : 0x40 Specfies que cette ressource peut être utilisée uniquement comme trame 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 D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED dans l’indicateur de configuration de la structure D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT. Si cela se produit, votre application doit allouer des trames 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 Specfies que cette ressource peut être utilisée uniquement comme trame de référence encode. Il peut être écrit ou lu uniquement par l’opération d’encodage vidéo. |
D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE Valeur : 0x100 Nécessite le KIT SDK d’agilité DirectX 12 1.608.0 ou version ultérieure. Indique qu’une mémoire tampon doit être utilisée comme structure d’accélération raytracing. Lorsque vous utilisez des barrières améliorées D3D12, cet indicateur remplace D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE , car les mémoires tampons n’ont plus de dispositions/états. |
Remarques
Cette énumération est utilisée par le membre
Exigences
Exigence | Valeur |
---|---|
d’en-tête | d3d12.h |
Voir aussi
- énumérations Core