struktur D3D11_SIGNATURE_PARAMETER_DESC (d3d11shader.h)

Menjelaskan tanda tangan shader.

Sintaks

typedef struct _D3D11_SIGNATURE_PARAMETER_DESC {
  LPCSTR                      SemanticName;
  UINT                        SemanticIndex;
  UINT                        Register;
  D3D_NAME                    SystemValueType;
  D3D_REGISTER_COMPONENT_TYPE ComponentType;
  BYTE                        Mask;
  BYTE                        ReadWriteMask;
  UINT                        Stream;
  D3D_MIN_PRECISION           MinPrecision;
} D3D11_SIGNATURE_PARAMETER_DESC;

Anggota

SemanticName

Jenis: LPCSTR

String per parameter yang mengidentifikasi bagaimana data akan digunakan. Untuk informasi selengkapnya, lihat Semantik.

SemanticIndex

Jenis: UINT

Indeks semantik yang memodifikasi semantik. Digunakan untuk membedakan parameter berbeda yang menggunakan semantik yang sama.

Register

Jenis: UINT

Register yang akan berisi data variabel ini.

SystemValueType

Jenis: D3D_NAME

Nilai jenis D3D_NAME yang mengidentifikasi string yang telah ditentukan sebelumnya yang menentukan fungsionalitas tahap alur tertentu.

ComponentType

Jenis: D3D_REGISTER_COMPONENT_TYPE

Nilai D3D_REGISTER_COMPONENT_TYPE-jenis yang mengidentifikasi jenis per-komponen-data yang disimpan dalam register. Setiap register dapat menyimpan hingga empat komponen data.

Mask

Jenis: BYTE

Masker yang menunjukkan komponen register mana yang digunakan.

ReadWriteMask

Jenis: BYTE

Masker yang menunjukkan apakah komponen tertentu tidak pernah ditulis (jika tanda tangan adalah tanda tangan output) atau selalu baca (jika tanda tangan adalah tanda tangan input).

Stream

Jenis: UINT

Menunjukkan aliran mana yang digunakan shader geometri untuk parameter tanda tangan.

MinPrecision

Jenis: D3D_MIN_PRECISION

Nilai jenis D3D_MIN_PRECISION yang menunjukkan presisi interpolasi minimum yang diinginkan. Untuk informasi selengkapnya, lihat Menggunakan presisi minimum HLSL.

Keterangan

Shader dapat mengambil input n dan dapat menghasilkan output m. Urutan parameter input (atau output), jenis terkaitnya, dan semantik yang terpasang membentuk tanda tangan shader. Setiap shader memiliki input dan tanda tangan output.

Saat mengkompilasi shader atau efek, beberapa panggilan API memvalidasi tanda tangan shader Yaitu, mereka membandingkan tanda tangan output dari satu shader (seperti shader vertex) dengan tanda tangan input shader lain (seperti shader piksel). Ini memastikan bahwa shader menghasilkan data yang kompatibel dengan shader hilir yang mengkonsumsi data tersebut. Kompatibel berarti bahwa tanda tangan shader adalah subset pencocokan yang tepat dari tahap shader sebelumnya. Kecocokan persis berarti jenis parameter dan semantik harus sama persis. Subset berarti bahwa parameter yang tidak diperlukan oleh tahap hilir, tidak perlu menyertakan parameter tersebut dalam tanda tangan shader-nya.

Dapatkan shader-signature dari shader atau efek dengan memanggil API seperti ID3D11ShaderReflection::GetInputParameterDesc.

Persyaratan

Persyaratan Nilai
Header d3d11shader.h

Lihat juga

Struktur Shader