1290001Sglebius/* 2290001Sglebius * Copyright 2006-2009, Haiku, Inc. All Rights Reserved. 3290001Sglebius * Distributed under the terms of the MIT License. 4290001Sglebius * 5290001Sglebius * Authors: 6290001Sglebius * Axel D��rfler, axeld@pinc-software.de 7290001Sglebius * Alexander von Gluck IV, kallisti5@unixzen.com 8290001Sglebius */ 9290001Sglebius 10290001Sglebius 11290001Sglebius#include "accelerant.h" 12290001Sglebius#include "accelerant_protos.h" 13290001Sglebius 14290001Sglebius 15290001Sglebiusextern "C" void* 16290001Sglebiusget_accelerant_hook(uint32 feature, void* data) 17290001Sglebius{ 18290001Sglebius switch (feature) { 19290001Sglebius /* general */ 20290001Sglebius case B_INIT_ACCELERANT: 21290001Sglebius return (void*)radeon_init_accelerant; 22290001Sglebius case B_UNINIT_ACCELERANT: 23290001Sglebius return (void*)radeon_uninit_accelerant; 24290001Sglebius /*case B_CLONE_ACCELERANT: 25290001Sglebius return (void*)radeon_clone_accelerant; 26290001Sglebius case B_ACCELERANT_CLONE_INFO_SIZE: 27290001Sglebius return (void*)radeon_accelerant_clone_info_size; 28290001Sglebius case B_GET_ACCELERANT_CLONE_INFO: 29290001Sglebius return (void*)radeon_get_accelerant_clone_info; 30290001Sglebius case B_ACCELERANT_RETRACE_SEMAPHORE: 31290001Sglebius return (void*)radeon_accelerant_retrace_semaphore; 32290001Sglebius */ 33290001Sglebius case B_GET_ACCELERANT_DEVICE_INFO: 34290001Sglebius return (void*)radeon_get_accelerant_device_info; 35290001Sglebius 36290001Sglebius /* DPMS */ 37290001Sglebius case B_DPMS_CAPABILITIES: 38290001Sglebius return (void*)radeon_dpms_capabilities; 39290001Sglebius case B_DPMS_MODE: 40290001Sglebius return (void*)radeon_dpms_mode; 41290001Sglebius case B_SET_DPMS_MODE: 42290001Sglebius return (void*)radeon_dpms_set_hook; 43290001Sglebius 44290001Sglebius /* mode configuration */ 45290001Sglebius case B_ACCELERANT_MODE_COUNT: 46290001Sglebius return (void*)radeon_accelerant_mode_count; 47290001Sglebius case B_GET_EDID_INFO: 48290001Sglebius return (void*)radeon_get_edid_info; 49290001Sglebius case B_GET_MODE_LIST: 50290001Sglebius return (void*)radeon_get_mode_list; 51290001Sglebius case B_GET_PREFERRED_DISPLAY_MODE: 52290001Sglebius return (void*)radeon_get_preferred_mode; 53290001Sglebius case B_SET_DISPLAY_MODE: 54290001Sglebius return (void*)radeon_set_display_mode; 55290001Sglebius case B_GET_DISPLAY_MODE: 56290001Sglebius return (void*)radeon_get_display_mode; 57290001Sglebius 58290001Sglebius /* memory controller */ 59290001Sglebius case B_GET_FRAME_BUFFER_CONFIG: 60290001Sglebius return (void*)radeon_get_frame_buffer_config; 61290001Sglebius case B_GET_PIXEL_CLOCK_LIMITS: 62290001Sglebius return (void*)radeon_get_pixel_clock_limits; 63290001Sglebius 64290001Sglebius /* engine */ 65290001Sglebius case B_ACCELERANT_ENGINE_COUNT: 66290001Sglebius return (void*)radeon_accelerant_engine_count; 67290001Sglebius case B_ACQUIRE_ENGINE: 68290001Sglebius return (void*)radeon_acquire_engine; 69290001Sglebius case B_RELEASE_ENGINE: 70290001Sglebius return (void*)radeon_release_engine; 71290001Sglebius 72290001Sglebius /* 2D acceleration */ 73290001Sglebius /* 74290001Sglebius case B_SCREEN_TO_SCREEN_BLIT: 75290001Sglebius return (void*)radeon_screen_to_screen_blit; 76290001Sglebius case B_FILL_RECTANGLE: 77290001Sglebius return (void*)radeon_fill_rectangle; 78290001Sglebius case B_INVERT_RECTANGLE: 79290001Sglebius return (void*)radeon_invert_rectangle; 80290001Sglebius case B_FILL_SPAN: 81290001Sglebius return (void*)radeon_fill_span; 82290001Sglebius */ 83290001Sglebius } 84290001Sglebius 85290001Sglebius return NULL; 86290001Sglebius} 87290001Sglebius 88290001Sglebius