HLSL

Übersicht über die HLSL-Technologie.

Zum Entwickeln von HLSL benötigen Sie die folgenden Header:

Programmieranleitungen für diese Technologie finden Sie unter:

Enumerationen

 
D3D_BLOB_PART

Werte, die Teile des Inhalts eines Datenpuffers mit beliebiger Länge identifizieren.
D3D_BLOB_PART

Werte, die Teile des Inhalts eines Datenpuffers mit beliebiger Länge identifizieren.
D3DCOMPILER_STRIP_FLAGS

Optionen für Streifenflags.
D3DCOMPILER_STRIP_FLAGS

Optionen für Streifenflags.
DXC_OUT_KIND

Gibt die Art der Ausgabe an, die aus einem IDxcResult abgerufen werden soll.

Functions

 
AddArguments

Fügt dieser Liste von Compilerargumenten zusätzliche Argumente hinzu.
AddArgumentsUTF8

Fügt dieser Liste der Compilerargumente zusätzliche UTF-8-codierte Argumente hinzu.
AddDefines

Fügt dieser Liste von Compilerargumenten zusätzliche Defines hinzu.
AddPart

Fügt dem Container ein Teil hinzu.
AssembleToContainer

Assemblieren Sie DXIL in LL- oder LLVM-Bitcode zu einem DXIL-Container.
BuildArguments

Erstellen Sie Argumente, die an die Compile-Methode übergeben werden können.
Compile

Kompilieren Sie einen einzelnen Einstiegspunkt in das Ziel-Shadermodell. IDxcCompiler::Compile ist veraltet; Verwenden Sie stattdessen IDxcCompiler3::Compile .
Compile

Kompilieren Sie einen einzelnen Einstiegspunkt in das Zielshadermodell, oder kompilieren Sie eine Bibliothek zu einem Bibliotheksziel, oder kompilieren Sie eine Stammsignatur, oder verarbeiten Sie eine HLSL-Quelle vor.
CompileForFullPDB

TBD
CompileWithDebug

Kompilieren Sie einen einzelnen Einstiegspunkt in das Zielshadermodell mit Debuginformationen. IDxcCompiler::CompileWithDebug ist veraltet; Verwenden Sie stattdessen IDxcCompiler3::Compile .
CreateBlob

Kopieren Sie Blobinhalte in den Speicher, der sich im Besitz des neuen Blobs befindet. Neue Blobs und kopierte Inhalte werden der aktuellen Zuweisung zugeordnet.
CreateBlobFromBlob

IDxcUtils ersetzt IDxcLibrary; verwenden Sie stattdessen IDxcUtils.
CreateBlobFromBlob

Erstellen Sie ein Unterblob, das einen Verweis auf das äußere Blob enthält und auf den zugehörigen Arbeitsspeicher verweist.
CreateBlobFromFile

IDxcUtils ersetzt IDxcLibrary; verwenden Sie stattdessen IDxcUtils.
CreateBlobFromPinned

Erstellt ein Blob, das auf vorhandenen Arbeitsspeicher verweist, ohne Kopie. Sie müssen die Speicherlebensdauer separat verwalten.
CreateBlobWithEncodingFromPinned

IDxcUtils ersetzt IDxcLibrary; verwenden Sie stattdessen IDxcUtils.
CreateBlobWithEncodingOnHeapCopy

IDxcUtils ersetzt IDxcLibrary; verwenden Sie stattdessen IDxcUtils.
CreateBlobWithEncodingOnMalloc

IDxcUtils ersetzt IDxcLibrary; verwenden Sie stattdessen IDxcUtils.
CreateDefaultIncludeHandler

Erstellen Sie einen standardmäßigen dateibasierten Includehandler.
CreateIncludeHandler

IDxcUtils ersetzt IDxcLibrary; verwenden Sie stattdessen IDxcUtils.
CreateReadOnlyStreamFromBlob

Erstellen Sie einen Stream, der Daten aus einem Blob liest.
CreateReflection

Erstellen Sie eine Reflektionsschnittstelle aus einem serialisierten DXIL-Container oder dem DXC_PART_REFLECTION_DATA Blobinhalten.
CreateStreamFromBlobReadOnly

IDxcUtils ersetzt IDxcLibrary; verwenden Sie stattdessen IDxcUtils.
D3DCompile

Kompilieren Sie HLSL-Code oder eine Effektdatei in Bytecode für ein bestimmtes Ziel.
D3DCompile

Kompilieren Sie HLSL-Code oder eine Effektdatei in Bytecode für ein bestimmtes Ziel.
D3DCompile2

Kompiliert Microsoft High Level Shader Language (HLSL)-Code in Bytecode für ein bestimmtes Ziel. (D3DCompile2)
D3DCompile2

Kompiliert Microsoft High Level Shader Language (HLSL)-Code in Bytecode für ein bestimmtes Ziel. (D3DCompile2)
D3DCompileFromFile

Kompiliert Microsoft High Level Shader Language (HLSL)-Code in Bytecode für ein bestimmtes Ziel. (D3DCompileFromFile)
D3DCompileFromFile

Kompiliert Microsoft High Level Shader Language (HLSL)-Code in Bytecode für ein bestimmtes Ziel. (D3DCompileFromFile)
D3DCompressShaders

Komprimiert eine Reihe von Shadern in eine kompaktere Form.
D3DCompressShaders

Komprimiert eine Reihe von Shadern in eine kompaktere Form.
D3DCreateBlob

Erstellt einen Puffer.
D3DCreateBlob

Erstellt einen Puffer.
D3DCreateFunctionLinkingGraph

Erstellt eine Funktionsverknüpfungsgraph-Schnittstelle.
D3DCreateFunctionLinkingGraph

Erstellt eine Funktionsverknüpfungsgraph-Schnittstelle.
D3DCreateLinker

Erstellt eine Linkerschnittstelle. Hinweis Diese Funktion ist Teil der HLSL-Shaderverknüpfungstechnologie, die Sie auf allen Direct3D 11-Plattformen verwenden können, um vorkompilierte HLSL-Funktionen zu erstellen, sie in Bibliotheken zu packen und sie zur Laufzeit in vollständigen Shadern zu verknüpfen.  .
D3DCreateLinker

Erstellt eine Linkerschnittstelle. Hinweis Diese Funktion ist Teil der HLSL-Shaderverknüpfungstechnologie, die Sie auf allen Direct3D 11-Plattformen verwenden können, um vorkompilierte HLSL-Funktionen zu erstellen, sie in Bibliotheken zu packen und sie zur Laufzeit in vollständigen Shadern zu verknüpfen.  .
D3DDecompressShaders

Dekomprimiert einen oder mehrere Shader aus einer komprimierten Gruppe.
D3DDecompressShaders

Dekomprimiert einen oder mehrere Shader aus einer komprimierten Gruppe.
D3DDisassemble

Disassembliert kompilierten HLSL-Code.
D3DDisassemble

Disassembliert kompilierten HLSL-Code.
D3DDisassemble10Effect

Disassembliert kompilierten HLSL-Code aus einem Direct3D10-Effekt.
D3DDisassemble10Effect

Disassembliert kompilierten HLSL-Code aus einem Direct3D10-Effekt.
D3DDisassembleRegion

Disassembliert eine bestimmte Region mit kompiliertem HlSL-Code (Microsoft High Level Shader Language).
D3DDisassembleRegion

Disassembliert eine bestimmte Region mit kompiliertem HlSL-Code (Microsoft High Level Shader Language).
D3DGetBlobPart

Ruft ein bestimmtes Teil aus einem Kompilierungsergebnis ab.
D3DGetBlobPart

Ruft ein bestimmtes Teil aus einem Kompilierungsergebnis ab.
D3DGetDebugInfo

Hinweis Sie können diese API verwenden, um Ihre Windows Store-Apps zu entwickeln, aber nicht in Apps, die Sie an den Windows Store übermitteln. Ruft Shaderdebuginformationen ab.
D3DGetDebugInfo

Hinweis Sie können diese API verwenden, um Ihre Windows Store-Apps zu entwickeln, aber nicht in Apps, die Sie an den Windows Store übermitteln. Ruft Shaderdebuginformationen ab.
D3DGetInputAndOutputSignatureBlob

Hinweis: D3DGetInputAndOutputSignatureBlob kann für Releases nach Windows 8.1 geändert oder nicht mehr verfügbar sein. Verwenden Sie stattdessen D3DGetBlobPart mit dem wert D3D_BLOB_INPUT_AND_OUTPUT_SIGNATURE_BLOB.  Ruft die Eingabe- und Ausgabesignaturen aus einem Kompilierungsergebnis ab.
D3DGetInputAndOutputSignatureBlob

Hinweis: D3DGetInputAndOutputSignatureBlob kann für Releases nach Windows 8.1 geändert oder nicht mehr verfügbar sein. Verwenden Sie stattdessen D3DGetBlobPart mit dem wert D3D_BLOB_INPUT_AND_OUTPUT_SIGNATURE_BLOB.  Ruft die Eingabe- und Ausgabesignaturen aus einem Kompilierungsergebnis ab.
D3DGetInputSignatureBlob

Hinweis: D3DGetInputSignatureBlob kann für Releases nach Windows 8.1 geändert oder nicht mehr verfügbar sein. Verwenden Sie stattdessen D3DGetBlobPart mit dem wert D3D_BLOB_INPUT_SIGNATURE_BLOB.  Ruft die Eingabesignatur aus einem Kompilierungsergebnis ab.
D3DGetInputSignatureBlob

Hinweis: D3DGetInputSignatureBlob kann für Releases nach Windows 8.1 geändert oder nicht mehr verfügbar sein. Verwenden Sie stattdessen D3DGetBlobPart mit dem wert D3D_BLOB_INPUT_SIGNATURE_BLOB.  Ruft die Eingabesignatur aus einem Kompilierungsergebnis ab.
D3DGetOutputSignatureBlob

Hinweis D3DGetOutputSignatureBlob kann für Releases nach Windows 8.1 geändert oder nicht mehr verfügbar sein. Verwenden Sie stattdessen D3DGetBlobPart mit dem wert D3D_BLOB_OUTPUT_SIGNATURE_BLOB.  Ruft die Ausgabesignatur aus einem Kompilierungsergebnis ab.
D3DGetOutputSignatureBlob

Hinweis D3DGetOutputSignatureBlob kann für Releases nach Windows 8.1 geändert oder nicht mehr verfügbar sein. Verwenden Sie stattdessen D3DGetBlobPart mit dem wert D3D_BLOB_OUTPUT_SIGNATURE_BLOB.  Ruft die Ausgabesignatur aus einem Kompilierungsergebnis ab.
D3DGetTraceInstructionOffsets

Ruft die Byteoffsets für Anweisungen in einem Abschnitt von Shadercode ab.
D3DGetTraceInstructionOffsets

Ruft die Byteoffsets für Anweisungen in einem Abschnitt von Shadercode ab.
D3DLoadModule

Erstellt eine Shadermodulschnittstelle aus Quelldaten für das Shadermodul.
D3DLoadModule

Erstellt eine Shadermodulschnittstelle aus Quelldaten für das Shadermodul.
D3DPreprocess

Verarbeitet nicht kompilierten HLSL-Code vor.
D3DPreprocess

Verarbeitet nicht kompilierten HLSL-Code vor.
D3DReadFileToBlob

Liest eine Datei, die sich auf dem Datenträger befindet, in den Arbeitsspeicher.
D3DReadFileToBlob

Liest eine Datei, die sich auf dem Datenträger befindet, in den Arbeitsspeicher.
D3DReflect

Ruft einen Zeiger auf eine Reflektionsschnittstelle ab.
D3DReflect

Ruft einen Zeiger auf eine Reflektionsschnittstelle ab.
D3DReflectLibrary

Erstellt eine Bibliotheksreflektionsschnittstelle aus Quelldaten, die eine HLSL-Bibliothek mit Funktionen enthält.
D3DReflectLibrary

Erstellt eine Bibliotheksreflektionsschnittstelle aus Quelldaten, die eine HLSL-Bibliothek mit Funktionen enthält.
D3DSetBlobPart

Legt Informationen in einem Kompilierungsergebnis fest.
D3DSetBlobPart

Legt Informationen in einem Kompilierungsergebnis fest.
D3DStripShader

Entfernt unerwünschte Blobs aus einem Kompilierungsergebnis.
D3DStripShader

Entfernt unerwünschte Blobs aus einem Kompilierungsergebnis.
D3DWriteBlobToFile

Schreibt ein Speicherblob in eine Datei auf dem Datenträger.
D3DWriteBlobToFile

Schreibt ein Speicherblob in eine Datei auf dem Datenträger.
Disassemble

Disassemblieren eines Programms. IDxcCompiler::D isassemble ist veraltet; verwenden Sie stattdessen IDxcCompiler3::D isassemble .
Disassemble

Disassemblieren eines Programms.
DxcCreateInstance

Erstellt ein einzelnes nicht initialisiertes Objekt der Klasse, die einer angegebenen CLSID zugeordnet ist.
DxcCreateInstance2

Erstellt ein einzelnes nicht initialisiertes Objekt der Klasse, die einer angegebenen CLSID zugeordnet ist (kann verwendet werden, um eine instance des Compilers mit einem benutzerdefinierten Speicherzuteilungsator zu erstellen).
DxcCreateInstance2Proc

Die DxcCreateInstance2Proc-Typdef wird bereitgestellt, damit Sie mit GetProcAddressDxcCreateInstance2 bequemer aufrufen können.
DxcCreateInstanceProc

Der DxcCreateInstanceProc-Typdef wird bereitgestellt, um Es bequemer für Sie zu machen , GetProcAddress zum Aufrufen von DxcCreateInstance zu verwenden.
FindFirstPartKind

Ruft den Index des ersten Teils ab, der die angegebene Art aufweist.
GetArg

TBD
GetArgCount

TBD
GetArgPair

TBD
GetArgPairCount

TBD
GetArguments

Ruft das Array von Argumenten ab.
GetAvailablePass

TBD
GetAvailablePassCount

TBD
GetBlobAsUtf16

IDxcUtils ersetzt IDxcLibrary; verwenden Sie stattdessen IDxcUtils.
GetBlobAsUtf16

Konvertieren oder Zurückgeben eines übereinstimmenden codierten Textblobs als UTF-16.
GetBlobAsUtf8

IDxcUtils ersetzt IDxcLibrary; verwenden Sie stattdessen IDxcUtils.
GetBlobAsUtf8

Konvertieren oder Zurückgeben eines übereinstimmenden codierten Textblobs als UTF-8.
GetBufferPointer

Ruft einen Zeiger auf die Daten des Blobs ab.
GetBufferSize

Ruft die Größe (in Bytes und einschließlich des NULL-Abschlussators) der Daten des Blobs ab.
GetCommitInfo

TBD
GetCount

Ruft die Anzahl der Argumente ab.
GetCustomVersionString

TBD
GetDefine

TBD
GetDefineCount

TBD
GetDescription

TBD
GetDxilContainerPart

TBD
Getencoding

Rufen Sie die Codierung für dieses Blob ab.
GetEntryPoint

TBD
GetErrorBuffer

Ruft den Fehlerpuffer aus dem Vorgang ab, sofern vorhanden. Dies entspricht dem Aufrufen von IDxcResult::GetOutput mit DXC_OUT_ERRORS.
GetFlag

TBD
GetFlagCount

TBD
GetFlags

TBD
GetFullPDB

TBD
GetHash

TBD
GetMainFileName

TBD
GetName

TBD
GetNumOutputs

Ruft die Anzahl der in diesem Ergebnis verfügbaren Ausgaben ab.
GetOptionArgCount

TBD
GetOptionArgDescription

TBD
GetOptionArgName

TBD
GetOptionName

TBD
GetOutput

Ruft die angegebene Ausgabe ab.
GetOutput

Ruft die angegebene Ausgabe ab.
GetOutputByIndex

Ruft die Ausgabeart am angegebenen Index ab.
GetOutputCount

Ruft die Anzahl der verfügbaren Ausgaben ab.
GetPartContent

Ruft den Inhalt des angegebenen Teils ab.
GetPartCount

Ruft die Anzahl der Teile im Container ab.
GetPartKind

Ruft die Art des angegebenen Teils ab.
GetPartReflection

Ruft die Reflexionsschnittstelle für das angegebene Teil ab.
GetPDBContents

Ruft den Hash und den Inhalt einer Shader-PDB ab.
Getresult

Ruft die primäre Ausgabe des Vorgangs ab.
GetSource

TBD
GetSourceCount

TBD
GetSourceName

TBD
Getstatus

Ruft die gesamte status des Vorgangs ab.
GetStringLength

Ruft die Länge der in diesem Blob gespeicherten Zeichenfolge in Zeichen ab, mit Ausnahme des NULL-Abschlussators.
GetStringPointer

Ruft einen Zeiger auf die in diesem Blob gespeicherte Zeichenfolge ab.
GetTargetProfile

TBD
Getversion

TBD
GetVersionInfo

TBD
HasOutput

Bestimmt, ob dieses Ergebnis die angegebene Ausgabe aufweist.
IsFullPDB

TBD
Link

Verknüpft den Shader und erzeugt ein Shaderblob, das die Direct3D-Runtime verwenden kann.
Load

Lädt einen DxilContainer in den Generator.
Load

Wählt den Container aus, für den Reflektionen ausgeführt werden sollen.
Load

TBD
Loadfile

Erstellen Sie ein Blob mit Daten, die aus einer Datei geladen werden.
LoadSource

TBD
OverrideArgs

TBD
OverrideRootSignature

TBD
Vorverarbeiten

Vorverarbeitung des Quelltexts.
PrimaryOutput

TBD
RegisterLibrary

Registrieren Sie eine Bibliothek mit einem Namen, damit Sie später mit diesem Namen darauf verweisen können.
RemovePart

Entfernen Sie ein Teil aus dem Container.
RunOptimizer

TBD
SerializeContainer

Erstellen Sie den Container.
SetCompiler

TBD
SetMalloc

IDxcUtils ersetzt IDxcLibrary; verwenden Sie stattdessen IDxcUtils.
Überprüfen

Überprüfen sie einen Shader.
ValidateWithDebug

Überprüfen Sie einen Shader mit optionalem Debugbitcode.

Strukturen

 
D3D_SHADER_DATA

Beschreibt Shaderdaten. (D3D_SHADER_DATA)
D3D_SHADER_DATA

Beschreibt Shaderdaten. (D3D_SHADER_DATA)
DxcArgPair

TBD
DxcDefine

Die Struktur für die Bereitstellung definiert dxc-APIs.
DxcShaderHash

Hash-Digesttyp für ShaderHash.
DxcText

Struktur zum Bereitstellen von Bytes oder Texteingaben an Dxc-APIs.
IDxcAssembler

Schnittstelle, die den DxcAssembler darstellt.
IDxcBlob

Ein Puffer in Größe, der an DXC-APIs übergeben werden kann. IDxcBlob ist ein Alias von ID3D10Blob und ID3DBlob.
IDxcBlobEncoding

Ein Blob, das möglicherweise über eine bekannte Codierung verfügt.
IDxcBlobUtf8

TBD
IDxcCompiler

IDxcCompiler ist veraltet; verwenden Sie stattdessen IDxcCompiler3 .
IDxcCompiler2

IDxcCompiler2 ist veraltet; verwenden Sie stattdessen IDxcCompiler3 .
IDxcCompiler3

Schnittstelle, die den DirectX-Shadercompiler darstellt.
IDxcCompilerArgs

Eine Schnittstelle zum Verwalten von Argumenten, die an DXC übergeben werden.
IDxcContainerBuilder

Schnittstelle, die den DXC-Container-Generator darstellt.
IDxcContainerReflection

Schnittstelle, die DxcContainerReflection darstellt.
IDxcExtraOutputs

Stellt zusätzliche Ausgaben eines DXC-Vorgangs dar.
IDxcIncludeHandler

Schnittstelle für die Verarbeitung von Include-Anweisungen. Um die Verarbeitung von Include-Anweisungen anzupassen, können Sie eine Implementierung dieser Schnittstelle bereitstellen.
IDxcLibrary

IDxcUtils ersetzt IDxcLibrary; verwenden Sie stattdessen IDxcUtils.
IDxcLinker

Die DXC-Linkerschnittstelle.
IDxcOperationResult

Die Ergebnisse eines DXC-Vorgangs. IDxcResult ersetzt IDxcOperationResult und sollte nach Möglichkeit verwendet werden.
IDxcOptimizer

Schnittstelle, die DxcOptimizer darstellt.
IDxcOptimizerPass

Schnittstelle, die einen Optimiererdurchlauf darstellt.
IDxcPdbUtils

Stellt PDB-Versionsinformationen dar.
IDxcResult

Stellt das Ergebnis eines DXC-Vorgangs dar. Ein DXC-Vorgang kann mehrere Ausgaben aufweisen, z. B. ein Shaderobjekt und Fehler. Diese Schnittstelle ermöglicht den Zugriff auf die Ausgaben.
IDxcUtils

Verschiedene Hilfsfunktionen für DXC.
IDxcValidator

Schnittstelle, die den DXC-Shader validator darstellt.
IDxcValidator2

Schnittstelle, die den DXC-Shader validator darstellt.
IDxcVersionInfo

Stellt PDB-Versionsinformationen dar.
IDxcVersionInfo2

Stellt PDB-Versionsinformationen dar.
IDxcVersionInfo3

Stellt PDB-Versionsinformationen dar.