zzogl: Replace a function by a macro. fix gcc-4.6 issue.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@4602 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
gregory.hainaut@gmail.com 2011-04-27 17:49:34 +00:00
parent 1cbc1ec7c1
commit db2f16b985
2 changed files with 14 additions and 6 deletions

View File

@ -41,13 +41,14 @@ void Prim()
curvb.SetCurrentPrim(); curvb.SetCurrentPrim();
} }
// Replaced by a macro -> see ZZoglDrawing.h
// return true if triangle SHOULD be painted. // return true if triangle SHOULD be painted.
// Hackish and should be replaced. // Hackish and should be replaced.
bool __forceinline NoHighlights(int i) // bool __forceinline NoHighlights(int i)
{ // {
//Old code // //Old code
return (!(conf.settings().xenosaga_spec) || !vb[i].zbuf.zmsk || prim->iip) ; // return (!(conf.settings().xenosaga_spec) || !vb[i].zbuf.zmsk || prim->iip) ;
} // }
// Not inlining for the moment to avoid getting 'unresolved external symbol' errors in Windows. // Not inlining for the moment to avoid getting 'unresolved external symbol' errors in Windows.
// This could also be resolved by moving the function into the header... // This could also be resolved by moving the function into the header...

View File

@ -23,7 +23,14 @@
#include "Util.h" #include "Util.h"
#include "GS.h" #include "GS.h"
extern bool __forceinline NoHighlights(int i); // extern bool __forceinline NoHighlights(int i);
// return true if triangle SHOULD be painted.
// Hackish and should be replaced.
// Previous version was an inlined function but gcc-4.6 does not want to inline it.
// Because the code is in the middle of vertex which are very often call,
// a basic macro is more effective -- Gregory
#define NoHighlights(I) (!(conf.settings().xenosaga_spec) || !vb[(I)].zbuf.zmsk || prim->iip)
enum PRIM_TYPE { enum PRIM_TYPE {
PRIM_POINT = 0, PRIM_POINT = 0,