issues
search
Oxsomi
/
core3
Oxsomi Core3 is a combination of standalone C libraries useful for building applications, such as types, platform, graphics abstraction and file formats
GNU General Public License v3.0
0
stars
1
forks
source link
Basic HLSL compiler workflow
#145
Open
Nielsbishere
opened
6 months ago
Nielsbishere
commented
6 months ago
[x] Preprocessing a file using DXC
[x] Viewing all includes of a file
[x] Lexing the file
[x] Lexer: Obtaining file and location of each LexerToken
[x] Lexer: Parsing ints (signed, unsigned, hex, octal, binary, nyto)
[x] Lexer: Parsing floats/doubles
[x] Lexer: String literals
[x] Lexer: Separating symbols and identifiers
[x] Lexer: Comments (single and multi line)
[x] Lexer: Preprocessor expressions
[x] Parsing the file
[x] Parser: Splitting symbols to token types
[x] Parser classification: Typedef & Using
[x] Parser classification: Template
[x] Parser classification: Function/Parameter
[x] Parser classification: Variable
[x] Parser classification: Struct/Union/Class/Interface
[x] Parser classification: Enum/EnumValue
[x] Parser classification: Annotation
[x] Parser classification: Modifiers
[x] Exposing semantics as symbols
[x] Getting entrypoints
[x] Getting entrypoint information
[x] Compile using DXC
[x] Generating oiSH information
[x] Writing oiSH files
[x] Fix in/out decorator
[x] Parsing WaveSize and numthreads as an expression
[x] Parse inputs/outputs for graphics shaders
[ ] oiSH strip
[x] oiSH combine
[ ] technique/pass syntax old
[ ] technique/pass syntax new
[x] Reflect constant buffers
[x] Reflect registers
[x] Re-enable threading
[x] Fixing conan build
[x] MD5 signing DXIL
[x] Fix DXC on linux/osx
[x] Pass uniforms to DXC
[x] Pass extensions to DXC (
__OXC3_EXT_
)
[x] Enable some extensions through -fspv-extension?
[x] Test stability of MT and single thread when errors/warnings are created by the compiler
[x] Test what happens if DXC crashes internally
[x] Test what happens on validator issues if they still exist
[x] Output target: DXIL
[x] Output target: SPV
[ ] Output target: MIR
[x] SPV and DXIL reflection to generate information
[ ] Make register ids and reflection stable by fixing IDxcRewriter
__OXC3_EXT_
)