D3D11_RESOURCE_FLAGS struttura (d3d11on12.h)
Usato con ID3D11On12Device::CreateWrappedResource per eseguire l'override dei flag che verranno dedotti dalle proprietà delle risorse o dalle proprietà heap, inclusi flag di associazione, flag di misc e flag di accesso della CPU.
Sintassi
typedef struct D3D11_RESOURCE_FLAGS {
UINT BindFlags;
UINT MiscFlags;
UINT CPUAccessFlags;
UINT StructureByteStride;
} D3D11_RESOURCE_FLAGS;
Members
BindFlags
I flag di associazione devono essere completamente dedotti o completamente specificati per consentire al driver grafico di definire l'ambito di una risorsa D3D12 generale in un elemento che D3D11 può comprendere.
Se viene specificato un flag di associazione che non è supportato dalla risorsa specificata, verrà restituito un errore.
I flag di associazione seguenti (costanti di enumerazione D3D11_BIND_FLAG) non verranno assunti e devono essere specificati per poter usare una risorsa in modo simile:
- 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, purché D3D12_RESOURCE_MISC_DENY_SHADER_RESOURCE non sia presente
- D3D11_BIND_RENDER_TARGET, se è presente D3D12_RESOURCE_MISC_ALLOW_RENDER_TARGET
- D3D11_BIND_DEPTH_STENCIL, se è presente D3D12_RESOURCE_MISC_ALLOW_DEPTH_STENCIL
- D3D11_BIND_UNORDERED_ACCESS, se è presente D3D12_RESOURCE_MISC_ALLOW_UNORDERED_ACCESS
MiscFlags
Se i flag misc non sono zero, eventuali flag specificati saranno OR nel desc finale delle risorse con flag posticipati. I flag misc possono essere parzialmente specificati per aggiungere funzionalità, ma i flag misc che non possono essere mascherati.
Non verranno assunti i flag di enumerazione seguenti (costanti di enumerazione D3D11_RESOURCE_MISC_FLAG):
- D3D11_RESOURCE_MISC_GENERATE_MIPS (conflitti con CLAMP).
- D3D11_RESOURCE_MISC_TEXTURECUBE (modifica il comportamento predefinito della visualizzazione).
- D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS (esclusivo con alcuni flag di associazione).
- D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS (esclusivo con altri tipi di UAV).
- D3D11_RESOURCE_MISC_BUFFER_STRUCTURED (esclusivo con altri tipi di UAV).
- D3D11_RESOURCE_MISC_RESOURCE_CLAMP (impedisce D3D10 QIs, conflitti con GENERATE_MIPS).
- D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX. È possibile creare una risorsa mutex con chiave D3D11, crearne un handle condiviso e aprirla tramite 11on12 o D3D11.
- D3D11_RESOURCE_MISC_SHARED, D3D11_RESOURCE_MISC_SHARED_NTHANDLE, D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE, se sono presenti flag di errore heap appropriati.
- D3D11_RESOURCE_MISC_GDI_COMPATIBLE, se la risorsa D3D12 è compatibile con GDI.
- D3D11_RESOURCE_MISC_TILED, se la risorsa D3D12 è stata creata tramite CreateReservedResource.
- D3D11_RESOURCE_MISC_TILE_POOL, se è stato passato un heap D3D12.
- D3D11_RESOURCE_MISC_RESTRICTED_CONTENT, poiché D3D12 supporta solo la protezione hardware.
- D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER non esiste in 12 e non può essere aggiunto dopo la creazione della risorsa.
- D3D11_RESOURCE_MISC_GUARDED è destinato solo a essere impostato da un meccanismo di creazione interno.
CPUAccessFlags
Le CPUAccessFlags non vengono derivate dalla risorsa D3D12. Ciò avviee perché tutte le risorse vengono considerate come D3D11_USAGE_DEFAULT, quindi la convalida cpuAccessFlags forza la convalida che presuppone la mappa dei buffer o delle trame predefinite. Le risorse con wrapping non supportano Map(DISCARD). Le risorse con wrapping non supportano map(NO_OVERWRITE), ma che possono essere implementate eseguendo il mapping della risorsa D3D12 sottostante. L'emissione di una chiamata mappa in una risorsa con wrapping verrà sincronizzata con tutte le operazioni D3D11 inviate a tale risorsa, a meno che non sia stato usato il flag di DO_NOT_WAIT.
StructureByteStride
Dimensioni di ogni elemento nella struttura del buffer (in byte) quando il buffer rappresenta un buffer strutturato.
Commenti
Usare questa struttura con CreateWrappedResource.
Requisiti
Requisito | Valore |
---|---|
Intestazione | d3d11on12.h |