Compartilhar via


estrutura D3DDDI_RESOURCEFLAGS (d3dukmdt.h)

A estrutura D3DDDI_RESOURCEFLAGS identifica o tipo de recursos a serem criados em uma chamada para a função CreateResource do driver.

Sintaxe

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;

Membros

RenderTarget

Definir esse membro é equivalente a definir o primeiro bit do membro Value de 32 bits (0x00000001).

ZBuffer

Um valor UINT que especifica se a superfície é o buffer z. O buffer z contém informações de profundidade de bit que são usadas para determinar quais pixels são visíveis e quais são obscurecidos. O buffer z contém informações que não podem ser exibidas.

Definir esse membro é equivalente a definir o segundo bit do membro Value de 32 bits (0x00000002).

Dynamic

Um valor UINT que especifica se a superfície é atualizada com frequência. Esse sinalizador de campo de bits não pode ser usado com o sinalizador de campo de bit HintStatic .

Definir esse membro é equivalente a definir o terceiro bit do membro Value de 32 bits (0x00000004).

HintStatic

Um valor UINT que especifica se a superfície é atualizada com pouca frequência, mas ainda deve permitir o acesso. Esse sinalizador de campo de bit não pode ser usado com o sinalizador de campo de bit dinâmico.

Definir esse membro é equivalente a definir o quarto bit do membro Value de 32 bits (0x00000008).

AutogenMipmap

Um valor UINT que especifica se os subnível do mapa MIP para a superfície são gerados automaticamente.

Definir esse membro é equivalente a definir o quinto bit do membro Value de 32 bits (0x00000010).

DMap

Um valor UINT que especifica se a superfície é uma textura de mapa de deslocamento que o amostrador de mapa de deslocamento pode amostrar na unidade de mosaico.

Definir esse membro é equivalente a definir o sexto bit do membro Value de 32 bits (0x00000020).

WriteOnly

Um valor UINT que especifica se a superfície só pode ser gravada. O acesso de leitura da superfície pode gerar uma GPF (falha de proteção geral). Se a superfície for lida de, os resultados de leitura não serão significativos.

Definir esse membro é equivalente a definir o sétimo bit do membro Value de 32 bits (0x00000040).

NotLockable

Um valor UINT que especifica se o destino de renderização é bloqueável. Esse sinalizador de campo de bits é definido no primário e nos buffers traseiros se a cadeia de inversão não for bloqueável ou em qualquer destino de renderização que não seja bloqueável. Em seguida, o driver pode fazer a otimização em segundo plano.

Mesmo que esse sinalizador esteja definido, a superfície ainda poderá ser bloqueada, portanto, o driver deve lidar com essa situação. No entanto, esses bloqueios são pouco frequentes e não se espera que sejam rápidos.

O driver também pode determinar se o buffer de profundidade ou estêncil é bloqueável pela presença desse sinalizador de campo de bit.

Definir esse membro é equivalente a definir o oitavo bit do membro Value de 32 bits (0x00000080).

Points

Um valor UINT que especifica se a superfície contém dados de buffer de vértice que podem ser usados para renderizar pontos e sprites de ponto.

Definir esse membro é equivalente a definir o nono bit do membro Value de 32 bits (0x00000100).

RtPatches

Um valor UINT que especifica se a superfície contém dados de buffer de vértice que podem ser usados para renderizar patches rt.

Definir esse membro é equivalente a definir o décimo bit do membro Value de 32 bits (0x00000200).

NPatches

Um valor UINT que especifica se a superfície contém dados de buffer de vértice que podem ser usados para renderizar n-patches.

Definir esse membro é equivalente a definir o décimo primeiro bit do membro Value de 32 bits (0x00000400).

SharedResource

Um valor UINT que especifica se vários dispositivos e processos compartilham a superfície.

Definir esse membro é equivalente a definir o décimo segundo bit do membro Value de 32 bits (0x00000800).

DiscardRenderTarget

Um valor UINT que especifica se a preservação da superfície é necessária. Se a superfície for usada como um destino de renderização, sua preservação não será necessária.

Definir esse membro é equivalente a definir o décimo terceiro bit do membro Value de 32 bits (0x00001000).

Video

Um valor UINT que especifica se a superfície é um destino de renderização que contém dados de vídeo.

Observe que vários destinos de renderização podem ser criados com esse sinalizador e, se dois ou mais desses destinos de renderização pertencerem ao mesmo contexto do Microsoft Direct3D, o driver determina que esses destinos de renderização devem exibir o mesmo fluxo de vídeo, independentemente de as superfícies de destino de renderização estarem anexadas umas às outras.

Definir esse membro é equivalente a definir o décimo quarto bit do membro Value de 32 bits (0x00002000).

CaptureBuffer

Um valor UINT que especifica se o recurso é um buffer de captura.

Definir esse membro é equivalente a definir o décimo quinto bit do membro Value de 32 bits (0x00004000).

Primary

Um valor UINT que especifica se a superfície é a superfície primária, ou seja, se a superfície está visível no momento para o usuário.

Definir esse membro é equivalente a definir o décimo sexto bit do membro Value de 32 bits (0x00008000).

Texture

Um valor UINT que especifica se a superfície pode ser usada como uma textura.

Definir esse membro é equivalente a definir o décimo sétimo bit do membro Value de 32 bits (0x00010000).

CubeMap

Um valor UINT que especifica se a superfície é um mapa de ambiente cúbico. Esse sinalizador de campo de bits requer que o sinalizador de campo de bits Textura esteja definido.

Definir esse membro é equivalente a definir o décimo oitavo bit do membro Value de 32 bits (0x00020000).

Volume

Um valor UINT que especifica se a superfície tem profundidade, além de largura e altura, ou seja, se a superfície é um volume. Esse sinalizador de campo de bits requer que o sinalizador de campo de bits Textura esteja definido.

Definir esse membro é equivalente a definir o décimo nono bit do membro Value de 32 bits (0x00040000).

VertexBuffer

Um valor UINT que especifica se a superfície é um buffer de vértice (ou seja, armazena vértices).

Definir esse membro é equivalente a definir o vigésimo bit do membro Value de 32 bits (0x00080000).

IndexBuffer

Um valor UINT que especifica se a superfície é um buffer de índice (ou seja, armazena índices).

Definir esse membro é equivalente a definir o bit 201 do membro Value de 32 bits (0x00100000).

DecodeRenderTarget

Um valor UINT que especifica se a superfície é usada como um destino de renderização para a decodificação do DirectX VA (Aceleração de Vídeo) do Microsoft DirectX.

Definir esse membro é equivalente a definir o bit de vinte segundos do membro Value de 32 bits (0x00200000).

DecodeCompressedBuffer

Um valor UINT que especifica se a superfície contém informações de buffer compactadas para decodificação do DirectX VA.

Definir esse membro é equivalente a definir o 23º bit do membro Value de 32 bits (0x00400000).

VideoProcessRenderTarget

Um valor UINT que especifica se a superfície é usada como um destino de renderização para processamento de vídeo directX VA.

Definir esse membro é equivalente a definir o 24º bit do membro Value de 32 bits (0x00800000).

CpuOptimized

Um valor UINT que especifica se a CPU acessa o recurso com frequência.

O driver deve colocar o recurso em um pool de memória que a CPU pode acessar rapidamente (por exemplo, memória AGP). O driver de miniporto de exibição deve sinalizar a memória como em cache definindo o sinalizador de campo de bit armazenado em cache no membro Flags da estrutura DXGK_ALLOCATIONINFO quando sua função DxgkDdiCreateAllocation for chamada.

O sinalizador CpuOptimized normalmente é definido para destinos de renderização (destinos de renderização autônomos e texturas).

Definir esse membro é equivalente a definir o 25º bit do membro Value de 32 bits (0x01000000).

MightDrawFromLocked

Um valor UINT que especifica se o driver é possivelmente solicitado a desenhar de um buffer de vértice, mesmo que o buffer de vértice seja bloqueado pelo runtime do Direct3D. Essa solicitação significa que o driver pode, ocasionalmente, receber chamadas para suas funções DrawIndexedPrimitive, DrawIndexedPrimitive2, DrawPrimitive e DrawPrimitive2 em que os dados de vértice são referenciados em um buffer de vértice bloqueado marcado com MightDrawFromLocked. O runtime deve fazer esses tipos de chamadas em cenários em que executa a transformação e a iluminação do software (em vez de hardware). Normalmente, esses cenários não ocorrem.

No entanto, como o runtime bloqueou o buffer de vértice, o driver não pode chamar a função pfnUnlockCb antes de chamar a função pfnRenderCb . Como resultado, o driver deve dar suporte ao buffer de vértice em um sistema ou segmento de memória AGP; caso contrário, o gerenciador de memória de vídeo rejeitará a renderização. O driver não é necessário para executar nenhuma outra ação especial porque o runtime não substituirá nenhum dado no buffer de vértice bloqueado quando o hardware for renderizado ativamente do buffer de vértice.

Definir esse membro é equivalente a definir o vigésimo sexto bit do membro Value de 32 bits (0x02000000).

Overlay

Um valor UINT que especifica se o recurso é uma sobreposição.

Definir esse membro é equivalente a definir o 27º bit do membro Value de 32 bits (0x04000000).

MatchGdiPrimary

Um valor UINT que especifica se o recurso é uma superfície primária que corresponde a todas as propriedades da superfície primária GDI atual que foi criada usando a estrutura D3DKMDT_SHAREDPRIMARYSURFACEDATA . Por exemplo, é possível inverter da superfície primária correspondente para a superfície primária GDI atual e vice-versa.

Definir esse membro é equivalente a definir o vigésimo oitavo bit do membro Value de 32 bits (0x08000000).

InterlacedRefresh

Um valor UINT que especifica se o recurso é uma superfície primária que deve ser usada em um modo de exibição entrelaçado.

Definir esse membro é equivalente a definir o 29º bit do membro Value de 32 bits (0x10000000).

TextApi

Um valor UINT que especifica se o recurso pode ser usado para filtragem de textura ou como uma fonte de fluxo de entrada. Se as texturas forem criadas com o conjunto de sinalizadores de campo de bits TextApi , elas não poderão ser usadas para filtragem de textura. Se os buffers de vértice forem criados com o conjunto de sinalizadores de campo de bit TextApi , eles não poderão ser usados como fontes de fluxo de entrada. O sinalizador de campo de bit TextApi deve ser especificado para buffers de vértice e superfícies de origem que são usados em chamadas para a função ComposeRects .

Definir esse membro é equivalente a definir o trigésimo bit do membro Value de 32 bits (0x20000000).

RestrictedContent

Com suporte no Windows 7 e versões posteriores.

Um valor UINT que especifica se o recurso contém conteúdo protegido. Na maioria das situações, um aplicativo habilitou explicitamente a proteção de conteúdo antes que o aplicativo crie um recurso restrito. No entanto, o aplicativo não precisará habilitar explicitamente a proteção de conteúdo se criar uma cadeia de troca restrita de modo exclusivo de tela inteira.

Definir esse membro é equivalente a definir o bit trinta primeiros do membro Value de 32 bits (0x40000000).

RestrictSharedAccess

Com suporte no Windows 7 e versões posteriores.

Um valor UINT que especifica se o runtime permite apenas o acesso de processos específicos ao recurso compartilhado.

Definir esse membro é equivalente a definir o bit de trinta segundos do membro Value de 32 bits (0x80000000).

Value

Um valor de 32 bits que identifica o tipo de recurso a ser criado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows.
Cabeçalho d3dukmdt.h (inclua D3dumddi.h, D3dkmddi.h)

Confira também

CreateResource

D3DDDIARG_CREATERESOURCE