Fixed VBOs never being used even if available

master
krzys-h 2016-03-24 18:45:51 +01:00
parent a84b5c28b7
commit b84e24d662
2 changed files with 8 additions and 10 deletions

View File

@ -1519,7 +1519,7 @@ void CGLDevice::DrawPrimitives(PrimitiveType type, const VertexCol *vertices,
unsigned int CGLDevice::CreateStaticBuffer(PrimitiveType primitiveType, const Vertex* vertices, int vertexCount) unsigned int CGLDevice::CreateStaticBuffer(PrimitiveType primitiveType, const Vertex* vertices, int vertexCount)
{ {
unsigned int id = 0; unsigned int id = 0;
if (m_vboAvailable) if (m_vertexBufferType != VBT_DISPLAY_LIST)
{ {
id = ++m_lastVboId; id = ++m_lastVboId;
@ -1563,7 +1563,7 @@ unsigned int CGLDevice::CreateStaticBuffer(PrimitiveType primitiveType, const Ve
unsigned int CGLDevice::CreateStaticBuffer(PrimitiveType primitiveType, const VertexTex2* vertices, int vertexCount) unsigned int CGLDevice::CreateStaticBuffer(PrimitiveType primitiveType, const VertexTex2* vertices, int vertexCount)
{ {
unsigned int id = 0; unsigned int id = 0;
if (m_vboAvailable) if (m_vertexBufferType != VBT_DISPLAY_LIST)
{ {
id = ++m_lastVboId; id = ++m_lastVboId;
@ -1607,7 +1607,7 @@ unsigned int CGLDevice::CreateStaticBuffer(PrimitiveType primitiveType, const Ve
unsigned int CGLDevice::CreateStaticBuffer(PrimitiveType primitiveType, const VertexCol* vertices, int vertexCount) unsigned int CGLDevice::CreateStaticBuffer(PrimitiveType primitiveType, const VertexCol* vertices, int vertexCount)
{ {
unsigned int id = 0; unsigned int id = 0;
if (m_vboAvailable) if (m_vertexBufferType != VBT_DISPLAY_LIST)
{ {
id = ++m_lastVboId; id = ++m_lastVboId;
@ -1650,7 +1650,7 @@ unsigned int CGLDevice::CreateStaticBuffer(PrimitiveType primitiveType, const Ve
void CGLDevice::UpdateStaticBuffer(unsigned int bufferId, PrimitiveType primitiveType, const Vertex* vertices, int vertexCount) void CGLDevice::UpdateStaticBuffer(unsigned int bufferId, PrimitiveType primitiveType, const Vertex* vertices, int vertexCount)
{ {
if (m_vboAvailable) if (m_vertexBufferType != VBT_DISPLAY_LIST)
{ {
auto it = m_vboObjects.find(bufferId); auto it = m_vboObjects.find(bufferId);
if (it == m_vboObjects.end()) if (it == m_vboObjects.end())
@ -1686,7 +1686,7 @@ void CGLDevice::UpdateStaticBuffer(unsigned int bufferId, PrimitiveType primitiv
void CGLDevice::UpdateStaticBuffer(unsigned int bufferId, PrimitiveType primitiveType, const VertexTex2* vertices, int vertexCount) void CGLDevice::UpdateStaticBuffer(unsigned int bufferId, PrimitiveType primitiveType, const VertexTex2* vertices, int vertexCount)
{ {
if (m_vboAvailable) if (m_vertexBufferType != VBT_DISPLAY_LIST)
{ {
auto it = m_vboObjects.find(bufferId); auto it = m_vboObjects.find(bufferId);
if (it == m_vboObjects.end()) if (it == m_vboObjects.end())
@ -1722,7 +1722,7 @@ void CGLDevice::UpdateStaticBuffer(unsigned int bufferId, PrimitiveType primitiv
void CGLDevice::UpdateStaticBuffer(unsigned int bufferId, PrimitiveType primitiveType, const VertexCol* vertices, int vertexCount) void CGLDevice::UpdateStaticBuffer(unsigned int bufferId, PrimitiveType primitiveType, const VertexCol* vertices, int vertexCount)
{ {
if (m_vboAvailable) if (m_vertexBufferType != VBT_DISPLAY_LIST)
{ {
auto it = m_vboObjects.find(bufferId); auto it = m_vboObjects.find(bufferId);
if (it == m_vboObjects.end()) if (it == m_vboObjects.end())
@ -1758,7 +1758,7 @@ void CGLDevice::UpdateStaticBuffer(unsigned int bufferId, PrimitiveType primitiv
void CGLDevice::DrawStaticBuffer(unsigned int bufferId) void CGLDevice::DrawStaticBuffer(unsigned int bufferId)
{ {
if (m_vboAvailable) if (m_vertexBufferType != VBT_DISPLAY_LIST)
{ {
auto it = m_vboObjects.find(bufferId); auto it = m_vboObjects.find(bufferId);
if (it == m_vboObjects.end()) if (it == m_vboObjects.end())
@ -1847,7 +1847,7 @@ void CGLDevice::DrawStaticBuffer(unsigned int bufferId)
void CGLDevice::DestroyStaticBuffer(unsigned int bufferId) void CGLDevice::DestroyStaticBuffer(unsigned int bufferId)
{ {
if (m_vboAvailable) if (m_vertexBufferType != VBT_DISPLAY_LIST)
{ {
auto it = m_vboObjects.find(bufferId); auto it = m_vboObjects.find(bufferId);
if (it == m_vboObjects.end()) if (it == m_vboObjects.end())

View File

@ -276,8 +276,6 @@ private:
//! Detected capabilities //! Detected capabilities
//! Depth texture support //! Depth texture support
ShadowMappingSupport m_shadowMappingSupport = SMS_NONE; ShadowMappingSupport m_shadowMappingSupport = SMS_NONE;
//! Whether to use VBOs or display lists
bool m_vboAvailable = false;
//! glMultiDrawArrays() available //! glMultiDrawArrays() available
bool m_multiDrawArrays = false; bool m_multiDrawArrays = false;
//! Framebuffer support //! Framebuffer support