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) |