summaryrefslogtreecommitdiffstats
path: root/source/slang/type-layout.h
diff options
context:
space:
mode:
authorTim Foley <tfoley@nvidia.com>2017-07-10 09:29:11 -0700
committerTim Foley <tfoley@nvidia.com>2017-07-10 09:29:11 -0700
commit5b7c254d24653fd1c19157e8d5ef68a7e787ff58 (patch)
treedf7d790f33f7e4c8adc1b9b747c7c908d8bab0d4 /source/slang/type-layout.h
parent7af89d178736637cfad9c195f85f7f83e2f4ba99 (diff)
Start handling system-value semantics during lowering
I hadn't been lowering `SV_Position` outputs to `gl_Position`, and had somehow been relying on hidden driver behavior that I guess made things Just Work. This change adds some infrastructure to handle `SV_` semantics during lowering of an entry point (currently only covering `SV_Position` and `SV_Target`, FWIW). As a byproduct, this also means that a `VarLayout` stores semantic info, which could conceivably be exposed through reflection data now.
Diffstat (limited to 'source/slang/type-layout.h')
-rw-r--r--source/slang/type-layout.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/source/slang/type-layout.h b/source/slang/type-layout.h
index 3ee12656c..262a8c3b1 100644
--- a/source/slang/type-layout.h
+++ b/source/slang/type-layout.h
@@ -237,6 +237,10 @@ public:
// Additional flags
VarLayoutFlags flags = 0;
+ // System-value semantic (and index) if this is a system value
+ String systemValueSemantic;
+ int systemValueSemanticIndex;
+
// The start register(s) for any resources
struct ResourceInfo
{