Freigeben über


dcl_resource (sm4 - asm)

Deklariert eine Nicht-Multisampled-Shadereingaberessource.

dcl_resource tN, resourceType, returnType(s)

Deklariert eine Multisampled-Shadereingaberessource.

dcl_resource tN, resourceType[size]NN, returnType(s)
Element BESCHREIBUNG
tN
[in] Das Texturregister, wobei N eine ganze Zahl ist, die die Registernummer angibt.
Resourcetype
[in] Ein beliebiger Objekttyp, der auf der Textur-Objekt-Seite aufgeführt ist.
resourceType[size]NN
[in] Ein Textur2D- oder Textur2DArray-Objekttyp (siehe seite textur-object ); size ist eine optionale ganze Zahl, die die Anzahl der Elemente im Array angibt. NN ist eine ganze Zahl, die die Anzahl von Multisamples angibt.
returnType(s)
[in] Der Rückgabetyp pro Komponente ist einer der folgenden: UNORM, SNORM, SINT, UINT oder FLOAT. Die Anzahl der Rückgabetypen kann nur 1 sein (wenn alle Komponenten denselben Typ haben), aber bis zu vier.

Auf eine Ressource wird in HLSL über load zugegriffen. Auf eine Nicht-Multisampled-Textur kann auch mithilfe einer der Beispielmethoden des HLSL-Texturobjekts zugegriffen werden.

Wenn eine Ressource an eine Shaderphase gebunden ist, wird das Ressourcenformat anhand des Rückgabetyps überprüft.

Diese Anweisung gilt für die folgenden Shaderphasen:

Vertexshader Geometrie-Shader Pixelshader
x x x

Diese Anweisung ist enthalten, um das Debuggen eines Shaders in der Assembly zu unterstützen. Sie können keinen Shader in der Assemblysprache mithilfe des Shadermodells 4 erstellen.

Beispiel

Beispiel:

dcl_resource t3, buffer, UNORM

Minimales Shadermodell

Diese Funktion wird in den folgenden Shadermodellen unterstützt.

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

Assembly des Shadermodells 4 (DirectX HLSL)