From 5548493fad9a47998d460093a419def05e1404fd Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Fri, 28 Feb 2020 21:40:19 +0000 Subject: [PATCH] [d3d9] Don't update device state for offset/stride if the buffer is nullptr May also avoid some redundant rebinds here too... Fixes a Wine test --- src/d3d9/d3d9_device.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/d3d9/d3d9_device.cpp b/src/d3d9/d3d9_device.cpp index ecce32f0..5a69632b 100644 --- a/src/d3d9/d3d9_device.cpp +++ b/src/d3d9/d3d9_device.cpp @@ -2815,11 +2815,13 @@ namespace dxvk { if (needsUpdate) vbo.vertexBuffer = buffer; - needsUpdate |= vbo.offset != OffsetInBytes - || vbo.stride != Stride; + if (buffer != nullptr) { + needsUpdate |= vbo.offset != OffsetInBytes + || vbo.stride != Stride; - vbo.offset = OffsetInBytes; - vbo.stride = Stride; + vbo.offset = OffsetInBytes; + vbo.stride = Stride; + } if (needsUpdate) BindVertexBuffer(StreamNumber, buffer, OffsetInBytes, Stride);