Compartilhar via


estrutura D3DDEVINFO_VCACHE (d3d9types.h)

Somente versões posteriores e DirectX 8.1.

A estrutura D3DDEVINFO_VCACHE descreve informações de cache de vértice de um dispositivo.

Sintaxe

typedef struct _D3DDEVINFO_VCACHE {
  DWORD Pattern;
  DWORD OptMethod;
  DWORD CacheSize;
  DWORD MagicNumber;
} D3DDEVINFO_VCACHE, *LPD3DDEVINFO_VCACHE;

Membros

Pattern

Especifica o padrão de bit. O driver deve especificar o padrão de bit como o valor do código de quatro caracteres (FOURCC) da CACH. O driver pode usar a macro MAKEFOURCC da seguinte maneira para especificar o valor FOURCC como CACH:

MAKEFOURCC('C', 'A', 'C', 'H');

OptMethod

Especifica o método de otimização de malha. O driver pode usar um dos seguintes valores para especificar a otimização de malha que ele usa:

Valor Significado
D3DXMESHOPT_STRIPREORDER (0) Otimização de tiras mais longas
D3DXMESHOPT_VCACHE (1) Otimização baseada em cache de vértice

CacheSize

Especifica o tamanho efetivo, em entradas, para o qual o driver otimiza o cache de vértice. O tamanho real do cache não é necessário para ser o tamanho especificado em cacheSize porque, na maioria dos casos, o tamanho real do cache acaba sendo maior. O driver especifica apenas um tamanho otimizado em cacheSize se ele também especifica D3DXMESHOPT_VCACHE no membro optMethod.

MagicNumber

Especifica o número que deve ser usado como parte de um procedimento de avaliação e erro ao determinar quando reiniciar a lista de tiras. Esse número pode ser definido de 1 para o valor no membro do cacheSize. Normalmente, os melhores valores são próximos CacheSize/2.

Observações

Somente versões do DirectX 8.1. O runtime do Direct3D chama a função D3dGetDriverState de um driver para obter informações de cache de vértice do driver. Neste chamada D3dGetDriverState, o runtime especifica o sinalizador D3DDEVINFOID_VCACHE no membro dwFlags da estrutura DD_GETDRIVERSTATEDATA que o runtime passa. O driver especifica informações de cache de vértice em uma estrutura de D3DDEVINFO_VCACHE e as retorna no lpdwStates membro do DD_GETDRIVERSTATEDATA.

Somente versões posteriores e DirectX 9.0. O runtime do Direct3D especifica comandos D3DDP2OP_CREATEQUERY e D3DDP2OP_ISSUEQUERY em chamadas para o D3dDrawPrimitives2 do driver2 retorno de chamada para criar recursos do lado do driver para a consulta e, em seguida, consultar assíncronamente o driver para obter informações de cache de vértice. Na chamada com o comando D3DDP2OP_CREATEQUERY, o runtime especifica o tipo de consulta D3DQUERYTYPE_VCACHE no membro queryType da estrutura D3DHAL_DP2CREATEQUERY.

Quando o driver conclui uma consulta de cache de vértice, o driver define o tamanho total do buffer de resposta no membro dwErrorOffset da estrutura D3DHAL_DRAWPRIMITIVES2DATA e define o ddrval membro do D3DHAL_DRAWPRIMITIVES2DATA para D3D_OK para conclusão bem-sucedida. O driver também substitui o buffer de comando de entrada com o buffer de resposta de saída. Esse buffer de resposta contém uma estrutura D3DHAL_DP2RESPONSEQUERY que identifica uma resposta para a consulta de cache de vértice. Esse D3DHAL_DP2RESPONSEQUERY é seguido pelos dados de cache de vértice na estrutura de D3DDEVINFO_VCACHE.

Requisitos

Requisito Valor
cabeçalho d3d9types.h (inclua D3d9types.h)

Consulte também

D3DDP2OP_CREATEQUERY

D3DDP2OP_ISSUEQUERY

D3DHAL_DP2CREATEQUERY

D3DHAL_DP2RESPONSEQUERY

D3DHAL_DRAWPRIMITIVES2DATA

D3dDrawPrimitives2

D3dGetDriverState