HLSL: Add tests and refine what decorations are passed through per stage/in/out.
This commit is contained in:
@@ -2248,8 +2248,10 @@ void TGlslangToSpvTraverser::decorateStructType(const glslang::TType& type,
|
||||
addMemberDecoration(spvType, member, TranslateLayoutDecoration(glslangMember, memberQualifier.layoutMatrix));
|
||||
addMemberDecoration(spvType, member, TranslatePrecisionDecoration(glslangMember));
|
||||
// Add interpolation and auxiliary storage decorations only to top-level members of Input and Output storage classes
|
||||
if (type.getQualifier().storage == glslang::EvqVaryingIn || type.getQualifier().storage == glslang::EvqVaryingOut) {
|
||||
if (type.getBasicType() == glslang::EbtBlock) {
|
||||
if (type.getQualifier().storage == glslang::EvqVaryingIn ||
|
||||
type.getQualifier().storage == glslang::EvqVaryingOut) {
|
||||
if (type.getBasicType() == glslang::EbtBlock ||
|
||||
glslangIntermediate->getSource() == glslang::EShSourceHlsl) {
|
||||
addMemberDecoration(spvType, member, TranslateInterpolationDecoration(memberQualifier));
|
||||
addMemberDecoration(spvType, member, TranslateAuxiliaryStorageDecoration(memberQualifier));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user