diff options
author | Joshua Ashton <joshua@froggi.es> | 2021-05-01 12:00:53 +0300 |
---|---|---|
committer | Joshua Ashton <joshua@froggi.es> | 2021-05-01 12:14:38 +0300 |
commit | f9beaa300e97db8f98a58694312ec64354e2b4f8 (patch) | |
tree | 645e580df82aab2715e19a208c51e5a515ead727 | |
parent | e4d3fe48151d95423f3d7838c65369cd4049873d (diff) |
[d3d9] Handle zero-sized drawsup-vertex-size
These return S_OK, because ofc they do.
-rw-r--r-- | src/d3d9/d3d9_device.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/d3d9/d3d9_device.cpp b/src/d3d9/d3d9_device.cpp index f7723723..242e6f3f 100644 --- a/src/d3d9/d3d9_device.cpp +++ b/src/d3d9/d3d9_device.cpp @@ -2333,6 +2333,9 @@ namespace dxvk { D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount) { + if (unlikely(!PrimitiveCount)) + return S_OK; + D3D9DeviceLock lock = LockDevice(); PrepareDraw(PrimitiveType); @@ -2363,6 +2366,9 @@ namespace dxvk { UINT NumVertices, UINT StartIndex, UINT PrimitiveCount) { + if (unlikely(!PrimitiveCount)) + return S_OK; + D3D9DeviceLock lock = LockDevice(); PrepareDraw(PrimitiveType); @@ -2393,6 +2399,9 @@ namespace dxvk { UINT PrimitiveCount, const void* pVertexStreamZeroData, UINT VertexStreamZeroStride) { + if (unlikely(!PrimitiveCount)) + return S_OK; + D3D9DeviceLock lock = LockDevice(); PrepareDraw(PrimitiveType); @@ -2440,6 +2449,9 @@ namespace dxvk { D3DFORMAT IndexDataFormat, const void* pVertexStreamZeroData, UINT VertexStreamZeroStride) { + if (unlikely(!PrimitiveCount)) + return S_OK; + D3D9DeviceLock lock = LockDevice(); PrepareDraw(PrimitiveType); |