1 /*****************************************************************************\
2 * Tseng Labs ET6000, ET6100 and ET6300 graphics driver for BeOS 5.
3 * Copyright (c) 2003-2004, Evgeniy Vladimirovich Bobkov.
4 \*****************************************************************************/
9 /*****************************************************************************/
11 * The standard entry point. Given a uint32 feature identifier, this routine
12 * returns a pointer to the function that implements the feature. Some features
13 * require more information than just the identifier to select the proper
14 * function. The extra information (which is specific to the feature) is
15 * pointed at by the void *data parameter. By default, no extra information
16 * is available. Any extra information available to choose the function will
17 * be noted on a case by case below.
19 void *get_accelerant_hook(uint32 feature
, void *data
) {
20 /* These definition is out of pure lazyness.*/
21 #define HOOK(x) case B_##x: return (void *)x
26 * One of either B_INIT_ACCELERANT or B_CLONE_ACCELERANT will be
27 * requested and subsequently called before any other hook is
28 * requested. All other feature hook selections can be predicated
29 * on variables assigned during the accelerant initialization process.
32 HOOK(INIT_ACCELERANT
);
33 HOOK(CLONE_ACCELERANT
);
35 HOOK(ACCELERANT_CLONE_INFO_SIZE
);
36 HOOK(GET_ACCELERANT_CLONE_INFO
);
37 HOOK(UNINIT_ACCELERANT
);
38 HOOK(GET_ACCELERANT_DEVICE_INFO
);
40 /// HOOK(ACCELERANT_RETRACE_SEMAPHORE); /* Not implemented. Would be useful to have it implemented. */
42 /* mode configuration */
43 HOOK(ACCELERANT_MODE_COUNT
);
45 /// HOOK(PROPOSE_DISPLAY_MODE);
46 HOOK(SET_DISPLAY_MODE
);
47 HOOK(GET_DISPLAY_MODE
);
48 HOOK(GET_FRAME_BUFFER_CONFIG
);
49 HOOK(GET_PIXEL_CLOCK_LIMITS
);
52 HOOK(ACCELERANT_ENGINE_COUNT
);
55 HOOK(WAIT_ENGINE_IDLE
);
60 HOOK(SCREEN_TO_SCREEN_BLIT
);
64 /* Return a null pointer for any feature we don't understand. */
69 /*****************************************************************************/