diff --git a/src/d3d11/d3d11_device.cpp b/src/d3d11/d3d11_device.cpp index fa07b636..434a9834 100644 --- a/src/d3d11/d3d11_device.cpp +++ b/src/d3d11/d3d11_device.cpp @@ -952,7 +952,7 @@ namespace dxvk { for (uint32_t i = 0; i < NumElements; i++) { const DxbcSgnEntry* entry = inputSignature->find( pInputElementDescs[i].SemanticName, - pInputElementDescs[i].SemanticIndex); + pInputElementDescs[i].SemanticIndex, 0); if (entry == nullptr) { Logger::debug(str::format( diff --git a/src/dxbc/dxbc_chunk_isgn.cpp b/src/dxbc/dxbc_chunk_isgn.cpp index bbe5e0d4..7ca329cc 100644 --- a/src/dxbc/dxbc_chunk_isgn.cpp +++ b/src/dxbc/dxbc_chunk_isgn.cpp @@ -43,9 +43,11 @@ namespace dxvk { const DxbcSgnEntry* DxbcIsgn::find( const std::string& semanticName, - uint32_t semanticIndex) const { + uint32_t semanticIndex, + uint32_t streamId) const { for (auto e = this->begin(); e != this->end(); e++) { if (e->semanticIndex == semanticIndex + && e->streamId == streamId && compareSemanticNames(semanticName, e->semanticName)) return &(*e); } diff --git a/src/dxbc/dxbc_chunk_isgn.h b/src/dxbc/dxbc_chunk_isgn.h index 39ddc8cc..e083605c 100644 --- a/src/dxbc/dxbc_chunk_isgn.h +++ b/src/dxbc/dxbc_chunk_isgn.h @@ -46,7 +46,8 @@ namespace dxvk { const DxbcSgnEntry* find( const std::string& semanticName, - uint32_t semanticIndex) const; + uint32_t semanticIndex, + uint32_t streamIndex) const; private: