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