DirectX9ShaderInfo
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.
The source code produced via ICodeOutput is minimal but parseable Assembler Output / *.asm
file that contains the required shader metadata, see Reduce.
Public / Constructors
DirectX9ShaderInfo
Creates a new instance of DirectX9ShaderInfo.
This is the grammar for parsing the leading comment block of Assembler Output / *.asm
files:
asm := (skip-line | parameters | registers | line-break)* ; parameters := 'Parameters:' line-break+ parameter* line-break ; registers := 'Registers:' line-break+ register-header? register* line-break ; skip-line := ('Generated by' | 'approximately') ~line-break* line-break ; parameter := matrix-order? identifier identifier ('[' number ']')? ';' line-break ; register := identifier register-slot number line-break ; register-header := 'Name' 'Reg' 'Size' line-break '-'+[3] line-break ; identifier := letter (letter | digit)* ; line-break := '\r'? '\n' ; matrix-order := 'row_major' | 'column_major' ; register-slot := [cs] number ; letter := 'a'..'z' | 'A'..'Z' | '_' ; number := digit+ ; digit := '0'..'9' ;
- ValidatingException
-
The assemblerOutput in is malformed and cannot be parsed.
Public / Methods
Reduce
Reduces the given assemblerOutput in by retaining required metadata only.
- ValidatingException
-
The assemblerOutput in is malformed and cannot be parsed.