File tree 2 files changed +8
-4
lines changed 2 files changed +8
-4
lines changed Original file line number Diff line number Diff line change 14
14
"subrepo" : " KhronosGroup/SPIRV-Headers" ,
15
15
"branch" : " main" ,
16
16
"subdir" : " third_party/SPIRV-Headers" ,
17
- "commit" : " 4183b260f4cccae52a89efdfcdd43c4897989f42 "
17
+ "commit" : " 4f7b471f1a66b6d06462cd4ba57628cc0cd087d7 "
18
18
},
19
19
{
20
20
"name" : " SPIRV-Tools" ,
21
21
"site" : " github" ,
22
22
"subrepo" : " KhronosGroup/SPIRV-Tools" ,
23
23
"branch" : " main" ,
24
24
"subdir" : " third_party/SPIRV-Tools" ,
25
- "commit" : " a996591b1c67e789e88e99ae3881272f5fc47374 "
25
+ "commit" : " 02470f606fe1571de808cb773d8c521ab201aaff "
26
26
}
27
27
]
28
28
}
Original file line number Diff line number Diff line change @@ -687,6 +687,7 @@ struct SPIRVProducerPassImpl {
687
687
Type *SamplerPointerTy;
688
688
Type *SamplerDataTy;
689
689
DenseMap<unsigned , SPIRVID> SamplerLiteralToIDMap;
690
+ DenseSet<uint32_t > DecoratedNonUniform;
690
691
691
692
// If a function F has a pointer-to-__constant parameter, then this variable
692
693
// will map F's type to (G, index of the parameter), where in a first phase
@@ -4638,8 +4639,11 @@ void SPIRVProducerPassImpl::GenerateInstruction(Instruction &I) {
4638
4639
setNonUniformPointers ();
4639
4640
4640
4641
SPIRVOperandVec Ops;
4641
- Ops << getSPIRVValue (op) << spv::DecorationNonUniform;
4642
- addSPIRVInst<kAnnotations >(spv::OpDecorate, Ops);
4642
+ auto id = getSPIRVValue (op);
4643
+ if (DecoratedNonUniform.insert (id.get ()).second ) {
4644
+ Ops << id << spv::DecorationNonUniform;
4645
+ addSPIRVInst<kAnnotations >(spv::OpDecorate, Ops);
4646
+ }
4643
4647
}
4644
4648
}
4645
4649
}
You can’t perform that action at this time.
0 commit comments