1/* 2 * Copyright 2006-2011, Haiku, Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Axel D��rfler, axeld@pinc-software.de 7 * Alexander von Gluck IV, kallisti5@unixzen.com 8 */ 9 10 11#include <Debug.h> 12 13#include "accelerant.h" 14#include "accelerant_protos.h" 15 16 17#undef TRACE 18 19#define TRACE_ENGINE 20#ifdef TRACE_ENGINE 21# define TRACE(x...) _sPrintf("radeon_hd: " x) 22#else 23# define TRACE(x...) ; 24#endif 25 26 27static engine_token sEngineToken = {1, 0 /*B_2D_ACCELERATION*/, NULL}; 28 29 30// #pragma mark - engine management 31 32 33uint32 34radeon_accelerant_engine_count(void) 35{ 36 TRACE("%s\n", __func__); 37 return 1; 38} 39 40 41status_t 42radeon_acquire_engine(uint32 capabilities, uint32 maxWait, 43 sync_token* syncToken, engine_token** _engineToken) 44{ 45 TRACE("%s\n", __func__); 46 *_engineToken = &sEngineToken; 47 48 if (acquire_lock(&gInfo->shared_info->engine_lock) != B_OK) 49 return B_ERROR; 50 51 return B_OK; 52} 53 54 55status_t 56radeon_release_engine(engine_token* engineToken, sync_token* syncToken) 57{ 58 TRACE("%s\n", __func__); 59 if (syncToken != NULL) 60 syncToken->engine_id = engineToken->engine_id; 61 62 release_lock(&gInfo->shared_info->engine_lock); 63 return B_OK; 64} 65