xref: /haiku/src/add-ons/accelerants/et6x00/generic.h (revision 21258e2674226d6aa732321b6f8494841895af5f)
1 /*****************************************************************************\
2  * Tseng Labs ET6000, ET6100 and ET6300 graphics driver for BeOS 5.
3  * Copyright (c) 2003-2004, Evgeniy Vladimirovich Bobkov.
4 \*****************************************************************************/
5 
6 #ifndef _ET6000GENERIC_H_
7 #define _ET6000GENERIC_H_
8 
9 #include <Accelerant.h>
10 
11 
12 /*****************************************************************************/
13 status_t INIT_ACCELERANT(int fd);
14 ssize_t ACCELERANT_CLONE_INFO_SIZE(void);
15 void GET_ACCELERANT_CLONE_INFO(void *data);
16 status_t CLONE_ACCELERANT(void *data);
17 void UNINIT_ACCELERANT(void);
18 status_t GET_ACCELERANT_DEVICE_INFO(accelerant_device_info *adi);
19 
20 uint32 ACCELERANT_MODE_COUNT(void);
21 status_t GET_MODE_LIST(display_mode *dm);
22 status_t PROPOSE_DISPLAY_MODE(display_mode *target, const display_mode *low, const display_mode *high);
23 status_t SET_DISPLAY_MODE(display_mode *mode_to_set);
24 status_t GET_DISPLAY_MODE(display_mode *current_mode);
25 status_t GET_FRAME_BUFFER_CONFIG(frame_buffer_config *a_frame_buffer);
26 status_t GET_PIXEL_CLOCK_LIMITS(display_mode *dm, uint32 *low, uint32 *high);
27 
28 uint32 ACCELERANT_ENGINE_COUNT(void);
29 status_t ACQUIRE_ENGINE(uint32 capabilities, uint32 max_wait, sync_token *st, engine_token **et);
30 status_t RELEASE_ENGINE(engine_token *et, sync_token *st);
31 void WAIT_ENGINE_IDLE(void);
32 status_t GET_SYNC_TOKEN(engine_token *et, sync_token *st);
33 status_t SYNC_TO_TOKEN(sync_token *st);
34 
35 void SCREEN_TO_SCREEN_BLIT(engine_token *et, blit_params *list, uint32 count);
36 void FILL_RECTANGLE(engine_token *et, uint32 color, fill_rect_params *list, uint32 count);
37 
38 
39 status_t createModesList(void);
40 void et6000aclInit(uint8 bpp);
41 void et6000aclWaitIdle(void);
42 /*****************************************************************************/
43 
44 
45 #endif /* _ET6000GENERIC_H_ */
46