xref: /haiku/src/add-ons/accelerants/radeon_hd/hooks.cpp (revision 560ff4478d5c85455ea3e5ed5e392ef93132d545)
1 /*
2  * Copyright 2006-2009, 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  */
8 
9 
10 #include "accelerant_protos.h"
11 #include "accelerant.h"
12 
13 
14 extern "C" void *
15 get_accelerant_hook(uint32 feature, void *data)
16 {
17 	switch (feature) {
18 		/* general */
19 		case B_INIT_ACCELERANT:
20 			return (void*)radeon_init_accelerant;
21 		case B_UNINIT_ACCELERANT:
22 			return (void*)radeon_uninit_accelerant;
23 		/*case B_CLONE_ACCELERANT:
24 			return (void*)radeon_clone_accelerant;
25 		case B_ACCELERANT_CLONE_INFO_SIZE:
26 			return (void*)radeon_accelerant_clone_info_size;
27 		case B_GET_ACCELERANT_CLONE_INFO:
28 			return (void*)radeon_get_accelerant_clone_info;
29 		case B_GET_ACCELERANT_DEVICE_INFO:
30 			return (void*)radeon_get_accelerant_device_info;
31 		case B_ACCELERANT_RETRACE_SEMAPHORE:
32 			return (void*)radeon_accelerant_retrace_semaphore;
33 */
34 		/* mode configuration */
35 		case B_ACCELERANT_MODE_COUNT:
36 			return (void*)radeon_accelerant_mode_count;
37 		case B_GET_MODE_LIST:
38 			return (void*)radeon_get_mode_list;
39 		case B_SET_DISPLAY_MODE:
40 			return (void*)radeon_set_display_mode;
41 		case B_GET_DISPLAY_MODE:
42 			return (void*)radeon_get_display_mode;
43 
44 		case B_GET_FRAME_BUFFER_CONFIG:
45 			return (void*)radeon_get_frame_buffer_config;
46 		case B_GET_PIXEL_CLOCK_LIMITS:
47 			return (void*)radeon_get_pixel_clock_limits;
48 
49 		case B_ACQUIRE_ENGINE:
50 			return (void*)radeon_acquire_engine;
51 		case B_RELEASE_ENGINE:
52 			return (void*)radeon_release_engine;
53 	}
54 
55 	return NULL;
56 }
57 
58