struttura D3DDDI_RESOURCEFLAGS (d3dukmdt.h)

La struttura D3DDDI_RESOURCEFLAGS identifica il tipo di risorse da creare in una chiamata alla funzione CreateResource del driver.

Sintassi

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;

Members

RenderTarget

L'impostazione di questo membro equivale all'impostazione del primo bit del membro Value a 32 bit (0x00000001).

ZBuffer

Valore UINT che specifica se la superficie è il buffer z. Il buffer z contiene informazioni sulla profondità di bit utilizzate per determinare quali pixel sono visibili e quali sono nascosti. Il buffer z contiene informazioni che non possono essere visualizzate.

L'impostazione di questo membro equivale all'impostazione del secondo bit del membro Value a 32 bit (0x00000002).

Dynamic

Valore UINT che specifica se la superficie viene aggiornata di frequente. Questo flag di campo di bit non può essere usato con il flag di campo di bit HintStatic .

L'impostazione di questo membro equivale all'impostazione del terzo bit del membro Value a 32 bit (0x00000004).

HintStatic

Valore UINT che specifica se la superficie viene aggiornata raramente, ma deve comunque consentire l'accesso. Questo flag di campo di bit non può essere usato con il flag di campo a bit dinamico .

L'impostazione di questo membro equivale all'impostazione del quarto bit del membro Valore a 32 bit (0x00000008).

AutogenMipmap

Valore UINT che specifica se i sublevel della mappa MIP per la superficie vengono generati automaticamente.

L'impostazione di questo membro equivale all'impostazione del quinto bit del membro Valore a 32 bit (0x00000010).

DMap

Valore UINT che specifica se la superficie è una trama della mappa di spostamento che il campionatore di mappa di spostamento può campionare nell'unità a mosaico.

L'impostazione di questo membro equivale all'impostazione del sesto bit del membro Value a 32 bit (0x00000020).

WriteOnly

Valore UINT che specifica se la superficie può essere scritta solo in . L'accesso in lettura dalla superficie potrebbe generare un errore di protezione generale (GPF). Se la superficie viene letta, i risultati di lettura non sono significativi.

L'impostazione di questo membro equivale all'impostazione del settimo bit del membro Value a 32 bit (0x00000040).

NotLockable

Valore UINT che specifica se la destinazione di rendering è bloccabile. Questo flag di campo di bit viene impostato sul database primario e i buffer nascosto se la catena di capovolgimento non è bloccabile o su qualsiasi destinazione di rendering non bloccabile. Il driver può quindi eseguire l'ottimizzazione in background.

Anche se questo flag è impostato, la superficie può comunque essere bloccata, quindi il driver deve gestire questa situazione. Tuttavia, tali blocchi sono poco frequenti e non dovrebbero essere veloci.

Il driver può anche determinare se il buffer depth o stencil è bloccato dalla presenza di questo flag di campo di bit.

L'impostazione di questo membro equivale all'impostazione dell'ottavo bit del membro Value a 32 bit (0x00000080).

Points

Valore UINT che specifica se la superficie contiene dati del buffer dei vertici che possono essere utilizzati per eseguire il rendering di punti e sprite di punti.

L'impostazione di questo membro equivale all'impostazione del nono bit del membro Value a 32 bit (0x00000100).

RtPatches

Valore UINT che specifica se la superficie contiene dati del buffer dei vertici che possono essere usati per eseguire il rendering delle patch rt.

L'impostazione di questo membro equivale all'impostazione del decimo bit del membro Valore a 32 bit (0x00000200).

NPatches

Valore UINT che specifica se la superficie contiene dati del buffer dei vertici che possono essere usati per eseguire il rendering di n patch.

L'impostazione di questo membro equivale all'impostazione dell'undicesimo bit del membro Value a 32 bit (0x00000400).

SharedResource

Valore UINT che specifica se più dispositivi e processi condividono la superficie.

L'impostazione di questo membro equivale all'impostazione del dodicesimo bit del membro Value a 32 bit (0x00000800).

DiscardRenderTarget

Valore UINT che specifica se è necessaria la conservazione della superficie. Se la superficie viene usata come destinazione di rendering, la conservazione non è necessaria.

L'impostazione di questo membro equivale all'impostazione del tredicesimo bit del membro Value a 32 bit (0x00001000).

Video

Valore UINT che specifica se la superficie è una destinazione di rendering che contiene dati video.

Si noti che è possibile creare diverse destinazioni di rendering con questo flag e se due o più di queste destinazioni di rendering appartengono allo stesso contesto di Microsoft Direct3D, il driver determina che queste destinazioni di rendering devono visualizzare lo stesso flusso video indipendentemente dal fatto che le superfici di destinazione di rendering siano collegate l'una all'altra.

L'impostazione di questo membro equivale all'impostazione del quattordicesimo bit del membro Value a 32 bit (0x00002000).

CaptureBuffer

Valore UINT che specifica se la risorsa è un buffer di acquisizione.

L'impostazione di questo membro equivale all'impostazione del quindicesimo bit del membro Value a 32 bit (0x00004000).

Primary

Valore UINT che specifica se la superficie è la superficie primaria, ovvero se la superficie è attualmente visibile all'utente.

L'impostazione di questo membro equivale all'impostazione del sedicesimo bit del membro Value a 32 bit (0x00008000).

Texture

Valore UINT che specifica se la superficie può essere utilizzata come trama.

L'impostazione di questo membro equivale all'impostazione del diciassettesimo bit del membro Value a 32 bit (0x00010000).

CubeMap

Valore UINT che specifica se la superficie è una mappa di ambiente cubico. Questo flag di campo di bit richiede che sia impostato il flag del campo di bit Trama .

L'impostazione di questo membro equivale all'impostazione del diciottesimo bit del membro Value a 32 bit (0x00020000).

Volume

Valore UINT che specifica se la superficie ha profondità, oltre alla larghezza e all'altezza, ovvero se la superficie è un volume. Questo flag di campo di bit richiede che sia impostato il flag del campo di bit Trama .

L'impostazione di questo membro equivale all'impostazione del diciannovesimo bit del membro Value a 32 bit (0x00040000).

VertexBuffer

Valore UINT che specifica se la superficie è un buffer dei vertici, ovvero archivia i vertici.

L'impostazione di questo membro equivale all'impostazione del ventesimo bit del membro Value a 32 bit (0x00080000).

IndexBuffer

Valore UINT che specifica se la superficie è un buffer di indice, ovvero archivia gli indici.

L'impostazione di questo membro equivale all'impostazione del ventunesimo bit del membro Value a 32 bit (0x00100000).

DecodeRenderTarget

Valore UINT che specifica se la superficie viene usata come destinazione di rendering per la decodifica DirectX Video Acceleration (DirectX VA).

L'impostazione di questo membro equivale all'impostazione del ventiduesimo bit del membro Value a 32 bit (0x00200000).

DecodeCompressedBuffer

Valore UINT che specifica se la superficie contiene informazioni sul buffer compresso per la decodifica DIRECTX VA.

L'impostazione di questo membro equivale all'impostazione del ventitreesimo bit del membro Value a 32 bit (0x00400000).

VideoProcessRenderTarget

Valore UINT che specifica se la superficie viene usata come destinazione di rendering per l'elaborazione video DirectX VA.

L'impostazione di questo membro equivale all'impostazione del ventiquattro bit del membro Value a 32 bit (0x00800000).

CpuOptimized

Valore UINT che specifica se la CPU accede frequentemente alla risorsa.

Il driver deve inserire la risorsa in un pool di memoria a cui la CPU può accedere rapidamente( ad esempio, memoria AGP). Il driver miniport di visualizzazione deve contrassegnare la memoria come memorizzabile nella cache impostando il flag di campo di bit memorizzato nella cache nel membro Flags della struttura DXGK_ALLOCATIONINFO quando viene chiamata la funzione DxgkDdiCreateAllocation .

Il flag CpuOptimized viene in genere impostato per le destinazioni di rendering (sia per le destinazioni di rendering autonome che per le trame).

L'impostazione di questo membro equivale all'impostazione del venticinquesimo bit del membro Value a 32 bit (0x01000000).

MightDrawFromLocked

Valore UINT che specifica se è possibile che il driver venga richiesto di disegnare da un buffer dei vertici anche se il buffer dei vertici è bloccato dal runtime Direct3D. Questa richiesta indica che il driver può, in occasione, ricevere chiamate alle relative funzioni DrawIndexedPrimitive, DrawIndexedPrimitive2, DrawPrimitive e DrawPrimitive2 in cui viene fatto riferimento ai dati dei vertici all'interno di un buffer di vertici bloccato contrassegnato con MightDrawFromLocked. Il runtime deve effettuare questi tipi di chiamate in scenari in cui esegue la trasformazione e l'illuminazione del software (anziché l'hardware). Questi scenari non si verificano in genere.

Tuttavia, poiché il runtime ha bloccato il buffer dei vertici, il driver non può chiamare la funzione pfnUnlockCb prima di chiamare la funzione pfnRenderCb . Di conseguenza, il driver deve supportare il buffer dei vertici in un segmento di memoria di sistema o AGP; in caso contrario, la gestione memoria video rifiuta il rendering. Non è necessario che il driver esegua altre azioni speciali perché il runtime non sovrascriverà alcun dato nel buffer dei vertici bloccato quando l'hardware esegue attivamente il rendering dal buffer dei vertici.

L'impostazione di questo membro equivale all'impostazione del ventisei bit del membro Value a 32 bit (0x02000000).

Overlay

Valore UINT che specifica se la risorsa è una sovrimpressione.

L'impostazione di questo membro equivale all'impostazione del ventisettesimo bit del membro Value a 32 bit (0x04000000).

MatchGdiPrimary

Valore UINT che specifica se la risorsa è una superficie primaria che corrisponde a tutte le proprietà della superficie primaria GDI corrente creata utilizzando la struttura D3DKMDT_SHAREDPRIMARYSURFACEDATA . Ad esempio, il capovolgimento dalla superficie primaria corrispondente alla superficie primaria GDI corrente e viceversa è possibile.

L'impostazione di questo membro equivale all'impostazione del ventiquattro bit del membro Value a 32 bit (0x08000000).

InterlacedRefresh

Valore UINT che specifica se la risorsa è una superficie primaria che deve essere utilizzata in modalità di visualizzazione interlacciata.

L'impostazione di questo membro equivale all'impostazione del ventunesimo bit del membro Value a 32 bit (0x10000000).

TextApi

Valore UINT che specifica se la risorsa può essere usata per il filtro delle trame o come origine del flusso di input. Se le trame vengono create con il set di flag di campo di bit TextApi , non possono essere usate per il filtro delle trame. Se i buffer dei vertici vengono creati con il set di flag di campo di bit TextApi , non possono essere usati come origini del flusso di input. Il flag di campo di bit TextApi deve essere specificato per i vertex buffer e le superfici di origine utilizzate nelle chiamate alla funzione ComposeRects .

L'impostazione di questo membro equivale all'impostazione del trentesimo bit del membro Value a 32 bit (0x20000000).

RestrictedContent

Supportato in Windows 7 e versioni successive.

Valore UINT che specifica se la risorsa contiene contenuto protetto. Nella maggior parte dei casi, un'applicazione ha abilitato in modo esplicito la protezione del contenuto prima che l'applicazione crei una risorsa con restrizioni. Tuttavia, l'applicazione non deve abilitare in modo esplicito la protezione del contenuto se crea una porta di scambio in modalità esclusiva a schermo intero con restrizioni.

L'impostazione di questo membro equivale all'impostazione del trentacinquesimo bit del membro Value a 32 bit (0x40000000).

RestrictSharedAccess

Supportato in Windows 7 e versioni successive.

Valore UINT che specifica se il runtime consente solo l'accesso a processi specifici alla risorsa condivisa.

L'impostazione di questo membro equivale a impostare il trenta secondi bit del membro Valore a 32 bit (0x80000000).

Value

Valore a 32 bit che identifica il tipo di risorsa da creare.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows.
Intestazione d3dukmdt.h (include D3dumddi.h, D3dkmddi.h)

Vedi anche

CreateResource

D3DDDIARG_CREATERESOURCE