Merge branch 'main' of git.nbross.com:nielsbross/Ink-Shader-Language
This commit is contained in:
@@ -6,6 +6,8 @@
|
|||||||
//~ nbr: Error reporting TODOs
|
//~ nbr: Error reporting TODOs
|
||||||
//
|
//
|
||||||
// [ ] Add and error for using keywords as names, or rename the dx11 keywords in the resulting hlsl shader.
|
// [ ] Add and error for using keywords as names, or rename the dx11 keywords in the resulting hlsl shader.
|
||||||
|
// [ ] Add missing scope in for loop for loop iterator
|
||||||
|
// [ ] Maybe we remove the resource index on type variables, seems like we don't need it there.
|
||||||
// [x] Improve error reporting on mismatched overloads when types don't match, but arity does.
|
// [x] Improve error reporting on mismatched overloads when types don't match, but arity does.
|
||||||
// [x] Improve error reporting for type mismatches in general. It seems like the expect node is not always correct.
|
// [x] Improve error reporting for type mismatches in general. It seems like the expect node is not always correct.
|
||||||
|
|
||||||
@@ -83,6 +85,10 @@ Type_Variable :: struct {
|
|||||||
MAX_TYPE_VARIABLE_CHILDREN :: 32;
|
MAX_TYPE_VARIABLE_CHILDREN :: 32;
|
||||||
children : Static_Array(Type_Variable_Handle, MAX_TYPE_VARIABLE_CHILDREN);
|
children : Static_Array(Type_Variable_Handle, MAX_TYPE_VARIABLE_CHILDREN);
|
||||||
|
|
||||||
|
//@Incomplete: Should we remove this and do it in the output generation instead?
|
||||||
|
// Seems kind of superfluous considering we auto-generate it.
|
||||||
|
// Otherwise if we want to specify it, it should be specified as a hint @binding(index)
|
||||||
|
// In the case of using hints, we can just have it on the AST node.
|
||||||
//@Note(niels): For constant buffers
|
//@Note(niels): For constant buffers
|
||||||
resource_index : u32;
|
resource_index : u32;
|
||||||
|
|
||||||
@@ -1639,6 +1645,7 @@ check_node :: (checker : *Checker, node : *AST_Node) -> Type_Variable_Handle {
|
|||||||
}
|
}
|
||||||
case .For; {
|
case .For; {
|
||||||
loop_iterator := node.token;
|
loop_iterator := node.token;
|
||||||
|
// @Incomplete: Missing scope here?
|
||||||
|
|
||||||
scope, scope_handle := push_scope(checker, kind = .Block);
|
scope, scope_handle := push_scope(checker, kind = .Block);
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,11 @@
|
|||||||
- [ ] for-each loops
|
- [ ] for-each loops
|
||||||
- [ ] add parameters to hints (meta properties, resource binding indices if needed)
|
- [ ] add parameters to hints (meta properties, resource binding indices if needed)
|
||||||
- [ ] consider @entry(stage) syntax instead of the forced keyword
|
- [ ] consider @entry(stage) syntax instead of the forced keyword
|
||||||
|
- [ ] Add flags to compiler
|
||||||
|
- [ ] Generate output flag(s)
|
||||||
|
- [ ] Possibly final stage flag, so you can just call compile_file and it only does what you need.
|
||||||
|
- Probably this flag is about which stage you need as the _last_ and not which stages to do, as that doesn't make sense.
|
||||||
|
- [ ] Multiple output languages?
|
||||||
*/
|
*/
|
||||||
|
|
||||||
add_define :: (env : *Environment, key : string) {
|
add_define :: (env : *Environment, key : string) {
|
||||||
|
|||||||
Reference in New Issue
Block a user