Lines Matching defs:PSV
44 void addResourcesForPSV(Module &M, PSVRuntimeInfo &PSV);
147 void DXContainerGlobals::addResourcesForPSV(Module &M, PSVRuntimeInfo &PSV) {
156 dxbc::PSV::v2::ResourceBindInfo BindInfo;
162 dxbc::PSV::ResourceType ResType = dxbc::PSV::ResourceType::Invalid;
166 ResType = dxbc::PSV::ResourceType::Sampler;
169 ResType = dxbc::PSV::ResourceType::CBV;
172 ResType = IsUAV ? dxbc::PSV::ResourceType::UAVStructured
173 : dxbc::PSV::ResourceType::SRVStructured;
175 ResType = dxbc::PSV::ResourceType::UAVStructuredWithCounter;
178 ResType = dxbc::PSV::ResourceType::SRVRaw;
181 ResType = IsUAV ? dxbc::PSV::ResourceType::UAVRaw
182 : dxbc::PSV::ResourceType::SRVRaw;
185 ResType = IsUAV ? dxbc::PSV::ResourceType::UAVTyped
186 : dxbc::PSV::ResourceType::SRVTyped;
192 static_cast<dxbc::PSV::ResourceKind>(TypeInfo.getResourceKind());
193 // TODO: Add support for dxbc::PSV::ResourceFlag::UsedByAtomic64, tracking
197 PSV.Resources.emplace_back(BindInfo);
205 PSVRuntimeInfo PSV;
206 PSV.BaseData.MinimumWaveLaneCount = 0;
207 PSV.BaseData.MaximumWaveLaneCount = std::numeric_limits<uint32_t>::max();
213 PSV.BaseData.ShaderStage =
216 addResourcesForPSV(M, PSV);
225 PSV.BaseData.NumThreadsX = MMI.EntryPropertyVec[0].NumThreadsX;
226 PSV.BaseData.NumThreadsY = MMI.EntryPropertyVec[0].NumThreadsY;
227 PSV.BaseData.NumThreadsZ = MMI.EntryPropertyVec[0].NumThreadsZ;
234 PSV.EntryName = MMI.EntryPropertyVec[0].Entry->getName();
236 PSV.finalize(MMI.ShaderProfile);
237 PSV.write(OS);