Partager via


structure D3DDDI_RESOURCEFLAGS (d3dukmdt.h)

La structure D3DDDI_RESOURCEFLAGS identifie le type de ressources à créer dans un appel à la fonction CreateResource du pilote.

Syntaxe

typedef struct _D3DDDI_RESOURCEFLAGS {
  union {
    struct {
      UINT RenderTarget : 1;
      UINT ZBuffer : 1;
      UINT Dynamic : 1;
      UINT HintStatic : 1;
      UINT AutogenMipmap : 1;
      UINT DMap : 1;
      UINT WriteOnly : 1;
      UINT NotLockable : 1;
      UINT Points : 1;
      UINT RtPatches : 1;
      UINT NPatches : 1;
      UINT SharedResource : 1;
      UINT DiscardRenderTarget : 1;
      UINT Video : 1;
      UINT CaptureBuffer : 1;
      UINT Primary : 1;
      UINT Texture : 1;
      UINT CubeMap : 1;
      UINT Volume : 1;
      UINT VertexBuffer : 1;
      UINT IndexBuffer : 1;
      UINT DecodeRenderTarget : 1;
      UINT DecodeCompressedBuffer : 1;
      UINT VideoProcessRenderTarget : 1;
      UINT CpuOptimized : 1;
      UINT MightDrawFromLocked : 1;
      UINT Overlay : 1;
      UINT MatchGdiPrimary : 1;
      UINT InterlacedRefresh : 1;
      UINT TextApi : 1;
      UINT RestrictedContent : 1;
      UINT RestrictSharedAccess : 1;
    };
    UINT Value;
  };
} D3DDDI_RESOURCEFLAGS;

Membres

RenderTarget

Définir ce membre revient à définir le premier bit du membre Value 32 bits (0x00000001).

ZBuffer

Valeur UINT qui spécifie si la surface est la mémoire tampon z. La mémoire tampon z contient des informations de profondeur de bits utilisées pour déterminer les pixels qui sont visibles et ceux qui sont masqués. La mémoire tampon z contient des informations qui ne peuvent pas être affichées.

Définir ce membre revient à définir le deuxième bit du membre Value 32 bits (0x00000002).

Dynamic

Valeur UINT qui spécifie si la surface est fréquemment mise à jour. Cet indicateur de champ binaire ne peut pas être utilisé avec l’indicateur de champ binaire HintStatic .

Définir ce membre revient à définir le troisième bit du membre value 32 bits (0x00000004).

HintStatic

Valeur UINT qui spécifie si la surface est rarement mise à jour, mais doit toujours autoriser l’accès. Cet indicateur de champ binaire ne peut pas être utilisé avec l’indicateur de champ binaire dynamique .

Définir ce membre revient à définir le quatrième bit du membre Value 32 bits (0x00000008).

AutogenMipmap

Valeur UINT qui spécifie si les sous-niveaux de mappage MIP pour la surface sont générés automatiquement.

Définir ce membre revient à définir le cinquième bit du membre Value 32 bits (0x00000010).

DMap

Valeur UINT qui spécifie si la surface est une texture de carte de déplacement que l’échantillonneur de carte de déplacement peut échantillonner dans l’unité de pavage.

Définir ce membre revient à définir le sixième bit du membre Value 32 bits (0x00000020).

WriteOnly

Valeur UINT qui spécifie si la surface ne peut être écrite que dans. L’accès en lecture à partir de la surface peut générer une erreur de protection générale (GPF). Si la surface est lue à partir de, les résultats de lecture ne sont pas significatifs.

Définir ce membre revient à définir le septième bit du membre Value 32 bits (0x00000040).

NotLockable

Valeur UINT qui spécifie si la cible de rendu est verrouillable. Cet indicateur de champ de bits est défini sur la mémoire tampon principale et la mémoire tampon arrière si la chaîne de basculement n’est pas verrouillable, ou sur toute cible de rendu qui n’est pas verrouillable. Le pilote peut ensuite effectuer une optimisation en arrière-plan.

Même si cet indicateur est défini, la surface peut toujours être verrouillée. Le pilote doit donc gérer cette situation. Toutefois, ces verrous sont peu fréquents et ne sont pas censés être rapides.

Le pilote peut également déterminer si la mémoire tampon de profondeur ou de gabarit est verrouillable par la présence de cet indicateur de champ binaire.

Définir ce membre revient à définir le huitième bit du membre Value 32 bits (0x00000080).

Points

Valeur UINT qui spécifie si la surface contient des données de mémoire tampon de vertex qui peuvent être utilisées pour afficher des points et des sprites de points.

Définir ce membre revient à définir le neuvième bit du membre Value 32 bits (0x00000100).

RtPatches

Valeur UINT qui spécifie si la surface contient des données de mémoire tampon de vertex qui peuvent être utilisées pour afficher les correctifs rt.

Définir ce membre revient à définir le dixième bit du membre Value 32 bits (0x00000200).

NPatches

Valeur UINT qui spécifie si la surface contient des données de mémoire tampon de vertex qui peuvent être utilisées pour afficher les n-patchs.

Définir ce membre revient à définir le onzième bit du membre Value 32 bits (0x00000400).

SharedResource

Valeur UINT qui spécifie si plusieurs appareils et processus partagent la surface.

Définir ce membre revient à définir le douzième bit du membre Value 32 bits (0x00000800).

DiscardRenderTarget

Valeur UINT qui spécifie si la conservation de la surface est requise. Si la surface est utilisée comme cible de rendu, sa conservation n’est pas nécessaire.

Définir ce membre revient à définir le treizième bit du membre Value 32 bits (0x00001000).

Video

Valeur UINT qui spécifie si la surface est une cible de rendu qui contient des données vidéo.

Notez que plusieurs cibles de rendu peuvent être créées avec cet indicateur et que si deux ou plusieurs de ces cibles de rendu appartiennent au même contexte Microsoft Direct3D, le pilote détermine que ces cibles de rendu doivent toutes afficher le même flux vidéo, que les surfaces cibles de rendu soient attachées les unes aux autres.

Définir ce membre revient à définir le quatorzième bit du membre Value 32 bits (0x00002000).

CaptureBuffer

Valeur UINT qui spécifie si la ressource est une mémoire tampon de capture.

Définir ce membre revient à définir le quinzième bit du membre Value 32 bits (0x00004000).

Primary

Valeur UINT qui spécifie si la surface est la surface principale, c’est-à-dire si la surface est actuellement visible par l’utilisateur.

Définir ce membre revient à définir le seizième bit du membre Value 32 bits (0x00008000).

Texture

Valeur UINT qui spécifie si la surface peut être utilisée comme texture.

Définir ce membre revient à définir le dix-septième bit du membre Value 32 bits (0x00010000).

CubeMap

Valeur UINT qui spécifie si la surface est une carte d’environnement cubique. Cet indicateur de champ binaire nécessite que l’indicateur de champ binaire Texture soit défini.

Définir ce membre revient à définir le dix-huitième bit du membre Value 32 bits (0x00020000).

Volume

Valeur UINT qui spécifie si la surface a une profondeur, en plus de la largeur et de la hauteur, c’est-à-dire si la surface est un volume. Cet indicateur de champ binaire nécessite que l’indicateur de champ binaire Texture soit défini.

Définir ce membre revient à définir le dix-neuvième bit du membre Value 32 bits (0x00040000).

VertexBuffer

Valeur UINT qui spécifie si la surface est une mémoire tampon de vertex (autrement dit, stocke les sommets).

Définir ce membre revient à définir le vingtième bit du membre Value 32 bits (0x00080000).

IndexBuffer

Valeur UINT qui spécifie si la surface est une mémoire tampon d’index (autrement dit, stocke des index).

Définir ce membre revient à définir le vingt et unième bit du membre Value 32 bits (0x00100000).

DecodeRenderTarget

Valeur UINT qui spécifie si la surface est utilisée comme cible de rendu pour le décodage de Microsoft DirectX Video Acceleration (DirectX VA).

Définir ce membre revient à définir le vingt-secondes du membre Value 32 bits (0x00200000).

DecodeCompressedBuffer

Valeur UINT qui spécifie si la surface contient des informations de mémoire tampon compressées pour le décodage DirectX VA.

Définir ce membre revient à définir le vingt-troisième bit du membre Value 32 bits (0x00400000).

VideoProcessRenderTarget

Valeur UINT qui spécifie si la surface est utilisée comme cible de rendu pour le traitement vidéo DirectX VA.

Définir ce membre revient à définir le vingt-quatrième bit du membre Value 32 bits (0x00800000).

CpuOptimized

Valeur UINT qui spécifie si le processeur accède fréquemment à la ressource.

Le pilote doit placer la ressource dans un pool de mémoires auquel le processeur peut accéder rapidement (par exemple, mémoire AGP). Le pilote de miniport d’affichage doit marquer la mémoire comme pouvant être mise en cache en définissant l’indicateur de champ binaire mis en cache dans le membre Indicateurs de la structure DXGK_ALLOCATIONINFO lorsque sa fonction DxgkDdiCreateAllocation est appelée.

L’indicateur CpuOptimized est généralement défini pour les cibles de rendu (cibles de rendu et textures autonomes).

Définir ce membre revient à définir le vingt-cinquième bit du membre Value 32 bits (0x01000000).

MightDrawFromLocked

Valeur UINT qui spécifie si le pilote est éventuellement invité à dessiner à partir d’une mémoire tampon de vertex, même si la mémoire tampon de vertex est verrouillée par le runtime Direct3D. Cette requête signifie que le pilote peut, à l’occasion, recevoir des appels à ses fonctions DrawIndexedPrimitive, DrawIndexedPrimitive2, DrawPrimitiveet DrawPrimitive2 où les données de vertex sont référencées dans une mémoire tampon de vertex verrouillée marquée avec MightDrawFromLocked. Le runtime doit effectuer ces types d’appels dans les scénarios dans lesquels il effectue une transformation logicielle et l’éclairage (plutôt que du matériel). Ces scénarios ne se produisent généralement pas.

Toutefois, étant donné que le runtime a verrouillé la mémoire tampon de vertex, le pilote ne peut pas appeler la fonction pfnUnlockCb avant d’appeler la fonction pfnRenderCb . Par conséquent, le pilote doit prendre en charge la mémoire tampon de vertex dans un segment de mémoire système ou AGP ; sinon, le gestionnaire de mémoire vidéo rejette le rendu. Le pilote n’est pas tenu d’effectuer d’autres actions spéciales, car le runtime ne remplace pas les données dans la mémoire tampon de vertex verrouillée lorsque le matériel effectue un rendu actif à partir de la mémoire tampon de vertex.

Définir ce membre revient à définir le vingt-sixième bit du membre Value 32 bits (0x02000000).

Overlay

Valeur UINT qui spécifie si la ressource est une superposition.

Définir ce membre revient à définir le vingt-septième bit du membre Value 32 bits (0x04000000).

MatchGdiPrimary

Valeur UINT qui spécifie si la ressource est une surface primaire qui correspond à toutes les propriétés de la surface principale GDI actuelle qui a été créée à l’aide de la structure D3DKMDT_SHAREDPRIMARYSURFACEDATA . Par exemple, le basculement de la surface primaire correspondante vers la surface principale GDI actuelle et vice versa est possible.

Définir ce membre revient à définir le vingt-huitième bit du membre Value (0x08000000) 32 bits.

InterlacedRefresh

Valeur UINT qui spécifie si la ressource est une surface primaire destinée à être utilisée en mode d’affichage entrelacé.

Définir ce membre revient à définir le vingt-neuvième bit du membre Value 32 bits (0x10000000).

TextApi

Valeur UINT qui spécifie si la ressource peut être utilisée pour le filtrage de textures ou comme source de flux d’entrée. Si les textures sont créées avec l’indicateur de champ binaire TextApi défini, elles ne peuvent pas être utilisées pour le filtrage de textures. Si des mémoires tampons de vertex sont créées avec l’indicateur de champ de bits TextApi défini, elles ne peuvent pas être utilisées comme sources de flux d’entrée. L’indicateur de champ binaire TextApi doit être spécifié pour les mémoires tampons de vertex et les surfaces sources utilisées dans les appels à la fonction ComposeRects .

Définir ce membre revient à définir le trentième bit du membre Value 32 bits (0x20000000).

RestrictedContent

Pris en charge dans Windows 7 et versions ultérieures.

Valeur UINT qui spécifie si la ressource contient du contenu protégé. Dans la plupart des cas, une application a explicitement activé la protection du contenu avant que l’application ne crée une ressource restreinte. Toutefois, l’application n’a pas besoin d’activer explicitement la protection du contenu si elle crée une chaîne d’échange en mode exclusif plein écran restreint.

Définir ce membre revient à définir le trente et unième bit du membre Value 32 bits (0x40000000).

RestrictSharedAccess

Pris en charge dans Windows 7 et versions ultérieures.

Valeur UINT qui spécifie si le runtime autorise uniquement l’accès à la ressource partagée à des processus spécifiques.

La définition de ce membre équivaut à définir le trente-deuxième bits du membre Value 32 bits (0x80000000).

Value

Valeur 32 bits qui identifie le type de ressource à créer.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows Vista et les versions ultérieures des systèmes d’exploitation Windows.
En-tête d3dukmdt.h (inclure D3dumddi.h, D3dkmddi.h)

Voir aussi

CreateResource

D3DDDIARG_CREATERESOURCE