d3d: don't attempt to create 0 sized vertex buffers
This commit is contained in:
parent
4b735c58cc
commit
d961d4e7e7
|
@ -382,6 +382,14 @@ void CxbxVertexBufferConverter::ConvertStream
|
||||||
pNewHostVertexBuffer = nullptr;
|
pNewHostVertexBuffer = nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If dwHostVertexDataSize is zero, the allocation/creation will fail
|
||||||
|
// This can be caused by a stride of 0, and 'other' invalid configurations
|
||||||
|
// Test Case :SSX series of games
|
||||||
|
if (dwHostVertexDataSize == 0) {
|
||||||
|
LOG_TEST_CASE("Attempted to use a 0 sized vertex stream");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Allocate new buffers
|
// Allocate new buffers
|
||||||
if (pDrawContext->pXboxVertexStreamZeroData != xbnullptr) {
|
if (pDrawContext->pXboxVertexStreamZeroData != xbnullptr) {
|
||||||
|
@ -390,7 +398,7 @@ void CxbxVertexBufferConverter::ConvertStream
|
||||||
if (pHostVertexData == nullptr) {
|
if (pHostVertexData == nullptr) {
|
||||||
CxbxKrnlCleanup("Couldn't allocate the new stream zero buffer");
|
CxbxKrnlCleanup("Couldn't allocate the new stream zero buffer");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
HRESULT hRet = g_pD3DDevice->CreateVertexBuffer(
|
HRESULT hRet = g_pD3DDevice->CreateVertexBuffer(
|
||||||
dwHostVertexDataSize,
|
dwHostVertexDataSize,
|
||||||
D3DUSAGE_WRITEONLY | D3DUSAGE_DYNAMIC,
|
D3DUSAGE_WRITEONLY | D3DUSAGE_DYNAMIC,
|
||||||
|
|
Loading…
Reference in New Issue