Things left to be implemented
felipeagc opened this issue · comments
Felipe commented
- Compiler API
- Reflection API
- #include paths
- Passing defines to the preprocessor
- Preprocessor:
- #ifdef
- #ifndef
- #else
- #endif
- #define
- #undef
- #include
- #error
- #if
- #elif
- function-like #define
- Vulkan-specifics:
- Push constants
- Combined image & sampler
- Specialization constants
- Language features:
- Function overloading
- Vector casting: float2(uint2(1, 2))
- Parse register decorations
- Static variables
- Arrays
- Typedefs
- Array textures
- Globals buffer for global variables
- printf (GL_EXT_debug_printf)
- Entry points
- Support struct entry point parameters
- Support entry point return values & decorations
- column_major/row_major matrices
- Builtin types
- Texture*
- Sample()
- SampleLevel()
- GetDimensions()
- Load()
- RWTexture*
- Operator[]
- GetDimensions()
- Load()
- StructuredBuffers/RWStructuredBuffer
- Operator[]
- GetDimensions
- Load
- Buffer/RWBuffer
- TextureBuffer
- ByteAddressBuffer/RWByteAddressBuffer
- AppendStructuredBuffer
- ConsumeStructuredBuffer
- SamplerComparisonState
- cbuffer
- tbuffer
- Texture*
- [[vk::counter_binding(Z)]] for associated counters