Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wird mit ID3D11On12Device::CreateWrappedResource verwendet, um Flags zu überschreiben, die von den Ressourceneigenschaften oder Heapeigenschaften abgeleitet werden, einschließlich Bindungsflags, misc-Flags und CPU-Zugriffsflags.
Syntax
typedef struct D3D11_RESOURCE_FLAGS {
UINT BindFlags;
UINT MiscFlags;
UINT CPUAccessFlags;
UINT StructureByteStride;
} D3D11_RESOURCE_FLAGS;
Member
BindFlags
Bindungsflags müssen entweder vollständig abgeleitet oder vollständig angegeben sein, damit der Grafiktreiber eine allgemeine D3D12-Ressource auf etwas festlegen kann, das D3D11 verstehen kann.
Wenn ein Bindungsflag angegeben wird, das von der bereitgestellten Ressource nicht unterstützt wird, wird ein Fehler zurückgegeben.
Die folgenden Bindungsflags (D3D11_BIND_FLAG Enumerationskonstanten) werden nicht angenommen und müssen angegeben werden, damit eine Ressource auf diese Weise verwendet werden kann:
- D3D11_BIND_VERTEX_BUFFER
- D3D11_BIND_INDEX_BUFFER
- D3D11_BIND_CONSTANT_BUFFER
- D3D11_BIND_STREAM_OUTPUT
- D3D11_BIND_DECODER
- D3D11_BIND_VIDEO_ENCODER
- D3D11_BIND_SHADER_RESOURCE, solange D3D12_RESOURCE_MISC_DENY_SHADER_RESOURCE nicht vorhanden ist
- D3D11_BIND_RENDER_TARGET, wenn D3D12_RESOURCE_MISC_ALLOW_RENDER_TARGET vorhanden ist
- D3D11_BIND_DEPTH_STENCIL, wenn D3D12_RESOURCE_MISC_ALLOW_DEPTH_STENCIL vorhanden ist
- D3D11_BIND_UNORDERED_ACCESS, wenn D3D12_RESOURCE_MISC_ALLOW_UNORDERED_ACCESS vorhanden ist
MiscFlags
Wenn misc-Flags nicht zero sind, werden alle angegebenen Flags or'd in the final resource desc mit abgeleiteten Flags. Misc-Flags können teilweise angegeben werden, um Funktionen hinzuzufügen, aber implizite misc-Flags können nicht maskiert werden.
Die folgenden misc-Flags (D3D11_RESOURCE_MISC_FLAG Enumerationskonstanten) werden nicht angenommen:
- D3D11_RESOURCE_MISC_GENERATE_MIPS (Konflikte mit CLAMP).
- D3D11_RESOURCE_MISC_TEXTURECUBE (ändert das Standardverhalten der Ansicht).
- D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS (exklusiv mit einigen Bindungsflags).
- D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS (exklusiv mit anderen UaVs).
- D3D11_RESOURCE_MISC_BUFFER_STRUCTURED (exklusiv mit anderen UaVs).
- D3D11_RESOURCE_MISC_RESOURCE_CLAMP (verbietet D3D10-QIs, Konflikte mit GENERATE_MIPS).
- D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX. Es ist möglich, eine D3D11-Mutex-Ressource mit Schlüsseln zu erstellen, einen freigegebenen Handle für sie zu erstellen und sie über 11on12 oder D3D11 zu öffnen.
- D3D11_RESOURCE_MISC_SHARED, D3D11_RESOURCE_MISC_SHARED_NTHANDLE, D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE sind ggf. Heap-Misc-Flags vorhanden.
- D3D11_RESOURCE_MISC_GDI_COMPATIBLE, wenn die D3D12-Ressource GDI-kompatibel ist.
- D3D11_RESOURCE_MISC_TILED, wenn die D3D12-Ressource über CreateReservedResource erstellt wurde.
- D3D11_RESOURCE_MISC_TILE_POOL, wenn ein D3D12-Heap übergeben wurde.
- D3D11_RESOURCE_MISC_RESTRICTED_CONTENT, da D3D12 nur Hardwareschutz unterstützt.
- D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER ist in 12 nicht vorhanden und kann nach der Ressourcenerstellung nicht hinzugefügt werden.
- D3D11_RESOURCE_MISC_GUARDED soll nur durch einen internen Erstellungsmechanismus festgelegt werden.
CPUAccessFlags
Die CPUAccessFlags werden nicht aus der D3D12-Ressource abgeleitet. Dies liegt daran, dass alle Ressourcen als D3D11_USAGE_DEFAULT behandelt werden, sodass CPUAccessFlags eine Überprüfung erzwingt, die die Zuordnung von Standardpuffern oder Texturen vorausnimmt. Umschlossene Ressourcen unterstützen Map(DISCARD) nicht. Umschlossene Ressourcen unterstützen Map(NO_OVERWRITE) nicht, dies kann jedoch implementiert werden, indem stattdessen die zugrunde liegende D3D12-Ressource zugeordnet wird. Wenn Sie einen Kartenaufruf für eine umschlossene Ressource ausgeben, werden alle D3D11-Arbeiten synchronisiert, die für diese Ressource übermittelt werden, es sei denn, das DO_NOT_WAIT-Flag wurde verwendet.
StructureByteStride
Die Größe jedes Elements in der Pufferstruktur (in Bytes), wenn der Puffer einen strukturierten Puffer darstellt.
Hinweise
Verwenden Sie diese Struktur mit CreateWrappedResource.
Anforderungen
| Anforderung | Wert |
|---|---|
| Header | d3d11on12.h |