@@ -2173,6 +2173,40 @@ RDAT_STRUCT_END()
21732173
21742174> TBD: Describe ordering and deduplication requirements for these RDAT records.
21752175
2176+ #### Open questions for PSV0 and RDAT
2177+
2178+ Do we need to capture component conversions with CopyConvertMatrix?
2179+
2180+ Should we collect usages inside the required Tier 1 feature set?
2181+
2182+ * It' s not necessary, and omitting it reduces some extraneous container size and
2183+ runtime overhead.
2184+ * If we keep it, it will be required by DXIL Validation unless the validation
2185+ approach is made significantly more sophisticated.
2186+
2187+ Should shapes be merged to reduce extra shapes which must be supported based on
2188+ a smaller shape already recorded.
2189+
2190+ * Not for now, as potential for ambiguious cases have not been eliminated.
2191+
2192+ Should overall structure be changed to a single record with a typed union of
2193+ structs, instead of separate records per operation?
2194+
2195+ * Current preference is to keep separate records and tables for each operation,
2196+ as it is simpler to implement and maintain, and allows for standard record
2197+ versioning through extension without issues with unions getting in the way.
2198+
2199+ * Another approach coulld be to follow the RDAT pattern where we have a list of
2200+ parts with IDs that define the record tables, and when a table would be empty,
2201+ the part is simply omitted. We could use the same part IDs as we do for RDAT,
2202+ and even the same record definitions, making this a single extension point in
2203+ PSV0 for RDAT formatted records. The existing string and SemanticIndex buffers
2204+ can be used as the shared RDAT buffers as well, though that wouldn' t be
2205+ strictly necessary. The RDAT class could have an InitFromPSV0 method to make
2206+ it easy to load any RDAT formatted data from the PSV0 part. The definitions in
2207+ PSV0 would then become an RDAT offset table and a starting point for the RDAT
2208+ part data.
2209+
21762210## Appendix 1: HLSL Header
21772211
21782212[Compiler Explorer](https:// godbolt.org/z/5qzYaosf1)
0 commit comments