1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-02-20 19:54:19 +01:00

[d3d8] Skip stride updates for null buffers in SetStreamSource

This commit is contained in:
WinterSnowfall 2024-10-04 22:03:55 +03:00 committed by Philip Rebohle
parent 088cf45439
commit 8c54969552
2 changed files with 7 additions and 2 deletions

View File

@ -1402,7 +1402,10 @@ namespace dxvk {
if (ShouldBatch())
m_batcher->SetStream(StreamNumber, buffer, Stride);
m_streams[StreamNumber] = D3D8VBO {buffer, Stride};
m_streams[StreamNumber].buffer = buffer;
// The previous stride is preserved if pStreamData is NULL
if (likely(buffer != nullptr))
m_streams[StreamNumber].stride = Stride;
}
return res;

View File

@ -103,7 +103,9 @@ namespace dxvk {
inline HRESULT SetStreamSource(UINT StreamNumber, IDirect3DVertexBuffer8* pStreamData, UINT Stride) {
m_streams[StreamNumber].buffer = pStreamData;
m_streams[StreamNumber].stride = Stride;
// The previous stride is preserved if pStreamData is NULL
if (likely(pStreamData != nullptr))
m_streams[StreamNumber].stride = Stride;
m_capture.streams.set(StreamNumber, true);
return D3D_OK;
}