Merge pull request #1960 from phire/zfreeze-buffer-underrun

Fix a buffer underrun in CalculateZSlope.
This commit is contained in:
Pierre Bourdon 2015-01-25 18:18:49 +01:00
commit a93433a860
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.