|
|
@@ -4528,6 +4528,15 @@ BX_TRACE("%d, %d, %d, %s", _array, _srgb, _mipAutogen, getName(_format) );
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ void ProgramGL::unbindInstanceData() const
|
|
|
+ {
|
|
|
+ for(uint32_t ii = 0; 0xffff != m_instanceData[ii]; ++ii)
|
|
|
+ {
|
|
|
+ GLint loc = m_instanceData[ii];
|
|
|
+ GL_CHECK(glDisableVertexAttribArray(loc));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
void IndexBufferGL::destroy()
|
|
|
{
|
|
|
GL_CHECK(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0) );
|
|
|
@@ -7311,6 +7320,11 @@ BX_TRACE("%d, %d, %d, %s", _array, _srgb, _mipAutogen, getName(_format) );
|
|
|
m_occlusionQuery.end();
|
|
|
}
|
|
|
|
|
|
+ if(isValid(draw.m_instanceDataBuffer))
|
|
|
+ {
|
|
|
+ program.unbindInstanceData();
|
|
|
+ }
|
|
|
+
|
|
|
statsNumPrimsSubmitted[primIndex] += numPrimsSubmitted;
|
|
|
statsNumPrimsRendered[primIndex] += numPrimsRendered;
|
|
|
statsNumInstances[primIndex] += numInstances;
|