2 * Copyright 2006-2007, Haiku, Inc. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
6 * Axel Dörfler, axeld@pinc-software.de
8 #ifndef ACCELERANT_PROTOS_H
9 #define ACCELERANT_PROTOS_H
12 #include <Accelerant.h>
13 #include "video_overlay.h"
20 void spin(bigtime_t delay
);
23 status_t
intel_init_accelerant(int fd
);
24 ssize_t
intel_accelerant_clone_info_size(void);
25 void intel_get_accelerant_clone_info(void* data
);
26 status_t
intel_clone_accelerant(void* data
);
27 void intel_uninit_accelerant(void);
28 status_t
intel_get_accelerant_device_info(accelerant_device_info
* info
);
29 sem_id
intel_accelerant_retrace_semaphore(void);
31 // modes & constraints
32 uint32
intel_accelerant_mode_count(void);
33 status_t
intel_get_mode_list(display_mode
* dm
);
34 status_t
intel_propose_display_mode(display_mode
* target
,
35 const display_mode
* low
, const display_mode
* high
);
36 status_t
intel_set_display_mode(display_mode
* mode
);
37 status_t
intel_get_display_mode(display_mode
* currentMode
);
38 status_t
intel_get_edid_info(void* info
, size_t size
, uint32
* _version
);
39 status_t
intel_get_frame_buffer_config(frame_buffer_config
* config
);
40 status_t
intel_get_pixel_clock_limits(display_mode
* mode
, uint32
* low
,
42 status_t
intel_move_display(uint16 hDisplayStart
, uint16 vDisplayStart
);
43 status_t
intel_get_timing_constraints(display_timing_constraints
* constraints
);
44 void intel_set_indexed_colors(uint count
, uint8 first
, uint8
* colorData
,
48 uint32
intel_dpms_capabilities(void);
49 uint32
intel_dpms_mode(void);
50 status_t
intel_set_dpms_mode(uint32 flags
);
53 status_t
intel_set_cursor_shape(uint16 width
, uint16 height
, uint16 hotX
,
54 uint16 hotY
, uint8
* andMask
, uint8
* xorMask
);
55 void intel_move_cursor(uint16 x
, uint16 y
);
56 void intel_show_cursor(bool isVisible
);
59 uint32
intel_accelerant_engine_count(void);
60 status_t
intel_acquire_engine(uint32 capabilities
, uint32 maxWait
,
61 sync_token
* syncToken
, engine_token
** _engineToken
);
62 status_t
intel_release_engine(engine_token
* engineToken
, sync_token
* syncToken
);
63 void intel_wait_engine_idle(void);
64 status_t
intel_get_sync_token(engine_token
* engineToken
, sync_token
* syncToken
);
65 status_t
intel_sync_to_token(sync_token
* syncToken
);
68 void intel_screen_to_screen_blit(engine_token
* engineToken
,
69 blit_params
* list
, uint32 count
);
70 void intel_fill_rectangle(engine_token
* engineToken
, uint32 color
,
71 fill_rect_params
* list
, uint32 count
);
72 void intel_invert_rectangle(engine_token
* engineToken
, fill_rect_params
* list
,
74 void intel_fill_span(engine_token
* engineToken
, uint32 color
, uint16
* list
,
78 uint32
intel_overlay_count(const display_mode
* mode
);
79 const uint32
* intel_overlay_supported_spaces(const display_mode
* mode
);
80 uint32
intel_overlay_supported_features(uint32 colorSpace
);
81 const overlay_buffer
* intel_allocate_overlay_buffer(color_space space
,
82 uint16 width
, uint16 height
);
83 status_t
intel_release_overlay_buffer(const overlay_buffer
* buffer
);
84 status_t
intel_get_overlay_constraints(const display_mode
* mode
,
85 const overlay_buffer
* buffer
, overlay_constraints
* constraints
);
86 overlay_token
intel_allocate_overlay(void);
87 status_t
intel_release_overlay(overlay_token overlayToken
);
88 status_t
intel_configure_overlay(overlay_token overlayToken
,
89 const overlay_buffer
* buffer
, const overlay_window
* window
,
90 const overlay_view
* view
);
91 status_t
i965_configure_overlay(overlay_token overlayToken
,
92 const overlay_buffer
* buffer
, const overlay_window
* window
,
93 const overlay_view
* view
);
99 #endif /* ACCELERANT_PROTOS_H */