WaveReadLaneFirst is the correct wording (was using WaveReadFirstLane previously...
authorNeil Henning <neil@codeplay.com>
Wed, 7 Mar 2018 17:04:20 +0000 (17:04 +0000)
committerNeil Henning <neil@codeplay.com>
Wed, 7 Mar 2018 17:04:20 +0000 (17:04 +0000)
Test/hlsl.wavebroadcast.comp
hlsl/hlslParseables.cpp

index f6bae36..4498305 100644 (file)
@@ -26,28 +26,28 @@ void CSMain(uint3 dti : SV_DispatchThreadID)
        data[dti.x].f.xy = WaveReadLaneAt(data[dti.x].f.xy, 13);\r
        data[dti.x].f.xyz = WaveReadLaneAt(data[dti.x].f.xyz, 13);\r
 \r
-       data[dti.x].d = WaveReadFirstLane(data[dti.x].d);\r
-       data[dti.x].d.x = WaveReadFirstLane(data[dti.x].d.x);\r
-       data[dti.x].d.xy = WaveReadFirstLane(data[dti.x].d.xy);\r
-       data[dti.x].d.xyz = WaveReadFirstLane(data[dti.x].d.xyz);\r
-\r
-       data[dti.x].u = WaveReadFirstLane(data[dti.x].u);\r
-       data[dti.x].u.x = WaveReadFirstLane(data[dti.x].u.x);\r
-       data[dti.x].u.xy = WaveReadFirstLane(data[dti.x].u.xy);\r
-       data[dti.x].u.xyz = WaveReadFirstLane(data[dti.x].u.xyz);\r
-\r
-       data[dti.x].i = WaveReadFirstLane(data[dti.x].i);\r
-       data[dti.x].i.x = WaveReadFirstLane(data[dti.x].i.x);\r
-       data[dti.x].i.xy = WaveReadFirstLane(data[dti.x].i.xy);\r
-       data[dti.x].i.xyz = WaveReadFirstLane(data[dti.x].i.xyz);\r
-\r
-       data[dti.x].f = WaveReadFirstLane(data[dti.x].f);\r
-       data[dti.x].f.x = WaveReadFirstLane(data[dti.x].f.x);\r
-       data[dti.x].f.xy = WaveReadFirstLane(data[dti.x].f.xy);\r
-       data[dti.x].f.xyz = WaveReadFirstLane(data[dti.x].f.xyz);\r
-\r
-       data[dti.x].d = WaveReadFirstLane(data[dti.x].d);\r
-       data[dti.x].d.x = WaveReadFirstLane(data[dti.x].d.x);\r
-       data[dti.x].d.xy = WaveReadFirstLane(data[dti.x].d.xy);\r
-       data[dti.x].d.xyz = WaveReadFirstLane(data[dti.x].d.xyz);\r
+       data[dti.x].d = WaveReadLaneFirst(data[dti.x].d);\r
+       data[dti.x].d.x = WaveReadLaneFirst(data[dti.x].d.x);\r
+       data[dti.x].d.xy = WaveReadLaneFirst(data[dti.x].d.xy);\r
+       data[dti.x].d.xyz = WaveReadLaneFirst(data[dti.x].d.xyz);\r
+\r
+       data[dti.x].u = WaveReadLaneFirst(data[dti.x].u);\r
+       data[dti.x].u.x = WaveReadLaneFirst(data[dti.x].u.x);\r
+       data[dti.x].u.xy = WaveReadLaneFirst(data[dti.x].u.xy);\r
+       data[dti.x].u.xyz = WaveReadLaneFirst(data[dti.x].u.xyz);\r
+\r
+       data[dti.x].i = WaveReadLaneFirst(data[dti.x].i);\r
+       data[dti.x].i.x = WaveReadLaneFirst(data[dti.x].i.x);\r
+       data[dti.x].i.xy = WaveReadLaneFirst(data[dti.x].i.xy);\r
+       data[dti.x].i.xyz = WaveReadLaneFirst(data[dti.x].i.xyz);\r
+\r
+       data[dti.x].f = WaveReadLaneFirst(data[dti.x].f);\r
+       data[dti.x].f.x = WaveReadLaneFirst(data[dti.x].f.x);\r
+       data[dti.x].f.xy = WaveReadLaneFirst(data[dti.x].f.xy);\r
+       data[dti.x].f.xyz = WaveReadLaneFirst(data[dti.x].f.xyz);\r
+\r
+       data[dti.x].d = WaveReadLaneFirst(data[dti.x].d);\r
+       data[dti.x].d.x = WaveReadLaneFirst(data[dti.x].d.x);\r
+       data[dti.x].d.xy = WaveReadLaneFirst(data[dti.x].d.xy);\r
+       data[dti.x].d.xyz = WaveReadLaneFirst(data[dti.x].d.xyz);\r
 }\r
index 5022fcb..cc847ae 100755 (executable)
@@ -913,7 +913,7 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c
         { "WaveActiveAllTrue",                "S",     "B",       "S",              "B",              EShLangPSCS,  false},
         { "WaveActiveBallot",                 "V4",    "U",       "S",              "B",              EShLangPSCS,  false},
         { "WaveReadLaneAt",                   nullptr, nullptr,   "SV,S",           "DFUI,U",         EShLangPSCS,  false},
-        { "WaveReadFirstLane",                nullptr, nullptr,   "SV",             "DFUI",           EShLangPSCS,  false},
+        { "WaveReadLaneFirst",                nullptr, nullptr,   "SV",             "DFUI",           EShLangPSCS,  false},
         { "WaveActiveAllEqual",               "S",     "B",       "SV",             "DFUI",           EShLangPSCS,  false},
         { "WaveActiveAllEqualBool",           "S",     "B",       "S",              "B",              EShLangPSCS,  false},
         { "WaveActiveCountBits",              "S",     "U",       "S",              "B",              EShLangPSCS,  false},
@@ -1282,7 +1282,7 @@ void TBuiltInParseablesHlsl::identifyBuiltIns(int /*version*/, EProfile /*profil
     symbolTable.relateToOperator("WaveActiveAnyTrue",                          EOpSubgroupAny);
     symbolTable.relateToOperator("WaveActiveAllTrue",                          EOpSubgroupAll);
     symbolTable.relateToOperator("WaveActiveBallot",                           EOpSubgroupBallot);
-    symbolTable.relateToOperator("WaveReadFirstLane",                          EOpSubgroupBroadcastFirst);
+    symbolTable.relateToOperator("WaveReadLaneFirst",                          EOpSubgroupBroadcastFirst);
     symbolTable.relateToOperator("WaveReadLaneAt",                             EOpSubgroupShuffle);
     symbolTable.relateToOperator("WaveActiveAllEqual",                         EOpSubgroupAllEqual);
     symbolTable.relateToOperator("WaveActiveAllEqualBool",                     EOpSubgroupAllEqual);