D3DX10DisassembleShader (Fungsi D3DX10DisassembleShader)
Catatan
Alih-alih menggunakan fungsi warisan ini, kami sarankan Anda menggunakan D3DDisassemble API.
Fungsi ini -- yang membongkar shader yang dikompilasi ke dalam string teks yang berisi instruksi perakitan dan mendaftarkan penetapan -- tidak ada lagi. Sebagai gantinya, gunakan D3DDisassemble10Effect.
Sintaks
HRESULT D3DX10DisassembleShader(
_In_ const void *pShader,
_In_ SIZE_T BytecodeLength,
_In_ BOOL EnableColorCode,
_In_ LPCSTR pComments,
_Out_ ID3D10Blob **ppDisassembly
);
Parameter
-
pShader [in]
-
Jenis: const void*
Penunjuk ke shader yang dikompilasi.
-
BytecodeLength [in]
-
Jenis: SIZE_T
Ukuran pShader.
-
EnableColorCode [in]
-
Jenis: BOOL
Sertakan tag HTML dalam output untuk mewarnai kode hasilnya.
-
pComments [in]
-
Jenis: LPCSTR
String komentar di bagian atas shader yang mengidentifikasi konstanta dan variabel shader.
-
ppDisassembly [out]
-
Jenis: ID3D10Blob**
Alamat buffer (lihat ID3D10Blob Interface) yang berisi shader yang dibongkar.
Menampilkan nilai
Jenis: HRESULT
Mengembalikan salah satu Kode Pengembalian Direct3D 10 berikut.
Keterangan
Teks yang dikembalikan ini mencakup header dengan versi pengkompilasi HLSL yang digunakan untuk menghasilkan objek ini, komentar yang menjelaskan tata letak memori buffer konstanta yang digunakan oleh shader, tanda tangan input dan output, dan titik pengikatan sumber daya.
Berikut adalah contoh membongkar shader yang dikompilasi. Contoh mengasumsikan Anda mulai dengan shader yang dikompilasi (ditampilkan sebagai pVSBuf yang dapat Anda lihat di Sampel 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 );
}
}
}
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Lihat juga