Freigeben über


dcl_tgsm_structured (sm5 - asm)

Deklarieren Sie einen Verweis auf eine Region mit freigegebenem Arbeitsspeicher, der für die Threadgruppe des Compute-Shaders verfügbar ist. Der Arbeitsspeicher wird als Array von Strukturen betrachtet.

dcl_tgsm_structured g#, structByteStride, structCount
Element Beschreibung
G #
[in] Ein Verweis auf einen Block des freigegebenen Arbeitsspeichers der Größe structByteStride * structCount Bytes.
structByteStride
[in] Die Strukturschritte. Dieser Wert ist ein uint in Bytes und muss ein Vielfaches von 4 sein.
structCount
[in] Die Anzahl der Strukturen.

Bemerkungen

Der Gesamtspeicher für alle g# muss die Menge des verfügbaren freigegebenen Arbeitsspeichers pro Threadgruppe sein <, also 32kB oder 8192 32-Bit-Skalare.

Im Extremfall können Sie 8192 g# s insgesamt deklarieren, wenn jede eine structByteStride von 4 und einen structCount von 1 aufweist.

Im gegenteiligen Extrem können Sie ein einzelnes g# mit einem Strukturschritt von 32 kB und einer Strukturanzahl von 1 deklarieren.

Diese Anweisung gilt für die folgenden Shaderphasen:

Scheitelpunkt Hull Domain Geometrie Pixel Compute
X

Minimales Shadermodell

Diese Anweisung wird in den folgenden Shadermodellen unterstützt:

Shadermodell Unterstützt
Shadermodell 5 ja
Shadermodell 4.1 Nein
Shadermodell 4 Nein
Shadermodell 3 (DirectX HLSL) Nein
Shadermodell 2 (DirectX HLSL) Nein
Shadermodell 1 (DirectX HLSL) Nein

Shadermodell 5-Assembly (DirectX HLSL)