HLSL: Fix #1154: Support PointSize, as an attribute.
diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp
index c418745..4022940 100755
--- a/hlsl/hlslParseHelper.cpp
+++ b/hlsl/hlslParseHelper.cpp
@@ -1854,6 +1854,9 @@
// attributes.
void HlslParseContext::transferTypeAttributes(const TAttributeMap& attributes, TType& type)
{
+ if (attributes.size() == 0)
+ return;
+
// location
int value;
if (attributes.getInt(EatLocation, value))
@@ -1880,6 +1883,13 @@
// input attachment
if (attributes.getInt(EatInputAttachment, value))
type.getQualifier().layoutAttachment = value;
+
+ // PointSize built-in
+ TString builtInString;
+ if (attributes.getString(EatBuiltIn, builtInString, 0, false)) {
+ if (builtInString == "PointSize")
+ type.getQualifier().builtIn = EbvPointSize;
+ }
}
//