Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/doitsujin/dxvk.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Ashton <joshua@froggi.es>2021-05-01 12:00:53 +0300
committerJoshua Ashton <joshua@froggi.es>2021-05-01 12:14:38 +0300
commitf9beaa300e97db8f98a58694312ec64354e2b4f8 (patch)
tree645e580df82aab2715e19a208c51e5a515ead727
parente4d3fe48151d95423f3d7838c65369cd4049873d (diff)
[d3d9] Handle zero-sized drawsup-vertex-size
These return S_OK, because ofc they do.
-rw-r--r--src/d3d9/d3d9_device.cpp12
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);