summaryrefslogtreecommitdiff
path: root/source/slang/modifier-defs.h
diff options
context:
space:
mode:
authorTim Foley <tfoleyNV@users.noreply.github.com>2017-09-06 14:15:11 -0700
committerGitHub <noreply@github.com>2017-09-06 14:15:11 -0700
commitca16ede67d3fc34ec1cc81b8f835199c5ef1ab9a (patch)
treefd83b7e861dbc6a0d442d5a913a1bcd9df547408 /source/slang/modifier-defs.h
parente59a1b39317c10815baaed3b70c4a6580dbe1e63 (diff)
parent5900f32fff9970b4221ce7fb7e94133e387ff9de (diff)
Merge pull request #176 from tfoleyNV/ir-work
Continue work on IR-based codegen
Diffstat (limited to 'source/slang/modifier-defs.h')
-rw-r--r--source/slang/modifier-defs.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/source/slang/modifier-defs.h b/source/slang/modifier-defs.h
index 597d59d9a..d7d0391e4 100644
--- a/source/slang/modifier-defs.h
+++ b/source/slang/modifier-defs.h
@@ -209,6 +209,20 @@ SYNTAX_CLASS(MagicTypeModifier, Modifier)
FIELD(uint32_t, tag)
END_SYNTAX_CLASS()
+// A modifier applied to declarations of builtin types to indicate how they
+// should be lowered to the IR.
+//
+// TODO: This should really subsume `BuiltinTypeModifier` and
+// `MagicTypeModifier` so that we don't have to apply all of them.
+SYNTAX_CLASS(IntrinsicTypeModifier, Modifier)
+ // The IR opcode to use when constructing a type
+ FIELD(uint32_t, irOp)
+
+ // Additional literal opreands to provide when creating instances.
+ // (e.g., for a texture type this passes in shape/mutability info)
+ FIELD(List<uint32_t>, irOperands)
+END_SYNTAX_CLASS()
+
// Modifiers that affect the storage layout for matrices
SIMPLE_SYNTAX_CLASS(MatrixLayoutModifier, Modifier)