DirectX11ShaderInfo
Description
- Derived from
Full source code is included in the Tinman 3D SDK download. |
Represents the shader metadata that the HLSL compiler writes into the Assembler Output / *.asm
files.
Public / Constructors
DirectX11ShaderInfo
Creates a new instance of DirectXShaderInfo.
This is the grammar for parsing the leading comment block of Assembler Output / *.asm
files:
asm := (skip-line | skip-section | buffer-definitions | structure-definition | resource-bindings | line-break)* ; buffer-definitions := 'Buffer Definitions:' line-break (line-break* buffer-definition)* ; resource-bindings := 'Resource Bindings:' line-break+ resource-bindings-header resource-binding* ; skip-line := ('Generated by' | 'Approximately') ~line-break* line-break+ ; skip-section := ('Input signature:' | 'Output signature:' | 'Patch Constant signature:' | 'Tessellation Domain' | 'Tessellation Output Primitive' | 'Pixel Shader runs at sample frequency') ~line-break* line-break+ ignore-line* ; structure-definition := 'Resource' 'bind' 'info' 'for' identifier '{' ]$[+ '$Element' ';' '// Offset:' '0' 'Size:' number '}' ; buffer-definition := 'cbuffer' identifier '{' buffer-element* '}' ; ignore-line := ~line-break+ line-break ; resource-binding := identifier ('[' number ']')? identifier identifier word ('s' | 't' | 'u' | 'cb') number number ' '* line-break ; resource-bindings-header := 'Name' 'Type' 'Format' 'Dim' 'HLSL Bind' 'Count' line-break '-'+[6] line-break ; buffer-element := matrix-order? identifier identifier ('[' number ']')? ';' '// Offset:' number 'Size:' number '[unused]'? line-break ; word := (letter | '/' | digit)+ ; identifier := letter (letter | digit)* ; line-break := '\r'? '\n' ; matrix-order := 'row_major' | 'column_major' ; number := digit+ ; digit := '0'..'9' ; letter := 'a'..'z' | 'A'..'Z' | '_' ;
- ValidatingException
-
The the assemblerOutput in is malformed and cannot be parsed.