Преглед на файлове

rebind instance data buffer if index offset changes

Fix case of drawing different offsets of indices of same vertex buffer
using same instance data.

This can happen in the case of conditionally drawing subsets of vertex
buffer stored in different offsets of the same index buffer while re-using
non-transient instance buffers.
Sandy Carter преди 6 години
родител
ревизия
5924652151
променени са 1 файла, в които са добавени 5 реда и са изтрити 0 реда
  1. 5 0
      src/renderer_gl.cpp

+ 5 - 0
src/renderer_gl.cpp

@@ -7258,6 +7258,11 @@ namespace bgfx { namespace gl
 							diffIndexBuffer = true;
 							diffIndexBuffer = true;
 						}
 						}
 
 
+						if (currentState.m_startIndex != draw.m_startIndex)
+						{
+							diffIndexBuffer = true;
+						}
+
 						if (0 != currentState.m_streamMask)
 						if (0 != currentState.m_streamMask)
 						{
 						{
 							bool diffStartVertex = false;
 							bool diffStartVertex = false;