diff --git a/src/spirv/spirv_module.cpp b/src/spirv/spirv_module.cpp index 22324d76e..d550a947c 100644 --- a/src/spirv/spirv_module.cpp +++ b/src/spirv/spirv_module.cpp @@ -535,6 +535,18 @@ namespace dxvk { m_annotations.putWord (memberId); m_annotations.putWord (decoration); } + + + void SpirvModule::memberDecorateMatrixStride( + uint32_t structId, + uint32_t memberId, + uint32_t stride) { + m_annotations.putIns (spv::OpMemberDecorate, 5); + m_annotations.putWord (structId); + m_annotations.putWord (memberId); + m_annotations.putWord (spv::DecorationMatrixStride); + m_annotations.putWord (stride); + } void SpirvModule::memberDecorateOffset( diff --git a/src/spirv/spirv_module.h b/src/spirv/spirv_module.h index 2a7afcff0..69b907f72 100644 --- a/src/spirv/spirv_module.h +++ b/src/spirv/spirv_module.h @@ -229,6 +229,11 @@ namespace dxvk { uint32_t structId, uint32_t memberId, spv::Decoration decoration); + + void memberDecorateMatrixStride( + uint32_t structId, + uint32_t memberId, + uint32_t stride); void memberDecorateOffset( uint32_t structId,