Fonction D3DX10DisassembleShader
Notes
Au lieu d’utiliser cette fonction héritée, nous vous recommandons d’utiliser l’API D3DDisassemble .
Cette fonction, qui désassemble un nuanceur compilé en une chaîne de texte contenant des instructions d’assembly et des affectations d’inscription, n’existe plus. Utilisez plutôt D3DDisassemble10Effect.
Syntaxe
HRESULT D3DX10DisassembleShader(
_In_ const void *pShader,
_In_ SIZE_T BytecodeLength,
_In_ BOOL EnableColorCode,
_In_ LPCSTR pComments,
_Out_ ID3D10Blob **ppDisassembly
);
Paramètres
-
pShader [in]
-
Type : const void*
Pointeur vers le nuanceur compilé.
-
BytecodeLength [in]
-
Type : SIZE_T
Taille de pShader.
-
EnableColorCode [in]
-
Type : BOOL
Incluez des balises HTML dans la sortie pour colorer le résultat.
-
pComments [in]
-
Type : LPCSTR
Chaîne de commentaire en haut du nuanceur qui identifie les constantes et variables du nuanceur.
-
ppDisassembly [out]
-
Type : ID3D10Blob**
Adresse d’une mémoire tampon (voir Interface ID3D10Blob) qui contient le nuanceur désassemblé.
Valeur retournée
Type : HRESULT
Renvoie l’un des codes de retour Direct3D 10 suivants.
Notes
Ce texte retourné inclut un en-tête avec la version du compilateur HLSL utilisé pour générer cet objet, des commentaires décrivant la disposition en mémoire des mémoires tampons constantes utilisées par le nuanceur, les signatures d’entrée et de sortie et les points de liaison de ressources.
Voici un exemple de désassemblement d’un nuanceur compilé. L’exemple suppose que vous commencez par un nuanceur compilé (affiché sous la forme pVSBuf que vous pouvez voir dans l’exemple HLSLWithoutFX10).
LPCSTR commentString = NULL;
ID3D10Blob* pIDisassembly = NULL;
char* pDisassembly = NULL;
if( pVSBuf )
{
D3D10DisassembleShader( (UINT*) pVSBuf->GetBufferPointer(),
pVSBuf->GetBufferSize(), TRUE, commentString, &pIDisassembly );
if( pIDisassembly )
{
FILE* pFile = fopen( "shader.htm", "w" );
if( pFile)
{
fputs( (char*)pIDisassembly->GetBufferPointer(), pFile );
fclose( pFile );
}
}
}
Spécifications
Condition requise | Valeur |
---|---|
En-tête |
|
Voir aussi