Share via


Método ID3D12Debug5::SetEnableAutoName (d3d12sdklayers.h)

Configura a nomenclatura automática de objetos.

Sintaxe

void SetEnableAutoName(
  BOOL Enable
);

Parâmetros

Enable

Tipo: BOOL

true para habilitar a nomenclatura automática; false para desabilitar a nomenclatura automática.

Valor retornado

Nenhum

Comentários

Por padrão, os objetos não são nomeados, a menos que você use ID3D12Object::SetName ou ID3D12Object::SetPrivateData para atribuir um nome.

É uma prática recomendada nomear todos os seus objetos Direct3D 12; pelo menos em builds de depuração. Caso contrário, talvez seja conveniente permitir a atribuição automática de nome para cobrir as lacunas. Os objetos Direct3D 12 criados com o nome automático habilitado recebem automaticamente um nome, que é usado para saída de camada de depuração e para dados de falha de página DRED.

Portanto, para não criar uma dependência em um formato de nomenclatura automático específico, você não pode recuperar as cadeias de caracteres de nome automático usando ID3D12Object::GetName ou ID3D12Object::GetPrivateData. Mas, para gerar uma cadeia de caracteres de nome exclusiva, o Direct3D 12 usa o LUID (identificador exclusivo local) atribuído a cada objeto ID3D12DeviceChild no momento da criação. Você pode recuperar esse LUID usando ID3D12Object::GetPrivateData com o valor REFGUIDWKPDID_D3D12UniqueObjectId. Você pode achar isso útil para seus próprios esquemas de nomenclatura de objeto.

Ao depurar o software existente, você pode controlar a nomenclatura automática usando o utilitário de ferramentas gráficas D3DConfig e o comando d3dconfig.exe device auto-debug-name=forced-on.

Qualquer objeto dado um nome usando ID3D12Object::SetName ou ID3D12Object::SetPrivateData usa o nome atribuído em vez do nome automático.

Requisitos

   
Cliente mínimo com suporte Windows 10 Build 20348
Servidor mínimo com suporte Windows 10 Build 20348
Plataforma de Destino Windows
Cabeçalho d3d12sdklayers.h

Confira também