Fix a buffer underrun in CalculateZSlope.

This commit is contained in:
Scott Mansell 2015-01-25 20:31:20 +13:00
parent bf0293231f
commit 61215e7180
1 changed files with 4 additions and 0 deletions

View File

@ -287,6 +287,10 @@ void VertexManager::CalculateZSlope(NativeVertexFormat* format)
size_t posOff = vert_decl.position.offset;
size_t mtxOff = vert_decl.posmtx.offset;
// Make sure the buffer contains at lest 3 vertices.
if ((s_pCurBufferPointer - s_pBaseBufferPointer) < (vert_decl.stride * 3))
return;
// Lookup vertices of the last rendered triangle and software-transform them
// This allows us to determine the depth slope, which will be used if z--freeze
// is enabled in the following flush.