void mali_core_scaling_update(struct mali_gpu_utilization_data *data)
{
	/*
	 * This function implements a very trivial PP core scaling algorithm.
	 *
	 * It is _NOT_ of production quality.
	 * The only intention behind this algorithm is to exercise and test the
	 * core scaling functionality of the driver.
	 * It is _NOT_ tuned for neither power saving nor performance!
	 *
	 * Other metrics than PP utilization need to be considered as well
	 * in order to make a good core scaling algorithm.
	 */

	MALI_DEBUG_PRINT(3, ("Utilization: (%3d, %3d, %3d), cores enabled: %d/%d\n", data->utilization_gpu, data->utilization_gp, data->utilization_pp, num_cores_enabled, num_cores_total));

	/* NOTE: this function is normally called directly from the utilization callback which is in
	 * timer context. */

	if (PERCENT_OF(90, 256) < data->utilization_pp) {
		enable_max_num_cores();
	} else if (PERCENT_OF(50, 256) < data->utilization_pp) {
		enable_one_core();
	} else if (PERCENT_OF(40, 256) < data->utilization_pp) {
		/* do nothing */
	} else if (PERCENT_OF(0, 256) < data->utilization_pp) {
		disable_one_core();
	} else {
		/* do nothing */
	}
}
예제 #2
0
bool InitializeMainMenu()
{
   // Create gui screens.
   if(!g_Render->CreateGUI(g_mainGui)) return false;
   if(!g_Render->CreateGUI(g_startGui)) return false;
   if(!g_Render->CreateGUI(g_creditsGui)) return false;

   // Load backdrops.
   if(!g_Render->AddGUIBackdrop(g_mainGui, "menu/mainMenu.jpg"))
      return false;
   if(!g_Render->AddGUIBackdrop(g_startGui, "menu/startMenu.jpg"))
      return false;
   if(!g_Render->AddGUIBackdrop(g_creditsGui,
      "menu/creditsMenu.jpg")) return false;

   // Set main screen elements.
   if(!g_Render->AddGUIStaticText(g_mainGui, STATIC_TEXT_ID,
      "Version: 1.0", PERCENT_OF(WIN_WIDTH, 0.85),
      PERCENT_OF(WIN_WIDTH, 0.05),
      UGPCOLOR_ARGB(255,255,255,255), g_arialID)) return false;

   if(!g_Render->AddGUIButton(g_mainGui, BUTTON_START_ID,
      PERCENT_OF(WIN_WIDTH, 0.05), PERCENT_OF(WIN_HEIGHT, 0.40),
      "menu/startUp.png", "menu/StartOver.png",
      "menu/startDown.png")) return false;

   if(!g_Render->AddGUIButton(g_mainGui, BUTTON_CREDITS_ID,
      PERCENT_OF(WIN_WIDTH, 0.05), PERCENT_OF(WIN_HEIGHT, 0.50),
      "menu/creditsUp.png", "menu/creditsOver.png",
      "menu/creditsDown.png")) return false;

   if(!g_Render->AddGUIButton(g_mainGui, BUTTON_QUIT_ID,
      PERCENT_OF(WIN_WIDTH, 0.05), PERCENT_OF(WIN_HEIGHT, 0.60),
      "menu/quitUp.png", "menu/quitOver.png",
      "menu/quitDown.png")) return false;


   // Set start screen elements.
   if(!g_Render->AddGUIButton(g_startGui, BUTTON_LEVEL_1_ID,
      PERCENT_OF(WIN_WIDTH, 0.1), PERCENT_OF(WIN_HEIGHT, 0.15),
      "menu/level1Up.png", "menu/level1Over.png",
      "menu/level1Down.png")) return false;

   if(!g_Render->AddGUIButton(g_startGui, BUTTON_BACK_ID,
	   PERCENT_OF(WIN_WIDTH, 0.1), PERCENT_OF(WIN_HEIGHT, 0.80),
	   "menu/backUp.png", "menu/backOver.png",
	   "menu/backDown.png")) return false;
   //if(!g_Render->AddGUIButton(g_startGui, BUTTON_BACK_ID,
   // PERCENT_OF(WIN_WIDTH, 0.0), PERCENT_OF(WIN_HEIGHT, 0.0),
   // "menu/backUp.png", "menu/backOver.png",
   // "menu/backDown.png")) return false;

   // Set credits screen elements.
   if(!g_Render->AddGUIStaticText(g_creditsGui, STATIC_TEXT_ID,
      "Game Design -",
      PERCENT_OF(WIN_WIDTH, 0.1), PERCENT_OF(WIN_HEIGHT, 0.15),
      UGPCOLOR_ARGB(255,255,255,255),
      g_arialID)) return false;

   if(!g_Render->AddGUIStaticText(g_creditsGui, STATIC_TEXT_ID,
      "              Allen Sherrod",
      PERCENT_OF(WIN_WIDTH, 0.1), PERCENT_OF(WIN_HEIGHT, 0.20),
      UGPCOLOR_ARGB(255,255,255,255),
      g_arialID)) return false;

   if(!g_Render->AddGUIStaticText(g_creditsGui, STATIC_TEXT_ID,
      "Programming -",
      PERCENT_OF(WIN_WIDTH, 0.1), PERCENT_OF(WIN_HEIGHT, 0.25),
      UGPCOLOR_ARGB(255,255,255,255),
      g_arialID)) return false;

   if(!g_Render->AddGUIStaticText(g_creditsGui, STATIC_TEXT_ID,
      "              Allen Sherrod",
      PERCENT_OF(WIN_WIDTH, 0.1), PERCENT_OF(WIN_HEIGHT, 0.30),
      UGPCOLOR_ARGB(255,255,255,255),
      g_arialID)) return false;

   if(!g_Render->AddGUIStaticText(g_creditsGui, STATIC_TEXT_ID,
      "Sound -",
      PERCENT_OF(WIN_WIDTH, 0.1), PERCENT_OF(WIN_HEIGHT, 0.35),
      UGPCOLOR_ARGB(255,255,255,255),
      g_arialID)) return false;

   if(!g_Render->AddGUIStaticText(g_creditsGui, STATIC_TEXT_ID,
      "              Allen Sherrod",
      PERCENT_OF(WIN_WIDTH, 0.1), PERCENT_OF(WIN_HEIGHT, 0.40),
      UGPCOLOR_ARGB(255,255,255,255),
      g_arialID)) return false;

   if(!g_Render->AddGUIStaticText(g_creditsGui, STATIC_TEXT_ID,
      "Level Design -",
      PERCENT_OF(WIN_WIDTH, 0.1), PERCENT_OF(WIN_HEIGHT, 0.45),
      UGPCOLOR_ARGB(255,255,255,255),
      g_arialID)) return false;

   if(!g_Render->AddGUIStaticText(g_creditsGui, STATIC_TEXT_ID,
      "              Allen Sherrod",
      PERCENT_OF(WIN_WIDTH, 0.1), PERCENT_OF(WIN_HEIGHT, 0.50),
      UGPCOLOR_ARGB(255,255,255,255),
      g_arialID)) return false;

   if(!g_Render->AddGUIStaticText(g_creditsGui, STATIC_TEXT_ID,
      "Speical Thanks -",
      PERCENT_OF(WIN_WIDTH, 0.1), PERCENT_OF(WIN_HEIGHT, 0.55),
      UGPCOLOR_ARGB(255,255,255,255),
      g_arialID)) return false;

   if(!g_Render->AddGUIStaticText(g_creditsGui, STATIC_TEXT_ID,
      "              Jenifer Niles",
      PERCENT_OF(WIN_WIDTH, 0.1), PERCENT_OF(WIN_HEIGHT, 0.60),
      UGPCOLOR_ARGB(255,255,255,255),
      g_arialID)) return false;

   if(!g_Render->AddGUIStaticText(g_creditsGui, STATIC_TEXT_ID,
      "              Bryan Davidson",
      PERCENT_OF(WIN_WIDTH, 0.1), PERCENT_OF(WIN_HEIGHT, 0.65),
      UGPCOLOR_ARGB(255,255,255,255),
      g_arialID)) return false;

   if(!g_Render->AddGUIStaticText(g_creditsGui, STATIC_TEXT_ID,
      "              Charles River Media",
      PERCENT_OF(WIN_WIDTH, 0.1), PERCENT_OF(WIN_HEIGHT, 0.70),
      UGPCOLOR_ARGB(255,255,255,255),
      g_arialID)) return false;

   if(!g_Render->AddGUIStaticText(g_creditsGui, STATIC_TEXT_ID,
      "              Readers of this book",
      PERCENT_OF(WIN_WIDTH, 0.1), PERCENT_OF(WIN_HEIGHT, 0.75),
      UGPCOLOR_ARGB(255,255,255,255),
      g_arialID)) return false;

   if(!g_Render->AddGUIButton(g_creditsGui, BUTTON_BACK_ID,
      PERCENT_OF(WIN_WIDTH, 0.1), PERCENT_OF(WIN_HEIGHT, 0.80),
      "menu/backUp.png", "menu/backOver.png",
      "menu/backDown.png")) return false;

   return true;
}