[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20098] trunk/blender/source/gameengine/ Rasterizer/RAS_OpenGLRasterizer: BGE: unfortunately VA+list still doesn' t work on ATI card, so put a specific check for ATI.

Benoit Bolsee benoit.bolsee at online.be
Thu May 7 21:36:12 CEST 2009


Revision: 20098
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20098
Author:   ben2610
Date:     2009-05-07 21:36:12 +0200 (Thu, 07 May 2009)

Log Message:
-----------
BGE: unfortunately VA+list still doesn't work on ATI card, so put a specific check for ATI.

Modified Paths:
--------------
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp
    trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h

Modified: trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp
===================================================================
--- trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp	2009-05-07 16:37:29 UTC (rev 20097)
+++ trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.cpp	2009-05-07 19:36:12 UTC (rev 20098)
@@ -104,9 +104,11 @@
 
 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 @@
 	// 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);

Modified: trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h
===================================================================
--- trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h	2009-05-07 16:37:29 UTC (rev 20097)
+++ trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_ListRasterizer.h	2009-05-07 19:36:12 UTC (rev 20098)
@@ -42,6 +42,7 @@
 class RAS_ListRasterizer : public RAS_VAOpenGLRasterizer
 {
 	bool mUseVertexArrays;
+	bool mATI;
 	RAS_ArrayLists mArrayLists;
 
 	RAS_ListSlot* FindOrAdd(class RAS_MeshSlot& ms);





More information about the Bf-blender-cvs mailing list