D3DDDI_RESOURCEFLAGS Struktur (d3dukmdt.h)
Die D3DDDI_RESOURCEFLAGS Struktur identifiziert den Typ der Ressourcen, die in einem Aufruf der CreateResource--Funktion des Treibers erstellt werden sollen.
Syntax
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;
Angehörige
RenderTarget
Das Festlegen dieses Elements entspricht dem Festlegen des ersten Bits des 32-Bit-Value Members (0x00000001).
ZBuffer
Ein UINT-Wert, der angibt, ob die Oberfläche der Z-Puffer ist. Der Z-Puffer enthält Bittiefeinformationen, die verwendet werden, um zu bestimmen, welche Pixel sichtbar sind und welche verdeckt werden. Der Z-Puffer enthält Informationen, die nicht angezeigt werden können.
Das Festlegen dieses Elements entspricht dem Festlegen des zweiten Bits des 32-Bit-Value Members (0x00000002).
Dynamic
Ein UINT-Wert, der angibt, ob die Oberfläche häufig aktualisiert wird. Dieses Bitfeld-Flag kann nicht mit dem HintStatic- Bitfeldflagge verwendet werden.
Das Festlegen dieses Elements entspricht dem Festlegen des dritten Bits des 32-Bit-Value Members (0x00000004).
HintStatic
Ein UINT-Wert, der angibt, ob die Oberfläche selten aktualisiert wird, aber dennoch Zugriff zulassen muss. Dieses Bitfeld-Flag kann nicht mit dem Dynamischen Bitfeldflagge verwendet werden.
Das Festlegen dieses Elements entspricht dem Festlegen des vierten Bits des 32-Bit-Value Members (0x00000008).
AutogenMipmap
Ein UINT-Wert, der angibt, ob die MIP-Karten-Unterebenen für die Oberfläche automatisch generiert werden.
Das Festlegen dieses Elements entspricht dem Festlegen des fünften Bits des 32-Bit-Value Members (0x00000010).
DMap
Ein UINT-Wert, der angibt, ob es sich bei der Oberfläche um eine Verdrängungszuordnungstextur handelt, die vom Sampler für die Verdrängungszuordnung in der Tessellationseinheit entnommen werden kann.
Das Festlegen dieses Elements entspricht dem Festlegen des sechsten Bits des 32-Bit-Value Members (0x00000020).
WriteOnly
Ein UINT-Wert, der angibt, ob die Oberfläche nur geschrieben werden kann. Lesezugriff von der Oberfläche kann zu einem allgemeinen Schutzfehler (GPF) führen. Wenn die Oberfläche gelesen wird, sind die Leseergebnisse nicht aussagekräftig.
Das Festlegen dieses Elements entspricht dem Festlegen des siebten Bits des 32-Bit-Value Members (0x00000040).
NotLockable
Ein UINT-Wert, der angibt, ob das Renderziel gesperrt werden kann. Dieses Bitfeld-Flag wird für die primäre und die Hintergrundpuffer festgelegt, wenn die Flippingkette nicht gesperrt werden kann, oder auf einem Renderziel, das nicht gesperrt werden kann. Der Treiber kann dann die Hintergrundoptimierung ausführen.
Selbst wenn diese Kennzeichnung festgelegt ist, kann die Oberfläche weiterhin gesperrt werden, sodass der Treiber diese Situation behandeln muss. Solche Sperren sind jedoch selten und werden nicht erwartet, dass sie schnell sind.
Der Treiber kann auch bestimmen, ob der Tiefen- oder Schablonenpuffer durch das Vorhandensein dieses Bitfeld-Flags gesperrt werden kann.
Das Festlegen dieses Elements entspricht dem Festlegen des achten Bits des 32-Bit-Value Members (0x00000080).
Points
Ein UINT-Wert, der angibt, ob die Oberfläche Vertexpufferdaten enthält, die zum Rendern von Punkten und Punktspites verwendet werden können.
Das Festlegen dieses Elements entspricht dem Festlegen des neunten Bits des 32-Bit-Value Members (0x00000100).
RtPatches
Ein UINT-Wert, der angibt, ob die Oberfläche Vertexpufferdaten enthält, die zum Rendern von RT-Patches verwendet werden können.
Das Festlegen dieses Elements entspricht dem Festlegen des zehnten Bits des 32-Bit-Value Members (0x00000200).
NPatches
Ein UINT-Wert, der angibt, ob die Oberfläche Vertexpufferdaten enthält, die zum Rendern von n-Patches verwendet werden können.
Das Festlegen dieses Elements entspricht dem Festlegen des elften Bits des 32-Bit-Value Members (0x00000400).
SharedResource
Ein UINT-Wert, der angibt, ob mehrere Geräte und Prozesse die Oberfläche gemeinsam nutzen.
Das Festlegen dieses Elements entspricht dem Festlegen des zwölften Bits des 32-Bit-Value Members (0x00000800).
DiscardRenderTarget
Ein UINT-Wert, der angibt, ob die Erhaltung der Oberfläche erforderlich ist. Wenn die Oberfläche als Renderziel verwendet wird, ist die Erhaltung nicht erforderlich.
Das Festlegen dieses Elements entspricht dem Festlegen des dreizehnten Bits des 32-Bit-Value Members (0x00001000).
Video
Ein UINT-Wert, der angibt, ob es sich bei der Oberfläche um ein Renderziel handelt, das Videodaten enthält.
Beachten Sie, dass mehrere Renderziele mit diesem Flag erstellt werden können und wenn zwei oder mehr dieser Renderziele demselben Microsoft Direct3D-Kontext angehören, bestimmt der Treiber, dass diese Renderziele denselben Videodatenstrom anzeigen sollten, unabhängig davon, ob die Renderzieloberflächen miteinander verbunden sind.
Das Festlegen dieses Elements entspricht dem Festlegen des vierzehnten Bits des 32-Bit-Value Members (0x00002000).
CaptureBuffer
Ein UINT-Wert, der angibt, ob es sich bei der Ressource um einen Aufnahmepuffer handelt.
Das Festlegen dieses Elements entspricht dem Festlegen des fünfzehnten Bits des 32-Bit-Value Members (0x00004000).
Primary
Ein UINT-Wert, der angibt, ob es sich bei der Oberfläche um die primäre Oberfläche handelt, d. h. ob die Oberfläche für den Benutzer aktuell sichtbar ist.
Das Festlegen dieses Elements entspricht dem Festlegen des sechzehnten Bits des 32-Bit-Value Members (0x00008000).
Texture
Ein UINT-Wert, der angibt, ob die Oberfläche als Textur verwendet werden kann.
Das Festlegen dieses Elements entspricht dem Festlegen des 17. Bits des 32-Bit-Value Members (0x00010000).
CubeMap
Ein UINT-Wert, der angibt, ob es sich bei der Oberfläche um eine kubische Umgebungskarte handelt. Dieses Bitfeld-Flag erfordert, dass das Texture- Bitfeldflagge festgelegt ist.
Das Festlegen dieses Elements entspricht dem Festlegen des achtzehnten Bits des 32-Bit-Value Members (0x00020000).
Volume
Ein UINT-Wert, der angibt, ob die Oberfläche zusätzlich zu Breite und Höhe Tiefe aufweist , d. h. ob es sich bei der Oberfläche um ein Volumen handelt. Dieses Bitfeld-Flag erfordert, dass das Texture- Bitfeldflagge festgelegt ist.
Das Festlegen dieses Elements entspricht dem Festlegen des neunzehnten Bits des 32-Bit-Value Members (0x00040000).
VertexBuffer
Ein UINT-Wert, der angibt, ob es sich bei der Oberfläche um einen Vertexpuffer handelt (d. h. Speichert Scheitelpunkte).
Das Festlegen dieses Elements entspricht dem Festlegen des zwanzigsten Bits des 32-Bit-Value Members (0x00080000).
IndexBuffer
Ein UINT-Wert, der angibt, ob es sich bei der Oberfläche um einen Indexpuffer handelt (d. h. speichert Indizes).
Das Festlegen dieses Elements entspricht dem Festlegen des 22-Bit-Elements des 32-Bit-Value Members (0x00100000).
DecodeRenderTarget
Ein UINT-Wert, der angibt, ob die Oberfläche als Renderziel für die Decodierung von Microsoft DirectX Video Acceleration (DirectX VA) verwendet wird.
Das Festlegen dieses Elements entspricht dem Festlegen des 32-Bit-Value Members (0x00200000).
DecodeCompressedBuffer
Ein UINT-Wert, der angibt, ob die Oberfläche komprimierte Pufferinformationen für die DirectX VA-Decodierung enthält.
Das Festlegen dieses Elements entspricht dem Festlegen des 32-Bit-Value Members (0x00400000).
VideoProcessRenderTarget
Ein UINT-Wert, der angibt, ob die Oberfläche als Renderziel für die DirectX VA-Videoverarbeitung verwendet wird.
Das Festlegen dieses Elements entspricht dem Festlegen des 32-Bit-Value Members (0x00800000).
CpuOptimized
Ein UINT-Wert, der angibt, ob die CPU häufig auf die Ressource zugreift.
Der Treiber sollte die Ressource in einem Speicherpool platzieren, auf den die CPU schnell zugreifen kann (z. B. AGP-Speicher). Der Miniporttreiber für die Anzeige sollte den Speicher als zwischenspeicherbar kennzeichnen, indem das - Bitfeld-Flag im Flags Element der DXGK_ALLOCATIONINFO-Struktur festgelegt wird, wenn die DxgkDdiCreateAllocation-Funktion aufgerufen wird.
Das CpuOptimized Flag wird in der Regel für Renderziele (sowohl eigenständige Renderziele als auch Texturen) festgelegt.
Das Festlegen dieses Elements entspricht dem Festlegen des 32-Bit-Value Members (0x01000000).
MightDrawFromLocked
Ein UINT-Wert, der angibt, ob der Treiber möglicherweise zum Zeichnen aus einem Vertexpuffer angefordert wird, auch wenn der Vertexpuffer von der Direct3D-Laufzeit gesperrt ist. Diese Anforderung bedeutet, dass der Treiber gelegentlich Aufrufe an seine DrawIndexedPrimitive, DrawIndexedPrimitive2, DrawPrimitiveund DrawPrimitive2 Funktionen empfangen kann, auf die die Vertexdaten in einem gesperrten Vertexpuffer verwiesen wird, der mit MightDrawFromLockedgekennzeichnet ist. Die Laufzeit muss diese Arten von Aufrufen in Szenarien durchführen, in denen softwaretransformation und Beleuchtung (anstelle von Hardware) ausgeführt wird. Diese Szenarien treten in der Regel nicht auf.
Da die Laufzeit den Vertexpuffer jedoch gesperrt hat, kann der Treiber die pfnUnlockCb--Funktion nicht aufrufen, bevor die pfnRenderCb--Funktion aufgerufen wird. Daher muss der Treiber den Vertexpuffer in einem System- oder AGP-Speichersegment unterstützen; andernfalls lehnt der Videospeicher-Manager das Rendering ab. Der Treiber muss keine andere spezielle Aktion ausführen, da die Laufzeit keine Daten im gesperrten Vertexpuffer überschreibt, wenn die Hardware aktiv aus dem Vertexpuffer gerendert wird.
Das Festlegen dieses Elements entspricht dem Festlegen des 22-Bit-Bit-Value Members (0x02000000).
Overlay
Ein UINT-Wert, der angibt, ob es sich bei der Ressource um eine Überlagerung handelt.
Das Festlegen dieses Elements entspricht dem Festlegen des 32-Bit-Bit-Value Members (0x04000000).
MatchGdiPrimary
Ein UINT-Wert, der angibt, ob es sich bei der Ressource um eine primäre Oberfläche handelt, die mit allen Eigenschaften der aktuellen GDI-Primäroberfläche übereinstimmt, die mithilfe der D3DKMDT_SHAREDPRIMARYSURFACEDATA-Struktur erstellt wurde. Beispielsweise ist das Kippen von der übereinstimmenden Primäroberfläche auf die aktuelle GDI-Primäroberfläche und umgekehrt möglich.
Das Festlegen dieses Elements entspricht dem Festlegen des 32-Bit-Bit-Value Members (0x08000000).
InterlacedRefresh
Ein UINT-Wert, der angibt, ob es sich bei der Ressource um eine primäre Oberfläche handelt, die im Interlaced-Anzeigemodus verwendet werden soll.
Das Festlegen dieses Elements entspricht dem Festlegen des 32-Bit-Bit-Value Members (0x10000000).
TextApi
Ein UINT-Wert, der angibt, ob die Ressource für die Texturfilterung oder als Eingabedatenstromquelle verwendet werden kann. Wenn Texturen mit dem TextApi Bitfeld-Flags erstellt werden, können sie nicht für die Texturfilterung verwendet werden. Wenn Vertexpuffer mit dem TextApi Bitfeld-Flagsatz erstellt werden, können sie nicht als Eingabedatenstromquellen verwendet werden. Das TextApi- Bitfeld-Flag muss für Vertexpuffer und Quelloberflächen angegeben werden, die in Aufrufen der ComposeRects--Funktion verwendet werden.
Das Festlegen dieses Elements entspricht dem Festlegen des dreizehnten Bits des 32-Bit-Value Members (0x20000000).
RestrictedContent
Unterstützt in Windows 7 und höheren Versionen.
Ein UINT-Wert, der angibt, ob die Ressource geschützte Inhalte enthält. In den meisten Fällen hat eine Anwendung den Inhaltsschutz explizit aktiviert, bevor die Anwendung eine eingeschränkte Ressource erstellt. Die Anwendung muss jedoch keinen expliziten Inhaltsschutz aktivieren, wenn eine eingeschränkte Vollbild-Exklusivmodus-Swapchain erstellt wird.
Das Festlegen dieses Elements entspricht dem Festlegen des 32-Bit-Value Members (0x40000000).
RestrictSharedAccess
Unterstützt in Windows 7 und höheren Versionen.
Ein UINT-Wert, der angibt, ob die Laufzeit nur bestimmten Prozessen Zugriff auf die freigegebene Ressource zulässt.
Das Festlegen dieses Elements entspricht dem Festlegen der 32-Bit-Bit-Value Member (0x80000000).
Value
Ein 32-Bit-Wert, der den Typ der zu erstellenden Ressource identifiziert.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme. |
Header- | d3dukmdt.h (einschließlich D3dumddi.h, D3dkmddi.h) |