From c5c1a25ab6d0e509e893d737a679ac47949df2f6 Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 18 Jan 2024 16:46:00 -0800 Subject: Capability def parsing & codegen + disjoint sets (#3451) * Capability def parsing & codegen + disjoint sets This change adds a capability definition file, and a code generator to produce C++ code that defines the capability enums and necessary data structures around the capabilities. Extends the existing CapabilitySet class to support expressing disjoint sets of capabilities. This sets up for the next change that will enhance our type checking with reasoning of capability requirements. * Fix cmake. * Fix warning. * Fix. * Fix isBetterForTarget to prefer less specialized option. * Fix. * Fix premake. * Fix intrinsic. * Fix vs sln file. --------- Co-authored-by: Yong He --- slang.sln | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'slang.sln') diff --git a/slang.sln b/slang.sln index c547b4e67..d43d1fe81 100644 --- a/slang.sln +++ b/slang.sln @@ -17,6 +17,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gfx-util", "build\visual-st EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "platform", "build\visual-studio\platform\platform.vcxproj", "{3565FE5E-4FA3-11EB-AE93-0242AC130002}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-capability-generator", "build\visual-studio\slang-capability-generator\slang-capability-generator.vcxproj", "{FD16CA29-C66A-430A-822C-C09655088611}" +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-cpp-extractor", "build\visual-studio\slang-cpp-extractor\slang-cpp-extractor.vcxproj", "{CA8A30D1-8FA9-4330-B7F7-84709246D8DC}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-embed", "build\visual-studio\slang-embed\slang-embed.vcxproj", "{7F773DD9-EB8F-2403-B43C-B49C2014B99C}" @@ -84,6 +86,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "run-generators", "build\vis {CA8A30D1-8FA9-4330-B7F7-84709246D8DC} = {CA8A30D1-8FA9-4330-B7F7-84709246D8DC} {66174227-8541-41FC-A6DF-4764FC66F78E} = {66174227-8541-41FC-A6DF-4764FC66F78E} {7F773DD9-EB8F-2403-B43C-B49C2014B99C} = {7F773DD9-EB8F-2403-B43C-B49C2014B99C} + {FD16CA29-C66A-430A-822C-C09655088611} = {FD16CA29-C66A-430A-822C-C09655088611} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lz4", "build\visual-studio\lz4\lz4.vcxproj", "{E1EC8075-823E-46E5-BC38-C124CCCDF878}" @@ -169,6 +172,18 @@ Global {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Release|Win32.Build.0 = Release|Win32 {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Release|x64.ActiveCfg = Release|x64 {3565FE5E-4FA3-11EB-AE93-0242AC130002}.Release|x64.Build.0 = Release|x64 + {FD16CA29-C66A-430A-822C-C09655088611}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM64 + {FD16CA29-C66A-430A-822C-C09655088611}.Debug|aarch64.Build.0 = Debug aarch64|ARM64 + {FD16CA29-C66A-430A-822C-C09655088611}.Debug|Win32.ActiveCfg = Debug|Win32 + {FD16CA29-C66A-430A-822C-C09655088611}.Debug|Win32.Build.0 = Debug|Win32 + {FD16CA29-C66A-430A-822C-C09655088611}.Debug|x64.ActiveCfg = Debug|x64 + {FD16CA29-C66A-430A-822C-C09655088611}.Debug|x64.Build.0 = Debug|x64 + {FD16CA29-C66A-430A-822C-C09655088611}.Release|aarch64.ActiveCfg = Release aarch64|ARM64 + {FD16CA29-C66A-430A-822C-C09655088611}.Release|aarch64.Build.0 = Release aarch64|ARM64 + {FD16CA29-C66A-430A-822C-C09655088611}.Release|Win32.ActiveCfg = Release|Win32 + {FD16CA29-C66A-430A-822C-C09655088611}.Release|Win32.Build.0 = Release|Win32 + {FD16CA29-C66A-430A-822C-C09655088611}.Release|x64.ActiveCfg = Release|x64 + {FD16CA29-C66A-430A-822C-C09655088611}.Release|x64.Build.0 = Release|x64 {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Debug|aarch64.ActiveCfg = Debug aarch64|ARM64 {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Debug|aarch64.Build.0 = Debug aarch64|ARM64 {CA8A30D1-8FA9-4330-B7F7-84709246D8DC}.Debug|Win32.ActiveCfg = Debug|Win32 @@ -610,6 +625,7 @@ Global {222F7498-B40C-4F3F-A704-DDEB91A4484A} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} {F5ADB74E-02A7-44FB-AA3B-FC02F8AC7A4B} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} {3565FE5E-4FA3-11EB-AE93-0242AC130002} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} + {FD16CA29-C66A-430A-822C-C09655088611} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} {CA8A30D1-8FA9-4330-B7F7-84709246D8DC} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} {7F773DD9-EB8F-2403-B43C-B49C2014B99C} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} {66174227-8541-41FC-A6DF-4764FC66F78E} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} -- cgit v1.2.3