diff --git a/src/d3d11/d3d11_context.cpp b/src/d3d11/d3d11_context.cpp index 044ab4b7..412f5e81 100644 --- a/src/d3d11/d3d11_context.cpp +++ b/src/d3d11/d3d11_context.cpp @@ -3124,13 +3124,21 @@ namespace dxvk { D3D11Buffer* pBuffer, UINT Offset, UINT Stride) { - EmitCs([ - cSlotId = Slot, - cBufferSlice = pBuffer != nullptr ? pBuffer->GetBufferSlice(Offset) : DxvkBufferSlice(), - cStride = Stride - ] (DxvkContext* ctx) { - ctx->bindVertexBuffer(cSlotId, cBufferSlice, cStride); - }); + if (likely(pBuffer != nullptr)) { + EmitCs([ + cSlotId = Slot, + cBufferSlice = pBuffer->GetBufferSlice(Offset), + cStride = Stride + ] (DxvkContext* ctx) { + ctx->bindVertexBuffer(cSlotId, cBufferSlice, cStride); + }); + } else { + EmitCs([ + cSlotId = Slot + ] (DxvkContext* ctx) { + ctx->bindVertexBuffer(cSlotId, DxvkBufferSlice(), 0); + }); + } }