1/* 2 * Copyright 2006-2007, 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#ifndef ACCELERANT_PROTOS_H 9#define ACCELERANT_PROTOS_H 10 11 12#include <Accelerant.h> 13#include "video_overlay.h" 14 15 16#ifdef __cplusplus 17extern "C" { 18#endif 19 20void spin(bigtime_t delay); 21 22// general 23status_t intel_init_accelerant(int fd); 24ssize_t intel_accelerant_clone_info_size(void); 25void intel_get_accelerant_clone_info(void* data); 26status_t intel_clone_accelerant(void* data); 27void intel_uninit_accelerant(void); 28status_t intel_get_accelerant_device_info(accelerant_device_info* info); 29sem_id intel_accelerant_retrace_semaphore(void); 30 31// modes & constraints 32uint32 intel_accelerant_mode_count(void); 33status_t intel_get_mode_list(display_mode* dm); 34status_t intel_propose_display_mode(display_mode* target, 35 const display_mode* low, const display_mode* high); 36status_t intel_get_preferred_mode(display_mode* preferredMode); 37status_t intel_set_display_mode(display_mode* mode); 38status_t intel_get_display_mode(display_mode* currentMode); 39status_t intel_get_edid_info(void* info, size_t size, uint32* _version); 40status_t intel_set_brightness(float brightness); 41status_t intel_get_brightness(float* brightness); 42status_t intel_get_frame_buffer_config(frame_buffer_config* config); 43status_t intel_get_pixel_clock_limits(display_mode* mode, uint32* low, 44 uint32* high); 45status_t intel_move_display(uint16 hDisplayStart, uint16 vDisplayStart); 46status_t intel_get_timing_constraints(display_timing_constraints* constraints); 47void intel_set_indexed_colors(uint count, uint8 first, uint8* colorData, 48 uint32 flags); 49 50// DPMS 51uint32 intel_dpms_capabilities(void); 52uint32 intel_dpms_mode(void); 53status_t intel_set_dpms_mode(uint32 flags); 54 55// cursor 56status_t intel_set_cursor_shape(uint16 width, uint16 height, uint16 hotX, 57 uint16 hotY, uint8* andMask, uint8* xorMask); 58void intel_move_cursor(uint16 x, uint16 y); 59void intel_show_cursor(bool isVisible); 60 61// accelerant engine 62uint32 intel_accelerant_engine_count(void); 63status_t intel_acquire_engine(uint32 capabilities, uint32 maxWait, 64 sync_token* syncToken, engine_token** _engineToken); 65status_t intel_release_engine(engine_token* engineToken, sync_token* syncToken); 66void intel_wait_engine_idle(void); 67status_t intel_get_sync_token(engine_token* engineToken, sync_token* syncToken); 68status_t intel_sync_to_token(sync_token* syncToken); 69 70// 2D acceleration 71void intel_screen_to_screen_blit(engine_token* engineToken, 72 blit_params* list, uint32 count); 73void intel_fill_rectangle(engine_token* engineToken, uint32 color, 74 fill_rect_params* list, uint32 count); 75void intel_invert_rectangle(engine_token* engineToken, fill_rect_params* list, 76 uint32 count); 77void intel_fill_span(engine_token* engineToken, uint32 color, uint16* list, 78 uint32 count); 79 80// overlay 81uint32 intel_overlay_count(const display_mode* mode); 82const uint32* intel_overlay_supported_spaces(const display_mode* mode); 83uint32 intel_overlay_supported_features(uint32 colorSpace); 84const overlay_buffer* intel_allocate_overlay_buffer(color_space space, 85 uint16 width, uint16 height); 86status_t intel_release_overlay_buffer(const overlay_buffer* buffer); 87status_t intel_get_overlay_constraints(const display_mode* mode, 88 const overlay_buffer* buffer, overlay_constraints* constraints); 89overlay_token intel_allocate_overlay(void); 90status_t intel_release_overlay(overlay_token overlayToken); 91status_t intel_configure_overlay(overlay_token overlayToken, 92 const overlay_buffer* buffer, const overlay_window* window, 93 const overlay_view* view); 94status_t i965_configure_overlay(overlay_token overlayToken, 95 const overlay_buffer* buffer, const overlay_window* window, 96 const overlay_view* view); 97 98#ifdef __cplusplus 99} 100#endif 101 102#endif /* ACCELERANT_PROTOS_H */ 103