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/*****************************************************************************/
13status_t INIT_ACCELERANT(int fd);
14ssize_t ACCELERANT_CLONE_INFO_SIZE(void);
15void GET_ACCELERANT_CLONE_INFO(void *data);
16status_t CLONE_ACCELERANT(void *data);
17void UNINIT_ACCELERANT(void);
18status_t GET_ACCELERANT_DEVICE_INFO(accelerant_device_info *adi);
19
20uint32 ACCELERANT_MODE_COUNT(void);
21status_t GET_MODE_LIST(display_mode *dm);
22status_t PROPOSE_DISPLAY_MODE(display_mode *target, const display_mode *low, const display_mode *high);
23status_t SET_DISPLAY_MODE(display_mode *mode_to_set);
24status_t GET_DISPLAY_MODE(display_mode *current_mode);
25status_t GET_FRAME_BUFFER_CONFIG(frame_buffer_config *a_frame_buffer);
26status_t GET_PIXEL_CLOCK_LIMITS(display_mode *dm, uint32 *low, uint32 *high);
27
28uint32 ACCELERANT_ENGINE_COUNT(void);
29status_t ACQUIRE_ENGINE(uint32 capabilities, uint32 max_wait, sync_token *st, engine_token **et);
30status_t RELEASE_ENGINE(engine_token *et, sync_token *st);
31void WAIT_ENGINE_IDLE(void);
32status_t GET_SYNC_TOKEN(engine_token *et, sync_token *st);
33status_t SYNC_TO_TOKEN(sync_token *st);
34
35void SCREEN_TO_SCREEN_BLIT(engine_token *et, blit_params *list, uint32 count);
36void FILL_RECTANGLE(engine_token *et, uint32 color, fill_rect_params *list, uint32 count);
37
38
39status_t createModesList(void);
40void et6000aclInit(uint8 bpp);
41void et6000aclWaitIdle(void);
42/*****************************************************************************/
43
44
45#endif /* _ET6000GENERIC_H_ */
46