BGE: unfortunately VA+list still doesn't work on ATI card, so put a specific check for ATI.
This commit is contained in:
@@ -104,9 +104,11 @@ bool RAS_ListSlot::End()
|
||||
|
||||
RAS_ListRasterizer::RAS_ListRasterizer(RAS_ICanvas* canvas, bool useVertexArrays, bool lock)
|
||||
: RAS_VAOpenGLRasterizer(canvas, lock),
|
||||
mUseVertexArrays(useVertexArrays)
|
||||
mUseVertexArrays(useVertexArrays),
|
||||
mATI(false)
|
||||
{
|
||||
// --
|
||||
if (!strcmp((const char*)glGetString(GL_VENDOR), "ATI Technologies Inc."))
|
||||
mATI = true;
|
||||
}
|
||||
|
||||
RAS_ListRasterizer::~RAS_ListRasterizer()
|
||||
@@ -214,7 +216,7 @@ void RAS_ListRasterizer::IndexPrimitivesMulti(RAS_MeshSlot& ms)
|
||||
// workaround: note how we do not use vertex arrays for making display
|
||||
// lists, since glVertexAttribPointerARB doesn't seem to work correct
|
||||
// in display lists on ATI? either a bug in the driver or in Blender ..
|
||||
if (mUseVertexArrays && /*!localSlot &&*/ !ms.m_pDerivedMesh)
|
||||
if (mUseVertexArrays && !mATI && !ms.m_pDerivedMesh)
|
||||
RAS_VAOpenGLRasterizer::IndexPrimitivesMulti(ms);
|
||||
else
|
||||
RAS_OpenGLRasterizer::IndexPrimitivesMulti(ms);
|
||||
|
Reference in New Issue
Block a user