/* -----------------------------------------------------------------------------
	GSFramework
	Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
------------------------------------------------------------------------------*/


#ifndef	__GPUPERFTOOLS__
#define	__GPUPERFTOOLS__


		#include "ntypes.h"


namespace GS {
	namespace GPU {

struct	PerformanceTools
{
		NPLACEMENT_NEW(Renderer)

		bool			show_wireframe;
		bool			disable_fog;

		PerformanceTools()
		{
			show_wireframe = false;
			disable_fog = false;
		}
};

struct	RendererStatistics
{
		NPLACEMENT_NEW(Renderer)

		uint			terrain_page_query_count,
						terrain_page_query_miss;

		uint			prg_change,
						dls_change,
						mat_change,
						item_change;

		void			Reset()
		{
			terrain_page_query_count = 0;
			terrain_page_query_miss = 0;

			prg_change = 0;
			dls_change = 0;
			mat_change = 0;
			item_change = 0;
		}
		RendererStatistics()
		{	Reset();	}
};

	} // GPU
} // GS


#endif	// __GPUPERFTOOLS__
