Struttura FORMATOP (d3dumddi.h)

La struttura FORMATOP descrive un formato di superficie e operazioni che possono essere eseguite con tale superficie.

Sintassi

typedef struct _FORMATOP {
  [in]  D3DDDIFORMAT Format;
  [out] UINT         Operations;
  [out] UINT         FlipMsTypes;
  [out] UINT         BltMsTypes;
  [out] UINT         PrivateFormatBitCount;
} FORMATOP;

Members

[in] Format

Valore D3DDDIFORMAT tipizzato che indica il formato pixel della superficie.

[out] Operations

Or bit per bit valido dei flag seguenti che indicano le operazioni che possono essere eseguite sulle superfici con il formato pixel specificato nel membro Format. Alcuni dei flag seguenti implicano l'uso di altri flag. Se un driver imposta un flag che implica altri flag, il driver non è necessario per impostare i flag impliciti e il runtime Direct3D determina l'uso dei flag impliciti.

FORMATOP_TEXTURE (0x000000001L)

Le superfici del formato pixel specificato possono essere usate come trame mappate MIP.

FORMATOP_VOLUMETEXTURE (0x00000002L)

Le superfici di questo formato possono essere usate come trame del volume. Si noti che questo flag è indipendente da FORMATOP_TEXTURE. Pertanto, un formato pixel può essere usato per trame del volume e non per trame convenzionali, MIP mappate.

FORMATOP_CUBETEXTURE (0x00000004L)

Le superfici di questo formato possono essere usate come trame della mappa dell'ambiente cubi. Si noti che questo flag è indipendente da FORMATOP_TEXTURE. Pertanto, un formato pixel può essere usato per trame della mappa dell'ambiente cubiche e non per trame convenzionali, MIP mappate.

FORMATOP_OFFSCREEN_RENDERTARGET (0x00000008L)

Le superfici di questo formato possono essere usate come destinazioni di rendering fuori schermo, indipendentemente dal formato pixel della modalità di visualizzazione, se il formato pixel della modalità di visualizzazione corrente è stato segnalato con FORMATOP_DISPLAYMODE e FORMATOP_3DACCELERATION. Se il formato pixel della modalità di visualizzazione corrente non ha impostato questi flag, non è disponibile alcuna accelerazione 3D in questa modalità anche se la destinazione di rendering è disattivata. Il flag FORMATOP_OFFSCREEN_RENDERTARGET può essere combinato con FORMATOP_TEXTURE per indicare che il dispositivo può eseguire il rendering in trame del formato pixel specificato.

Il flag FORMATOP_OFFSCREEN_RENDERTARGET implica anche i flag di FORMATOP_SAME_FORMAT_RENDERTARGET e FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET.

FORMATOP_SAME_FORMAT_RENDERTARGET (0x00000010L)

Le superfici di questo formato possono essere usate come destinazioni di rendering, ma solo quando il formato pixel della superficie corrisponde al formato pixel della modalità di visualizzazione corrente. Questo flag non si applica solo alle destinazioni di rendering offscreen, ma può essere specificato nei formati pixel delle modalità di visualizzazione per indicare la funzionalità di destinazione del rendering. Questo flag può essere combinato con FORMATOP_TEXTURE per indicare che il dispositivo può eseguire il rendering in trame del formato pixel specificato.

Il flag FORMATOP_SAME_FORMAT_RENDERTARGET implica anche il flag di FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET.

FORMATOP_ZSTENCIL (0x00000040L)

Le superfici di questo formato possono essere usate come buffer Z/stencil, ma solo se la profondità della superficie Z/stencil corrisponde alla profondità del colore della destinazione di rendering a cui è collegato il buffer di profondità. Usare il pixel stride quando si decide una corrispondenza tra Z/stencil e profondità del buffer del colore.

FORMATOP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH (0x000000080L)

Le superfici di questo formato possono essere usate come buffer Z/stencil, indipendentemente dalla profondità del colore della destinazione di rendering a cui è associata la superficie.

Il flag FORMATOP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH implica anche il flag di FORMATOP_ZSTENCIL.

FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET (0x00000100L)

Le superfici di questo formato possono essere usate come destinazioni di rendering se la modalità di visualizzazione corrente è la stessa profondità e il canale alfa viene ignorato. Ad esempio, se il dispositivo può essere eseguito il rendering in A8R8G8B8 quando la modalità di visualizzazione è X8R8G8B8, la voce dell'elenco operazioni di formato per A8R8G8B8 deve avere questo flag impostato.

FORMATOP_DISPLAYMODE (0x000004000L)

Modalità di visualizzazione con questo formato pixel supportato dal modello di driver (incluso Flip). Questo flag non deve essere impostato su formati alfa.

FORMATOP_3DACCELERATION (0x000008000L)

L'acceleratore di grafica può supportare un certo livello di accelerazione di Microsoft Direct3D quando in modalità di visualizzazione con questo formato pixel e il driver può creare un contesto in questa modalità (per alcuni formati di destinazione di rendering). Questo flag può essere usato solo quando si segnalano i formati della modalità di visualizzazione (specificando il FORMATOP_DISPLAYMODE). Questo flag non deve essere usato per segnalare i formati di destinazione di rendering offscreen.

FORMATOP_PIXELSIZE (0x00001000L)

Il driver compilato nei bit per pixel per il formato nel membro PrivateFormatBitCount .

Se il driver richiede che le superfici gestite e le trame usino un formato privato (un formato che può essere elaborato dal driver ma non in modo nativo dal runtime Direct3D), il driver deve specificare FORMATOP_PIXELSIZE e le dimensioni del pixel in PrivateFormatBitCount.

FORMATOP_CONVERT_TO_ARGB (0x00002000L)

Le superfici di origine di questo formato possono essere convertite in qualsiasi superficie di destinazione con un formato pixel RGB con il flag FORMATOP_MEMBEROFGROUP_ARGB specificato.

FORMATOP_OFFSCREENPLAIN (0x00004000L)

Il driver può estendersi verso e dalle superfici di riempimento del colore di questo formato.

FORMATOP_SRGBREAD (0x00008000L)

Le superfici di questo formato possono essere lette da come trame con formattazione sRGB, ovvero l'sampler linearizza i dati ricercati.

FORMATOP_BUMPMAP (0x00010000L)

Le superfici di questo formato possono essere usate come trame della mappa dell'ambiente di urto. Si noti che questo flag è indipendente da FORMATOP_TEXTURE. Pertanto, un formato pixel può essere usato per le trame mappa dell'ambiente di urto e non per trame convenzionali, MIP mappate.

FORMATOP_DMAP (0x00020000L)

L'sampler mappa di spostamento può campionire le superfici di questo formato.

FORMATOP_NOFILTER (0x00040000L)

Le superfici di questo formato non possono essere usate con il filtro della trama.

FORMATOP_MEMBEROFGROUP_ARGB (0x00080000L)

Le superfici di destinazione di questo formato possono essere convertite da qualsiasi superficie di origine con un formato pixel con il flag FORMATOP_CONVERT_TO_ARGB specificato. Il driver può specificare FORMATOP_MEMBEROFGROUP_ARGB solo per le superfici ARGB con almeno 5 bit di informazioni sul colore per ogni canale. Vale a dire, il formato D3DDDIFMT_A1R5G5B5 è valido, ma il formato D3DDDIFMT_A4R4G4B4 non è valido. Se il driver specifica FORMATOP_MEMBEROFGROUP_ARGB con un formato non valido, il runtime Direct3D impedisce il caricamento di Direct3D HAL. Si noti che anche se questo flag indica i formati ARGB, il runtime consente anche al driver di specificare le superfici con formati XRGB, ad esempio D3DDDIFMT_X1R5G5B5.

FORMATOP_SRGBWRITE (0x0010000L)

Le superfici di questo formato possono essere scritte come destinazioni formattate da sRGB, ovvero la pipe pixel delinea i dati sull'output in questo formato.

FORMATOP_NOALPHABLEND (0x0020000L)

Le superfici di questo formato non possono essere usate con la fusione alfa.

FORMATOP_AUTOGENMIPMAP (0x0040000L)

I sublevel delle trame mappate MIP con questo formato possono essere generati automaticamente. Per ricevere chiamate alla funzione GenerateMipSubLevels , questo flag deve essere esposto.

FORMATOP_VERTEXTEXTURE (0x0080000L)

Un esempio di trama del vertice può usare le superfici di questo formato. Vale a dire, solo le superfici di questo formato possono essere usate come trame dei vertici.

FORMATOP_NOTEXCOORDWRAPNORMIP (0x0100000L)

Le superfici di questo formato possono essere usate solo in modo condizionale per il mapping della trama di trame 2D con dimensioni che non sono poteri di 2. Per altre informazioni, vedere le definizioni per D3DPTEXTURECAPS_POW2 e D3DPTEXTURECAPS_NONPOW2CONDITIONAL nella pagina di riferimento D3DPRIMCAPS.

FORMATOP_PLANAR (0x02000000L)

Le superfici di questo formato sono planari rispetto al pacchetto. Il runtime Direct3D deve allocare un buffer se chiama la funzione Di blocco del driver di visualizzazione in modalità utente su una superficie con un formato planare mentre la superficie viene persa e il calcolo tipico dell'altezza moltiplicata del passo non è possibile. La maggior parte dei formati viene inserita, ad eccezione di quelle usate da Microsoft DirectX Video Acceleration (ad esempio, formati YUV).

FORMATOP_OVERLAY (0x0400000L)

Le superfici di questo formato vengono usate per le operazioni di sovrapposizione.

FORMATOP_CAPTURE (0x08000000L)

Se il membro VideoEncoder della struttura D3DDDI_RESOURCEFLAGS2 è impostato, le superfici di questo formato possono essere usate come buffer di acquisizione.

Supportato a partire da Windows 8.

FORMATOP_VIDEO_ENCODER (0x10000000L)

Se il membro VideoEncoder della struttura D3DDDI_RESOURCEFLAGS2 è impostato, le superfici di questo formato possono essere usate come risorse di input del codificatore video.

Supportato a partire da Windows 8.

FORMATOP_MULTIPLANE_OVERLAY (0x20000000L)

Le superfici di questo formato supportano una sovrapposizione multipla.

Supportato a partire da Windows 8.

[out] FlipMsTypes

Maschera a 32 bit per più campionamento a schermo intero.

[out] BltMsTypes

Maschera a 32 bit per il campionamento multiplo finestrato.

[out] PrivateFormatBitCount

I bit per pixel di un formato pixel privato per il driver ,ovvero non uno dei formati pixel standard definiti dal tipo di enumerazione D3DDDIFORMAT .

Requisiti

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

Vedi anche

D3DDDIARG_GETCAPS

D3DDDICAPS_TYPE

D3DDDIFORMAT

D3DDDI_RESOURCEFLAGS2

GetCaps