1/*
2 * Copyright 1999, Be Incorporated.
3 * Copyright 2007, Haiku.
4 * Distributed under the terms of the MIT License.
5 *
6 * Authors:
7 *		Be Incorporated
8 *		Eric Petit <eric.petit@lapsus.org>
9 */
10
11#include "GlobalData.h"
12
13static engine_token vmwareEngineToken = {1, B_2D_ACCELERATION, NULL};
14
15uint32
16ACCELERANT_ENGINE_COUNT()
17{
18	return 1;
19}
20
21
22status_t
23ACQUIRE_ENGINE(uint32 capabilities, uint32 max_wait, sync_token * st,
24	engine_token ** et)
25{
26	ACQUIRE_BEN(gSi->engineLock);
27	if (st)
28		SYNC_TO_TOKEN(st);
29	*et = &vmwareEngineToken;
30	return B_OK;
31}
32
33
34status_t
35RELEASE_ENGINE(engine_token * et, sync_token * st)
36{
37	if (st)
38		GET_SYNC_TOKEN(et, st);
39	RELEASE_BEN(gSi->engineLock);
40	return B_OK;
41}
42
43
44void
45WAIT_ENGINE_IDLE()
46{
47	FifoSync();
48}
49
50
51status_t
52GET_SYNC_TOKEN(engine_token * et, sync_token * st)
53{
54	st->engine_id = et->engine_id;
55	st->counter = 0;
56	return B_OK;
57}
58
59
60status_t
61SYNC_TO_TOKEN(sync_token * st)
62{
63	WAIT_ENGINE_IDLE();
64	return B_OK;
65}
66
67