Change SV_CullPrimitive to NotPacked (#2462)

This commit is contained in:
Tex Riddell 2019-09-17 12:38:15 -07:00 коммит произвёл GitHub
Родитель 5bc597bd5d
Коммит 9e16e99895
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 68 добавлений и 68 удалений

Просмотреть файл

@ -669,41 +669,41 @@ Semantic Interpretations for each SemanticKind at each SigPointKind are as follo
.. <py::lines('SEMINT-TABLE-RST')>hctdb_instrhelp.get_sem_interpretation_table_rst()</py>
.. SEMINT-TABLE-RST:BEGIN
====================== ============ ======== ============ ============ ======== ======== ========== ============ ======== ======== ======== ============ ======== ============= ============= ======== ============ ============ ======= ============
Semantic VSIn VSOut PCIn HSIn HSCPIn HSCPOut PCOut DSIn DSCPIn DSOut GSVIn GSIn GSOut PSIn PSOut CSIn MSIn MSOut MSPOut ASIn
====================== ============ ======== ============ ============ ======== ======== ========== ============ ======== ======== ======== ============ ======== ============= ============= ======== ============ ============ ======= ============
Arbitrary Arb Arb NA NA Arb Arb Arb Arb Arb Arb Arb NA Arb Arb NA NA NA Arb _65 Arb _65 NA
VertexID SV NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
InstanceID SV Arb NA NA Arb Arb NA NA Arb Arb Arb NA Arb Arb NA NA NA NA NA NA
Position Arb SV NA NA SV SV Arb Arb SV SV SV NA SV SV NA NA NA SV _65 NA NA
RenderTargetArrayIndex Arb SV NA NA SV SV Arb Arb SV SV SV NA SV SV NA NA NA NA SV _65 NA
ViewPortArrayIndex Arb SV NA NA SV SV Arb Arb SV SV SV NA SV SV NA NA NA NA SV _65 NA
ClipDistance Arb ClipCull NA NA ClipCull ClipCull Arb Arb ClipCull ClipCull ClipCull NA ClipCull ClipCull NA NA NA ClipCull _65 NA NA
CullDistance Arb ClipCull NA NA ClipCull ClipCull Arb Arb ClipCull ClipCull ClipCull NA ClipCull ClipCull NA NA NA ClipCull _65 NA NA
OutputControlPointID NA NA NA NotInSig NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
DomainLocation NA NA NA NA NA NA NA NotInSig NA NA NA NA NA NA NA NA NA NA NA NA
PrimitiveID NA NA NotInSig NotInSig NA NA NA NotInSig NA NA NA Shadow SGV SGV NA NA NA NA SV _65 NA
GSInstanceID NA NA NA NA NA NA NA NA NA NA NA NotInSig NA NA NA NA NA NA NA NA
SampleIndex NA NA NA NA NA NA NA NA NA NA NA NA NA Shadow _41 NA NA NA NA NA NA
IsFrontFace NA NA NA NA NA NA NA NA NA NA NA NA SGV SGV NA NA NA NA NA NA
Coverage NA NA NA NA NA NA NA NA NA NA NA NA NA NotInSig _50 NotPacked _41 NA NA NA NA NA
InnerCoverage NA NA NA NA NA NA NA NA NA NA NA NA NA NotInSig _50 NA NA NA NA NA NA
Target NA NA NA NA NA NA NA NA NA NA NA NA NA NA Target NA NA NA NA NA
Depth NA NA NA NA NA NA NA NA NA NA NA NA NA NA NotPacked NA NA NA NA NA
DepthLessEqual NA NA NA NA NA NA NA NA NA NA NA NA NA NA NotPacked _50 NA NA NA NA NA
DepthGreaterEqual NA NA NA NA NA NA NA NA NA NA NA NA NA NA NotPacked _50 NA NA NA NA NA
StencilRef NA NA NA NA NA NA NA NA NA NA NA NA NA NA NotPacked _50 NA NA NA NA NA
DispatchThreadID NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NotInSig NotInSig _65 NA NA NotInSig _65
GroupID NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NotInSig NotInSig _65 NA NA NotInSig _65
GroupIndex NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NotInSig NotInSig _65 NA NA NotInSig _65
GroupThreadID NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NotInSig NotInSig _65 NA NA NotInSig _65
TessFactor NA NA NA NA NA NA TessFactor TessFactor NA NA NA NA NA NA NA NA NA NA NA NA
InsideTessFactor NA NA NA NA NA NA TessFactor TessFactor NA NA NA NA NA NA NA NA NA NA NA NA
ViewID NotInSig _61 NA NotInSig _61 NotInSig _61 NA NA NA NotInSig _61 NA NA NA NotInSig _61 NA NotInSig _61 NA NA NotInSig _65 NA NA NA
Barycentrics NA NA NA NA NA NA NA NA NA NA NA NA NA NotPacked _61 NA NA NA NA NA NA
ShadingRate NA SV _64 NA NA SV _64 SV _64 NA NA SV _64 SV _64 SV _64 NA SV _64 SV _64 NA NA NA NA NA NA
CullPrimitive NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA SV _65 NA
====================== ============ ======== ============ ============ ======== ======== ========== ============ ======== ======== ======== ============ ======== ============= ============= ======== ============ ============ ======= ============
====================== ============ ======== ============ ============ ======== ======== ========== ============ ======== ======== ======== ============ ======== ============= ============= ======== ============ ============ ============= ============
Semantic VSIn VSOut PCIn HSIn HSCPIn HSCPOut PCOut DSIn DSCPIn DSOut GSVIn GSIn GSOut PSIn PSOut CSIn MSIn MSOut MSPOut ASIn
====================== ============ ======== ============ ============ ======== ======== ========== ============ ======== ======== ======== ============ ======== ============= ============= ======== ============ ============ ============= ============
Arbitrary Arb Arb NA NA Arb Arb Arb Arb Arb Arb Arb NA Arb Arb NA NA NA Arb _65 Arb _65 NA
VertexID SV NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
InstanceID SV Arb NA NA Arb Arb NA NA Arb Arb Arb NA Arb Arb NA NA NA NA NA NA
Position Arb SV NA NA SV SV Arb Arb SV SV SV NA SV SV NA NA NA SV _65 NA NA
RenderTargetArrayIndex Arb SV NA NA SV SV Arb Arb SV SV SV NA SV SV NA NA NA NA SV _65 NA
ViewPortArrayIndex Arb SV NA NA SV SV Arb Arb SV SV SV NA SV SV NA NA NA NA SV _65 NA
ClipDistance Arb ClipCull NA NA ClipCull ClipCull Arb Arb ClipCull ClipCull ClipCull NA ClipCull ClipCull NA NA NA ClipCull _65 NA NA
CullDistance Arb ClipCull NA NA ClipCull ClipCull Arb Arb ClipCull ClipCull ClipCull NA ClipCull ClipCull NA NA NA ClipCull _65 NA NA
OutputControlPointID NA NA NA NotInSig NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
DomainLocation NA NA NA NA NA NA NA NotInSig NA NA NA NA NA NA NA NA NA NA NA NA
PrimitiveID NA NA NotInSig NotInSig NA NA NA NotInSig NA NA NA Shadow SGV SGV NA NA NA NA SV _65 NA
GSInstanceID NA NA NA NA NA NA NA NA NA NA NA NotInSig NA NA NA NA NA NA NA NA
SampleIndex NA NA NA NA NA NA NA NA NA NA NA NA NA Shadow _41 NA NA NA NA NA NA
IsFrontFace NA NA NA NA NA NA NA NA NA NA NA NA SGV SGV NA NA NA NA NA NA
Coverage NA NA NA NA NA NA NA NA NA NA NA NA NA NotInSig _50 NotPacked _41 NA NA NA NA NA
InnerCoverage NA NA NA NA NA NA NA NA NA NA NA NA NA NotInSig _50 NA NA NA NA NA NA
Target NA NA NA NA NA NA NA NA NA NA NA NA NA NA Target NA NA NA NA NA
Depth NA NA NA NA NA NA NA NA NA NA NA NA NA NA NotPacked NA NA NA NA NA
DepthLessEqual NA NA NA NA NA NA NA NA NA NA NA NA NA NA NotPacked _50 NA NA NA NA NA
DepthGreaterEqual NA NA NA NA NA NA NA NA NA NA NA NA NA NA NotPacked _50 NA NA NA NA NA
StencilRef NA NA NA NA NA NA NA NA NA NA NA NA NA NA NotPacked _50 NA NA NA NA NA
DispatchThreadID NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NotInSig NotInSig _65 NA NA NotInSig _65
GroupID NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NotInSig NotInSig _65 NA NA NotInSig _65
GroupIndex NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NotInSig NotInSig _65 NA NA NotInSig _65
GroupThreadID NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NotInSig NotInSig _65 NA NA NotInSig _65
TessFactor NA NA NA NA NA NA TessFactor TessFactor NA NA NA NA NA NA NA NA NA NA NA NA
InsideTessFactor NA NA NA NA NA NA TessFactor TessFactor NA NA NA NA NA NA NA NA NA NA NA NA
ViewID NotInSig _61 NA NotInSig _61 NotInSig _61 NA NA NA NotInSig _61 NA NA NA NotInSig _61 NA NotInSig _61 NA NA NotInSig _65 NA NA NA
Barycentrics NA NA NA NA NA NA NA NA NA NA NA NA NA NotPacked _61 NA NA NA NA NA NA
ShadingRate NA SV _64 NA NA SV _64 SV _64 NA NA SV _64 SV _64 SV _64 NA SV _64 SV _64 NA NA NA NA NA NA
CullPrimitive NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NotPacked _65 NA
====================== ============ ======== ============ ============ ======== ======== ========== ============ ======== ======== ======== ============ ======== ============= ============= ======== ============ ============ ============= ============
.. SEMINT-TABLE-RST:END

Просмотреть файл

@ -53,39 +53,39 @@ const SigPoint SigPoint::ms_SigPoints[kNumSigPointRecords] = {
// <py::lines('INTERPRETATION-TABLE')>hctdb_instrhelp.get_interpretation_table()</py>
// INTERPRETATION-TABLE:BEGIN
// Semantic, VSIn, VSOut, PCIn, HSIn, HSCPIn, HSCPOut, PCOut, DSIn, DSCPIn, DSOut, GSVIn, GSIn, GSOut, PSIn, PSOut, CSIn, MSIn, MSOut, MSPOut, ASIn
// Semantic, VSIn, VSOut, PCIn, HSIn, HSCPIn, HSCPOut, PCOut, DSIn, DSCPIn, DSOut, GSVIn, GSIn, GSOut, PSIn, PSOut, CSIn, MSIn, MSOut, MSPOut, ASIn
#define DO_INTERPRETATION_TABLE(ROW) \
ROW(Arbitrary, Arb, Arb, NA, NA, Arb, Arb, Arb, Arb, Arb, Arb, Arb, NA, Arb, Arb, NA, NA, NA, Arb _65, Arb _65, NA) \
ROW(VertexID, SV, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA) \
ROW(InstanceID, SV, Arb, NA, NA, Arb, Arb, NA, NA, Arb, Arb, Arb, NA, Arb, Arb, NA, NA, NA, NA, NA, NA) \
ROW(Position, Arb, SV, NA, NA, SV, SV, Arb, Arb, SV, SV, SV, NA, SV, SV, NA, NA, NA, SV _65, NA, NA) \
ROW(RenderTargetArrayIndex, Arb, SV, NA, NA, SV, SV, Arb, Arb, SV, SV, SV, NA, SV, SV, NA, NA, NA, NA, SV _65, NA) \
ROW(ViewPortArrayIndex, Arb, SV, NA, NA, SV, SV, Arb, Arb, SV, SV, SV, NA, SV, SV, NA, NA, NA, NA, SV _65, NA) \
ROW(ClipDistance, Arb, ClipCull, NA, NA, ClipCull, ClipCull, Arb, Arb, ClipCull, ClipCull, ClipCull, NA, ClipCull, ClipCull, NA, NA, NA, ClipCull _65, NA, NA) \
ROW(CullDistance, Arb, ClipCull, NA, NA, ClipCull, ClipCull, Arb, Arb, ClipCull, ClipCull, ClipCull, NA, ClipCull, ClipCull, NA, NA, NA, ClipCull _65, NA, NA) \
ROW(OutputControlPointID, NA, NA, NA, NotInSig, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA) \
ROW(DomainLocation, NA, NA, NA, NA, NA, NA, NA, NotInSig, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA) \
ROW(PrimitiveID, NA, NA, NotInSig, NotInSig, NA, NA, NA, NotInSig, NA, NA, NA, Shadow, SGV, SGV, NA, NA, NA, NA, SV _65, NA) \
ROW(GSInstanceID, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotInSig, NA, NA, NA, NA, NA, NA, NA, NA) \
ROW(SampleIndex, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, Shadow _41, NA, NA, NA, NA, NA, NA) \
ROW(IsFrontFace, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, SGV, SGV, NA, NA, NA, NA, NA, NA) \
ROW(Coverage, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotInSig _50, NotPacked _41, NA, NA, NA, NA, NA) \
ROW(InnerCoverage, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotInSig _50, NA, NA, NA, NA, NA, NA) \
ROW(Target, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, Target, NA, NA, NA, NA, NA) \
ROW(Depth, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotPacked, NA, NA, NA, NA, NA) \
ROW(DepthLessEqual, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotPacked _50, NA, NA, NA, NA, NA) \
ROW(DepthGreaterEqual, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotPacked _50, NA, NA, NA, NA, NA) \
ROW(StencilRef, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotPacked _50, NA, NA, NA, NA, NA) \
ROW(DispatchThreadID, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotInSig, NotInSig _65, NA, NA, NotInSig _65) \
ROW(GroupID, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotInSig, NotInSig _65, NA, NA, NotInSig _65) \
ROW(GroupIndex, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotInSig, NotInSig _65, NA, NA, NotInSig _65) \
ROW(GroupThreadID, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotInSig, NotInSig _65, NA, NA, NotInSig _65) \
ROW(TessFactor, NA, NA, NA, NA, NA, NA, TessFactor, TessFactor, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA) \
ROW(InsideTessFactor, NA, NA, NA, NA, NA, NA, TessFactor, TessFactor, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA) \
ROW(ViewID, NotInSig _61, NA, NotInSig _61, NotInSig _61, NA, NA, NA, NotInSig _61, NA, NA, NA, NotInSig _61, NA, NotInSig _61, NA, NA, NotInSig _65, NA, NA, NA) \
ROW(Barycentrics, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotPacked _61, NA, NA, NA, NA, NA, NA) \
ROW(ShadingRate, NA, SV _64, NA, NA, SV _64, SV _64, NA, NA, SV _64, SV _64, SV _64, NA, SV _64, SV _64, NA, NA, NA, NA, NA, NA) \
ROW(CullPrimitive, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, SV _65, NA)
ROW(Arbitrary, Arb, Arb, NA, NA, Arb, Arb, Arb, Arb, Arb, Arb, Arb, NA, Arb, Arb, NA, NA, NA, Arb _65, Arb _65, NA) \
ROW(VertexID, SV, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA) \
ROW(InstanceID, SV, Arb, NA, NA, Arb, Arb, NA, NA, Arb, Arb, Arb, NA, Arb, Arb, NA, NA, NA, NA, NA, NA) \
ROW(Position, Arb, SV, NA, NA, SV, SV, Arb, Arb, SV, SV, SV, NA, SV, SV, NA, NA, NA, SV _65, NA, NA) \
ROW(RenderTargetArrayIndex, Arb, SV, NA, NA, SV, SV, Arb, Arb, SV, SV, SV, NA, SV, SV, NA, NA, NA, NA, SV _65, NA) \
ROW(ViewPortArrayIndex, Arb, SV, NA, NA, SV, SV, Arb, Arb, SV, SV, SV, NA, SV, SV, NA, NA, NA, NA, SV _65, NA) \
ROW(ClipDistance, Arb, ClipCull, NA, NA, ClipCull, ClipCull, Arb, Arb, ClipCull, ClipCull, ClipCull, NA, ClipCull, ClipCull, NA, NA, NA, ClipCull _65, NA, NA) \
ROW(CullDistance, Arb, ClipCull, NA, NA, ClipCull, ClipCull, Arb, Arb, ClipCull, ClipCull, ClipCull, NA, ClipCull, ClipCull, NA, NA, NA, ClipCull _65, NA, NA) \
ROW(OutputControlPointID, NA, NA, NA, NotInSig, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA) \
ROW(DomainLocation, NA, NA, NA, NA, NA, NA, NA, NotInSig, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA) \
ROW(PrimitiveID, NA, NA, NotInSig, NotInSig, NA, NA, NA, NotInSig, NA, NA, NA, Shadow, SGV, SGV, NA, NA, NA, NA, SV _65, NA) \
ROW(GSInstanceID, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotInSig, NA, NA, NA, NA, NA, NA, NA, NA) \
ROW(SampleIndex, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, Shadow _41, NA, NA, NA, NA, NA, NA) \
ROW(IsFrontFace, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, SGV, SGV, NA, NA, NA, NA, NA, NA) \
ROW(Coverage, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotInSig _50, NotPacked _41, NA, NA, NA, NA, NA) \
ROW(InnerCoverage, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotInSig _50, NA, NA, NA, NA, NA, NA) \
ROW(Target, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, Target, NA, NA, NA, NA, NA) \
ROW(Depth, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotPacked, NA, NA, NA, NA, NA) \
ROW(DepthLessEqual, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotPacked _50, NA, NA, NA, NA, NA) \
ROW(DepthGreaterEqual, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotPacked _50, NA, NA, NA, NA, NA) \
ROW(StencilRef, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotPacked _50, NA, NA, NA, NA, NA) \
ROW(DispatchThreadID, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotInSig, NotInSig _65, NA, NA, NotInSig _65) \
ROW(GroupID, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotInSig, NotInSig _65, NA, NA, NotInSig _65) \
ROW(GroupIndex, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotInSig, NotInSig _65, NA, NA, NotInSig _65) \
ROW(GroupThreadID, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotInSig, NotInSig _65, NA, NA, NotInSig _65) \
ROW(TessFactor, NA, NA, NA, NA, NA, NA, TessFactor, TessFactor, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA) \
ROW(InsideTessFactor, NA, NA, NA, NA, NA, NA, TessFactor, TessFactor, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA) \
ROW(ViewID, NotInSig _61, NA, NotInSig _61, NotInSig _61, NA, NA, NA, NotInSig _61, NA, NA, NA, NotInSig _61, NA, NotInSig _61, NA, NA, NotInSig _65, NA, NA, NA) \
ROW(Barycentrics, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotPacked _61, NA, NA, NA, NA, NA, NA) \
ROW(ShadingRate, NA, SV _64, NA, NA, SV _64, SV _64, NA, NA, SV _64, SV _64, SV _64, NA, SV _64, SV _64, NA, NA, NA, NA, NA, NA) \
ROW(CullPrimitive, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NotPacked _65, NA)
// INTERPRETATION-TABLE:END
const VersionedSemanticInterpretation SigPoint::ms_SemanticInterpretationTable[(unsigned)DXIL::SemanticKind::Invalid][(unsigned)SigPoint::Kind::Invalid] = {

Просмотреть файл

@ -2219,7 +2219,7 @@ class db_dxil(object):
ViewID,NotInSig _61,NA,NotInSig _61,NotInSig _61,NA,NA,NA,NotInSig _61,NA,NA,NA,NotInSig _61,NA,NotInSig _61,NA,NA,NotInSig _65,NA,NA,NA
Barycentrics,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NotPacked _61,NA,NA,NA,NA,NA,NA
ShadingRate,NA,SV _64,NA,NA,SV _64,SV _64,NA,NA,SV _64,SV _64,SV _64,NA,SV _64,SV _64,NA,NA,NA,NA,NA,NA
CullPrimitive,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,SV _65,NA
CullPrimitive,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NA,NotPacked _65,NA
"""
table = [list(map(str.strip, line.split(','))) for line in SemanticInterpretationCSV.splitlines() if line.strip()]
for row in table[1:]: assert(len(row) == len(table[0])) # Ensure table is rectangular