1169695Skan/* 2169695Skan * Copyright 1999, Be Incorporated. 3169695Skan * Copyright 2007, Haiku. 4169695Skan * Distributed under the terms of the MIT License. 5169695Skan * 6169695Skan * Authors: 7169695Skan * Be Incorporated 8169695Skan * Eric Petit <eric.petit@lapsus.org> 9169695Skan */ 10169695Skan 11169695Skan#include "GlobalData.h" 12169695Skan 13169695Skanstatic engine_token vmwareEngineToken = {1, B_2D_ACCELERATION, NULL}; 14169695Skan 15169695Skanuint32 16169695SkanACCELERANT_ENGINE_COUNT() 17169695Skan{ 18169695Skan return 1; 19169695Skan} 20169695Skan 21169695Skan 22169695Skanstatus_t 23169695SkanACQUIRE_ENGINE(uint32 capabilities, uint32 max_wait, sync_token * st, 24169695Skan engine_token ** et) 25169695Skan{ 26169695Skan ACQUIRE_BEN(gSi->engineLock); 27169695Skan if (st) 28169695Skan SYNC_TO_TOKEN(st); 29169695Skan *et = &vmwareEngineToken; 30169695Skan return B_OK; 31169695Skan} 32169695Skan 33169695Skan 34169695Skanstatus_t 35169695SkanRELEASE_ENGINE(engine_token * et, sync_token * st) 36169695Skan{ 37169695Skan if (st) 38169695Skan GET_SYNC_TOKEN(et, st); 39169695Skan RELEASE_BEN(gSi->engineLock); 40169695Skan return B_OK; 41169695Skan} 42169695Skan 43169695Skan 44169695Skanvoid 45169695SkanWAIT_ENGINE_IDLE() 46169695Skan{ 47169695Skan FifoSync(); 48169695Skan} 49169695Skan 50169695Skan 51169695Skanstatus_t 52169695SkanGET_SYNC_TOKEN(engine_token * et, sync_token * st) 53169695Skan{ 54169695Skan st->engine_id = et->engine_id; 55169695Skan st->counter = 0; 56169695Skan return B_OK; 57169695Skan} 58169695Skan 59169695Skan 60169695Skanstatus_t 61169695SkanSYNC_TO_TOKEN(sync_token * st) 62169695Skan{ 63169695Skan WAIT_ENGINE_IDLE(); 64169695Skan return B_OK; 65169695Skan} 66169695Skan 67169695Skan