1 /* 2 Copyright 1999, Be Incorporated. All Rights Reserved. 3 This file may be used under the terms of the Be Sample Code License. 4 */ 5 6 #if !defined(GENERIC_H) 7 #define GENERIC_H 8 9 #include <Accelerant.h> 10 #include "video_overlay.h" 11 12 status_t INIT_ACCELERANT(int fd); 13 ssize_t ACCELERANT_CLONE_INFO_SIZE(void); 14 void GET_ACCELERANT_CLONE_INFO(void *data); 15 status_t CLONE_ACCELERANT(void *data); 16 void UNINIT_ACCELERANT(void); 17 status_t GET_ACCELERANT_DEVICE_INFO(accelerant_device_info *adi); 18 sem_id ACCELERANT_RETRACE_SEMAPHORE(void); 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 status_t MOVE_DISPLAY(uint16 h_display_start, uint16 v_display_start); 28 status_t GET_TIMING_CONSTRAINTS(display_timing_constraints *dtc); 29 void SET_INDEXED_COLORS(uint count, uint8 first, uint8 *color_data, uint32 flags); 30 status_t radeon_get_preferred_display_mode(display_mode *mode); 31 status_t radeon_get_edid_info(void* info, size_t size, uint32* _version); 32 33 uint32 DPMS_CAPABILITIES(void); 34 uint32 DPMS_MODE(void); 35 status_t SET_DPMS_MODE(uint32 dpms_flags); 36 37 status_t SET_CURSOR_SHAPE(uint16 width, uint16 height, uint16 hot_x, uint16 hot_y, uint8 *andMask, uint8 *xorMask); 38 void MOVE_CURSOR(uint16 x, uint16 y); 39 void SHOW_CURSOR(bool is_visible); 40 41 uint32 ACCELERANT_ENGINE_COUNT(void); 42 status_t ACQUIRE_ENGINE(uint32 capabilities, uint32 max_wait, sync_token *st, engine_token **et); 43 status_t RELEASE_ENGINE(engine_token *et, sync_token *st); 44 void WAIT_ENGINE_IDLE(void); 45 status_t GET_SYNC_TOKEN(engine_token *et, sync_token *st); 46 status_t SYNC_TO_TOKEN(sync_token *st); 47 48 void SCREEN_TO_SCREEN_BLIT(engine_token *et, blit_params *list, uint32 count); 49 void FILL_RECTANGLE(engine_token *et, uint32 color, fill_rect_params *list, uint32 count); 50 void INVERT_RECTANGLE(engine_token *et, fill_rect_params *list, uint32 count); 51 52 void FILL_SPAN(engine_token *et, uint32 color, uint16 *list, uint32 count); 53 54 void SCREEN_TO_SCREEN_BLIT_DMA(engine_token *et, blit_params *list, uint32 count); 55 void FILL_RECTANGLE_DMA(engine_token *et, uint32 color, fill_rect_params *list, uint32 count); 56 void INVERT_RECTANGLE_DMA(engine_token *et, fill_rect_params *list, uint32 count); 57 58 void FILL_SPAN_DMA(engine_token *et, uint32 color, uint16 *list, uint32 count); 59 60 void SCREEN_TO_SCREEN_BLIT_PIO(engine_token *et, blit_params *list, uint32 count); 61 void FILL_RECTANGLE_PIO(engine_token *et, uint32 color, fill_rect_params *list, uint32 count); 62 void INVERT_RECTANGLE_PIO(engine_token *et, fill_rect_params *list, uint32 count); 63 64 void FILL_SPAN_PIO(engine_token *et, uint32 color, uint16 *list, uint32 count); 65 66 uint32 OVERLAY_COUNT(const display_mode *dm); 67 const uint32 *OVERLAY_SUPPORTED_SPACES(const display_mode *dm); 68 uint32 OVERLAY_SUPPORTED_FEATURES(uint32 a_color_space); 69 const overlay_buffer *ALLOCATE_OVERLAY_BUFFER(color_space cs, uint16 width, uint16 height); 70 status_t RELEASE_OVERLAY_BUFFER(const overlay_buffer *ob); 71 status_t GET_OVERLAY_CONSTRAINTS(const display_mode *dm, const overlay_buffer *ob, overlay_constraints *oc); 72 overlay_token ALLOCATE_OVERLAY(void); 73 status_t RELEASE_OVERLAY(overlay_token ot); 74 status_t CONFIGURE_OVERLAY(overlay_token ot, const overlay_buffer *ob, const overlay_window *ow, const overlay_view *ov); 75 76 77 #endif 78