Lines Matching full:io
90 IO &IO, DXContainerYAML::VersionTuple &Version) {
91 IO.mapRequired("Major", Version.Major);
92 IO.mapRequired("Minor", Version.Minor);
96 IO &IO, DXContainerYAML::FileHeader &Header) {
97 IO.mapRequired("Hash", Header.Hash);
98 IO.mapRequired("Version", Header.Version);
99 IO.mapOptional("FileSize", Header.FileSize);
100 IO.mapRequired("PartCount", Header.PartCount);
101 IO.mapOptional("PartOffsets", Header.PartOffsets);
105 IO &IO, DXContainerYAML::DXILProgram &Program) {
106 IO.mapRequired("MajorVersion", Program.MajorVersion);
107 IO.mapRequired("MinorVersion", Program.MinorVersion);
108 IO.mapRequired("ShaderKind", Program.ShaderKind);
109 IO.mapOptional("Size", Program.Size);
110 IO.mapRequired("DXILMajorVersion", Program.DXILMajorVersion);
111 IO.mapRequired("DXILMinorVersion", Program.DXILMinorVersion);
112 IO.mapOptional("DXILSize", Program.DXILSize);
113 IO.mapOptional("DXIL", Program.DXIL);
117 IO &IO, DXContainerYAML::ShaderFeatureFlags &Flags) {
119 IO.mapRequired(#Val, Flags.Val);
124 IO &IO, DXContainerYAML::ShaderHash &Hash) {
125 IO.mapRequired("IncludesSource", Hash.IncludesSource);
126 IO.mapRequired("Digest", Hash.Digest);
130 IO &IO, DXContainerYAML::PSVInfo &PSV) {
131 IO.mapRequired("Version", PSV.Version);
134 void *OldContext = IO.getContext();
136 IO.setContext(&Version);
139 auto RestoreContext = make_scope_exit([&]() { IO.setContext(OldContext); });
143 IO.mapRequired("ShaderStage", PSV.Info.ShaderStage);
144 PSV.mapInfoForVersion(IO);
146 IO.mapRequired("ResourceStride", PSV.ResourceStride);
147 IO.mapRequired("Resources", PSV.Resources);
150 IO.mapRequired("SigInputElements", PSV.SigInputElements);
151 IO.mapRequired("SigOutputElements", PSV.SigOutputElements);
152 IO.mapRequired("SigPatchOrPrimElements", PSV.SigPatchOrPrimElements);
158 IO.mapRequired("OutputVectorMasks", MutableOutMasks);
160 IO.mapRequired("PatchOrPrimMasks", PSV.PatchOrPrimMasks);
164 IO.mapRequired("InputOutputMap", MutableIOMap);
167 IO.mapRequired("InputPatchMap", PSV.InputPatchMap);
170 IO.mapRequired("PatchOutputMap", PSV.PatchOutputMap);
174 IO &IO, DXContainerYAML::SignatureParameter &S) {
175 IO.mapRequired("Stream", S.Stream);
176 IO.mapRequired("Name", S.Name);
177 IO.mapRequired("Index", S.Index);
178 IO.mapRequired("SystemValue", S.SystemValue);
179 IO.mapRequired("CompType", S.CompType);
180 IO.mapRequired("Register", S.Register);
181 IO.mapRequired("Mask", S.Mask);
182 IO.mapRequired("ExclusiveMask", S.ExclusiveMask);
183 IO.mapRequired("MinPrecision", S.MinPrecision);
187 IO &IO, DXContainerYAML::Signature &S) {
188 IO.mapRequired("Parameters", S.Parameters);
191 void MappingTraits<DXContainerYAML::Part>::mapping(IO &IO,
193 IO.mapRequired("Name", P.Name);
194 IO.mapRequired("Size", P.Size);
195 IO.mapOptional("Program", P.Program);
196 IO.mapOptional("Flags", P.Flags);
197 IO.mapOptional("Hash", P.Hash);
198 IO.mapOptional("PSVInfo", P.Info);
199 IO.mapOptional("Signature", P.Signature);
203 IO &IO, DXContainerYAML::Object &Obj) {
204 IO.mapTag("!dxcontainer", true);
205 IO.mapRequired("Header", Obj.Header);
206 IO.mapRequired("Parts", Obj.Parts);
210 IO &IO, DXContainerYAML::ResourceBindInfo &Res) {
211 IO.mapRequired("Type", Res.Type);
212 IO.mapRequired("Space", Res.Space);
213 IO.mapRequired("LowerBound", Res.LowerBound);
214 IO.mapRequired("UpperBound", Res.UpperBound);
216 const uint32_t *PSVVersion = static_cast<uint32_t *>(IO.getContext());
220 IO.mapRequired("Kind", Res.Kind);
221 IO.mapRequired("Flags", Res.Flags);
225 IO &IO, DXContainerYAML::SignatureElement &El) {
226 IO.mapRequired("Name", El.Name);
227 IO.mapRequired("Indices", El.Indices);
228 IO.mapRequired("StartRow", El.StartRow);
229 IO.mapRequired("Cols", El.Cols);
230 IO.mapRequired("StartCol", El.StartCol);
231 IO.mapRequired("Allocated", El.Allocated);
232 IO.mapRequired("Kind", El.Kind);
233 IO.mapRequired("ComponentType", El.Type);
234 IO.mapRequired("Interpolation", El.Mode);
235 IO.mapRequired("DynamicMask", El.DynamicMask);
236 IO.mapRequired("Stream", El.Stream);
240 IO &IO, dxbc::PSV::SemanticKind &Value) {
242 IO.enumCase(Value, E.Name.str().c_str(), E.Value);
246 IO &IO, dxbc::PSV::ComponentType &Value) {
248 IO.enumCase(Value, E.Name.str().c_str(), E.Value);
252 IO &IO, dxbc::PSV::InterpolationMode &Value) {
254 IO.enumCase(Value, E.Name.str().c_str(), E.Value);
258 IO &IO, dxbc::D3DSystemValue &Value) {
260 IO.enumCase(Value, E.Name.str().c_str(), E.Value);
264 IO &IO, dxbc::SigMinPrecision &Value) {
266 IO.enumCase(Value, E.Name.str().c_str(), E.Value);
270 IO &IO, dxbc::SigComponentType &Value) {
272 IO.enumCase(Value, E.Name.str().c_str(), E.Value);
277 void DXContainerYAML::PSVInfo::mapInfoForVersion(yaml::IO &IO) {
283 IO.mapRequired("DepthOutput", StageInfo.PS.DepthOutput);
284 IO.mapRequired("SampleFrequency", StageInfo.PS.SampleFrequency);
287 IO.mapRequired("OutputPositionPresent", StageInfo.VS.OutputPositionPresent);
290 IO.mapRequired("InputPrimitive", StageInfo.GS.InputPrimitive);
291 IO.mapRequired("OutputTopology", StageInfo.GS.OutputTopology);
292 IO.mapRequired("OutputStreamMask", StageInfo.GS.OutputStreamMask);
293 IO.mapRequired("OutputPositionPresent", StageInfo.GS.OutputPositionPresent);
296 IO.mapRequired("InputControlPointCount",
298 IO.mapRequired("OutputControlPointCount",
300 IO.mapRequired("TessellatorDomain", StageInfo.HS.TessellatorDomain);
301 IO.mapRequired("TessellatorOutputPrimitive",
305 IO.mapRequired("InputControlPointCount",
307 IO.mapRequired("OutputPositionPresent", StageInfo.DS.OutputPositionPresent);
308 IO.mapRequired("TessellatorDomain", StageInfo.DS.TessellatorDomain);
311 IO.mapRequired("GroupSharedBytesUsed", StageInfo.MS.GroupSharedBytesUsed);
312 IO.mapRequired("GroupSharedBytesDependentOnViewID",
314 IO.mapRequired("PayloadSizeInBytes", StageInfo.MS.PayloadSizeInBytes);
315 IO.mapRequired("MaxOutputVertices", StageInfo.MS.MaxOutputVertices);
316 IO.mapRequired("MaxOutputPrimitives", StageInfo.MS.MaxOutputPrimitives);
319 IO.mapRequired("PayloadSizeInBytes", StageInfo.AS.PayloadSizeInBytes);
325 IO.mapRequired("MinimumWaveLaneCount", Info.MinimumWaveLaneCount);
326 IO.mapRequired("MaximumWaveLaneCount", Info.MaximumWaveLaneCount);
331 IO.mapRequired("UsesViewID", Info.UsesViewID);
335 IO.mapRequired("MaxVertexCount", Info.GeomData.MaxVertexCount);
339 IO.mapRequired("SigPatchConstOrPrimVectors",
343 IO.mapRequired("SigPrimVectors", Info.GeomData.MeshInfo.SigPrimVectors);
344 IO.mapRequired("MeshOutputTopology",
351 IO.mapRequired("SigInputVectors", Info.SigInputVectors);
353 IO.mapRequired("SigOutputVectors", Vec);
358 IO.mapRequired("NumThreadsX", Info.NumThreadsX);
359 IO.mapRequired("NumThreadsY", Info.NumThreadsY);
360 IO.mapRequired("NumThreadsZ", Info.NumThreadsZ);
365 IO.mapRequired("EntryName", EntryName);