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
{ "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},
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);