diff --git a/src/d3d11/d3d11_context.cpp b/src/d3d11/d3d11_context.cpp index f9c685400..b051b5e28 100644 --- a/src/d3d11/d3d11_context.cpp +++ b/src/d3d11/d3d11_context.cpp @@ -1740,8 +1740,12 @@ namespace dxvk { if (pFormat != nullptr) *pFormat = m_state.ia.indexBuffer.format; - if (pOffset != nullptr) - *pOffset = m_state.ia.indexBuffer.offset; + if (pOffset != nullptr) { + uint32_t shift = m_state.ia.indexBuffer.format == DXGI_FORMAT_R16_UINT ? 1 : 2; + *pOffset = m_state.ia.indexBuffer.optimized + ? m_state.ia.indexBuffer.firstIndex << shift + : m_state.ia.indexBuffer.offset; + } }