énumération D3D11_RESOURCE_MISC_FLAG (d3d11.h)
Identifie les options pour les ressources.
Syntax
typedef enum D3D11_RESOURCE_MISC_FLAG {
D3D11_RESOURCE_MISC_GENERATE_MIPS = 0x1L,
D3D11_RESOURCE_MISC_SHARED = 0x2L,
D3D11_RESOURCE_MISC_TEXTURECUBE = 0x4L,
D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS = 0x10L,
D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = 0x20L,
D3D11_RESOURCE_MISC_BUFFER_STRUCTURED = 0x40L,
D3D11_RESOURCE_MISC_RESOURCE_CLAMP = 0x80L,
D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x100L,
D3D11_RESOURCE_MISC_GDI_COMPATIBLE = 0x200L,
D3D11_RESOURCE_MISC_SHARED_NTHANDLE = 0x800L,
D3D11_RESOURCE_MISC_RESTRICTED_CONTENT = 0x1000L,
D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE = 0x2000L,
D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER = 0x4000L,
D3D11_RESOURCE_MISC_GUARDED = 0x8000L,
D3D11_RESOURCE_MISC_TILE_POOL = 0x20000L,
D3D11_RESOURCE_MISC_TILED = 0x40000L,
D3D11_RESOURCE_MISC_HW_PROTECTED = 0x80000L,
D3D11_RESOURCE_MISC_SHARED_DISPLAYABLE,
D3D11_RESOURCE_MISC_SHARED_EXCLUSIVE_WRITER,
D3D11_RESOURCE_MISC_NO_SHADER_ACCESS
} ;
Constantes
D3D11_RESOURCE_MISC_GENERATE_MIPS Valeur : 0x1L Active la génération de cartes MIP à l’aide d’ID3D11DeviceContext ::GenerateMips sur une ressource de texture. La ressource doit être créée avec les indicateurs de liaison qui spécifient que la ressource est une cible de rendu et une ressource de nuanceur. |
D3D11_RESOURCE_MISC_SHARED Valeur : 0x2L Active le partage de données de ressources entre deux appareils Direct3D ou plus. Les seules ressources qui peuvent être partagées sont les textures 2D non-mipmapped. D3D11_RESOURCE_MISC_SHARED et D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX s’excluent mutuellement. Les appareils WARP et REF ne prennent pas en charge les ressources partagées. Si vous essayez de créer une ressource avec cet indicateur sur un appareil WARP ou REF , la méthode create retourne un code d’erreur E_OUTOFMEMORY .
Note À compter de Windows 8, les appareils WARP prennent entièrement en charge les ressources partagées.
Note À partir de Windows 8, nous vous recommandons d’activer le partage de données de ressources entre deux appareils Direct3D ou plus à l’aide d’une combinaison des indicateurs D3D11_RESOURCE_MISC_SHARED_NTHANDLE et D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX à la place. |
D3D11_RESOURCE_MISC_TEXTURECUBE Valeur : 0x4L Définit une ressource comme une texture de cube créée à partir d’une Texture2DArray qui contient 6 textures. |
D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS Valeur : 0x10L Active l’instanciation du contenu généré par GPU. |
D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS Valeur : 0x20L Active une ressource en tant que mémoire tampon d’adresse d’octets. |
D3D11_RESOURCE_MISC_BUFFER_STRUCTURED Valeur : 0x40L Active une ressource en tant que mémoire tampon structurée. |
D3D11_RESOURCE_MISC_RESOURCE_CLAMP Valeur : 0x80L Active une ressource avec le serrage de carte MIP pour une utilisation avec ID3D11DeviceContext ::SetResourceMinLOD. |
D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX Valeur : 0x100L Permet la synchronisation de la ressource à l’aide de IDXGIKeyedMutex ::AcquireSync et IDXGIKeyedMutex ::ReleaseSync Api. Les API de création de ressources Direct3D 11 suivantes, qui prennent D3D11_RESOURCE_MISC_FLAG paramètres, ont été étendues pour prendre en charge le nouvel indicateur.
Si vous appelez l’une de ces méthodes avec l’indicateur D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX défini, l’interface retournée prend en charge l’interface IDXGIKeyedMutex . Vous pouvez récupérer un pointeur vers l’interface IDXGIKeyedMutex à partir de la ressource à l’aide de IUnknown ::QueryInterface. L’interface IDXGIKeyedMutex implémente les API IDXGIKeyedMutex ::AcquireSync et IDXGIKeyedMutex ::ReleaseSync pour synchroniser l’accès à la surface. L’appareil qui crée la surface, et tout autre appareil qui ouvre la surface à l’aide d’OpenSharedResource, doit appeler IDXGIKeyedMutex ::AcquireSync avant d’émettre des commandes de rendu sur la surface. Lorsque ces appareils ont terminé le rendu, ils doivent appeler IDXGIKeyedMutex ::ReleaseSync. D3D11_RESOURCE_MISC_SHARED et D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX s’excluent mutuellement. Les appareils WARP et REF ne prennent pas en charge les ressources partagées. Si vous essayez de créer une ressource avec cet indicateur sur un appareil WARP ou REF , la méthode create retourne un code d’erreur E_OUTOFMEMORY .
Note À compter de Windows 8, les appareils WARP prennent entièrement en charge les ressources partagées. |
D3D11_RESOURCE_MISC_GDI_COMPATIBLE Valeur : 0x200L Active une ressource compatible avec GDI. Vous devez définir l’indicateur D3D11_RESOURCE_MISC_GDI_COMPATIBLE sur les surfaces que vous utilisez avec GDI. La définition de l’indicateur D3D11_RESOURCE_MISC_GDI_COMPATIBLE permet le rendu GDI sur la surface via IDXGISurface1 ::GetDC. Tenez compte des conseils de programmation suivants pour utiliser D3D11_RESOURCE_MISC_GDI_COMPATIBLE lorsque vous créez une texture ou utilisez cette texture dans une chaîne d’échange :
|
D3D11_RESOURCE_MISC_SHARED_NTHANDLE Valeur : 0x800L Définissez cet indicateur pour activer l’utilisation des valeurs NT HANDLE lorsque vous créez une ressource partagée. En activant cet indicateur, vous dépréciez l’utilisation de valeurs HANDLE existantes. La valeur spécifie un nouveau type de ressource partagée qui indique au runtime d’utiliser des valeurs NT HANDLE pour la ressource partagée. Le runtime doit ensuite confirmer que la ressource partagée fonctionne sur tout le matériel au niveau de la fonctionnalité spécifiée. Sans ce jeu d’indicateurs, le runtime ne valide pas strictement les paramètres de ressources partagées (c’est-à-dire les formats, les indicateurs, l’utilisation, etc.). Lorsque le runtime ne valide pas les paramètres de ressources partagées, le comportement d’une grande partie de l’API Direct3D peut ne pas être défini et peut varier d’un pilote à l’autre. Direct3D 11 et versions antérieures : Cette valeur n’est pas prise en charge tant que Direct3D 11.1. |
D3D11_RESOURCE_MISC_RESTRICTED_CONTENT Valeur : 0x1000L Définissez cet indicateur pour indiquer que la ressource peut contenir du contenu protégé ; par conséquent, le système d’exploitation doit utiliser la ressource uniquement lorsque le pilote et le matériel prennent en charge la protection du contenu. Si le pilote et le matériel ne prennent pas en charge la protection du contenu et que vous essayez de créer une ressource avec cet indicateur, la création de la ressource échoue. Direct3D 11 : Cette valeur n’est pas prise en charge tant que Direct3D 11.1. |
D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE Valeur : 0x2000L Définissez cet indicateur pour indiquer que le système d’exploitation restreint l’accès à la surface partagée. Vous pouvez utiliser cet indicateur avec l’indicateur D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER et uniquement lorsque vous créez une surface partagée. Le processus qui crée la ressource partagée peut toujours ouvrir la ressource partagée. Direct3D 11 : Cette valeur n’est pas prise en charge tant que Direct3D 11.1. |
D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER Valeur : 0x4000L Définissez cet indicateur pour indiquer que le pilote restreint l’accès à la surface partagée. Vous pouvez utiliser cet indicateur conjointement avec l’indicateur D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE et uniquement lorsque vous créez une surface partagée. Le processus qui crée la ressource partagée peut toujours ouvrir la ressource partagée. Direct3D 11 : Cette valeur n’est pas prise en charge tant que Direct3D 11.1. |
D3D11_RESOURCE_MISC_GUARDED Valeur : 0x8000L Définissez cet indicateur pour indiquer que la ressource est protégée. Cette ressource est retournée par les API IDCompositionSurface ::BeginDraw (DirectComposition) et ISurfaceImageSourceNative ::BeginDraw (Windows Runtime). Pour ces API, vous fournissez une région d’intérêt (ROI) sur une surface à mettre à jour. Cette surface n’est pas compatible avec plusieurs cibles de rendu (MRT). Une ressource protégée limite automatiquement toutes les écritures dans la région liée à l’une des API précédentes. En outre, la ressource applique l’accès au retour sur investissement avec les restrictions suivantes :
Direct3D 11 : Cette valeur n’est pas prise en charge tant que Direct3D 11.1. |
D3D11_RESOURCE_MISC_TILE_POOL Valeur : 0x20000L Définissez cet indicateur pour indiquer que la ressource est un pool de vignettes. Direct3D 11 : Cette valeur n’est pas prise en charge tant que Direct3D 11.2. |
D3D11_RESOURCE_MISC_TILED Valeur : 0x40000L Définissez cet indicateur pour indiquer que la ressource est une ressource en mosaïque. Direct3D 11 : Cette valeur n’est pas prise en charge tant que Direct3D 11.2. |
D3D11_RESOURCE_MISC_HW_PROTECTED Valeur : 0x80000L Définissez cet indicateur pour indiquer que la ressource doit être créée de telle sorte qu’elle soit protégée par le matériel. La création de ressources échoue si la protection du contenu matériel n’est pas prise en charge. Cet indicateur présente les restrictions suivantes :
Remarque La création d’une texture à l’aide de cet indicateur ne garantit pas automatiquement que la protection matérielle sera activée pour l’allocation sous-jacente. Certaines implémentations nécessitent que les composants DRM soient initialisés avant toute garantie de protection. Note Cette valeur d’énumération est prise en charge à partir de Windows 10. |
D3D11_RESOURCE_MISC_SHARED_DISPLAYABLE Permet à la ressource d’utiliser la fonctionnalité surfaces affichables . Vous devez utiliser D3D11_RESOURCE_MISC_SHARED_DISPLAYABLE en combinaison avec D3D11_RESOURCE_MISC_SHARED et D3D11_RESOURCE_MISC_SHARED_NTHANDLE. |
D3D11_RESOURCE_MISC_SHARED_EXCLUSIVE_WRITER TBD |
Remarques
Cette énumération est utilisée dans D3D11_BUFFER_DESC, D3D11_TEXTURE1D_DESC, D3D11_TEXTURE2D_DESCD3D11_TEXTURE3D_DESC.
Ces indicateurs peuvent être combinés par OR au niveau du bit.
Le D3D11_RESOURCE_MISC_FLAG ne peut pas être utilisé lors de la création de ressources avec des indicateurs D3D11_CPU_ACCESS .
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | d3d11.h |