diff --git a/src/d3d9/d3d9_device.cpp b/src/d3d9/d3d9_device.cpp index 7e44661b..cc424259 100644 --- a/src/d3d9/d3d9_device.cpp +++ b/src/d3d9/d3d9_device.cpp @@ -5246,7 +5246,7 @@ namespace dxvk { auto* vbo = GetCommonBuffer(m_state.vertexBuffers[i].vertexBuffer); const uint32_t vertexStride = m_state.vertexDecl->GetSize(i); - uint32_t offset = (BaseVertexIndex + FirstVertexIndex) * vertexStride; + uint32_t offset = (BaseVertexIndex + FirstVertexIndex) * vertexStride + m_state.vertexBuffers[i].offset; uint8_t* data = reinterpret_cast(upSlice.mapPtr) + vboUPBufferOffsets[i]; uint8_t* src = reinterpret_cast(vbo->GetMappedSlice().mapPtr) + offset;