hrev43301 adds 1 changeset to branch 'master' old head: fd651d785afc30be2efb9297c680230fda761406 new head: db528c006573a84fcaf6468dbe1dabafa5a110df ---------------------------------------------------------------------------- 3 files changed, 36 insertions(+), 13 deletions(-) .../accelerants/radeon_hd/accelerant_protos.h | 1 + src/add-ons/accelerants/radeon_hd/engine.cpp | 21 ++++++++---- src/add-ons/accelerants/radeon_hd/hooks.cpp | 27 ++++++++++++--- ############################################################################ Revision: hrev43301 Commit: db528c006573a84fcaf6468dbe1dabafa5a110df URL: http://cgit.haiku-os.org/haiku/commit/?id=db528c0 Author: Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> Date: Mon Nov 21 20:52:45 2011 UTC Clean up engine and hooks * clean up radeon_hd engine tracing * clean up radeon_hd engine * clean up radeon_hd hooks * add engine accelerant count function ---------------------------------------------------------------------------- diff --git a/src/add-ons/accelerants/radeon_hd/accelerant_protos.h b/src/add-ons/accelerants/radeon_hd/accelerant_protos.h index 5febcc5..8c17ccc 100644 --- a/src/add-ons/accelerants/radeon_hd/accelerant_protos.h +++ b/src/add-ons/accelerants/radeon_hd/accelerant_protos.h @@ -37,6 +37,7 @@ status_t radeon_get_pixel_clock_limits(display_mode *mode, status_t radeon_get_edid_info(void* info, size_t size, uint32* edid_version); // accelerant engine +uint32 radeon_accelerant_engine_count(void); status_t radeon_acquire_engine(uint32 capabilities, uint32 maxWait, sync_token *syncToken, engine_token **_engineToken); status_t radeon_release_engine(engine_token *engineToken, diff --git a/src/add-ons/accelerants/radeon_hd/engine.cpp b/src/add-ons/accelerants/radeon_hd/engine.cpp index e3f573b..bb9ab4c 100644 --- a/src/add-ons/accelerants/radeon_hd/engine.cpp +++ b/src/add-ons/accelerants/radeon_hd/engine.cpp @@ -1,9 +1,10 @@ /* - * Copyright 2006-2007, Haiku, Inc. All Rights Reserved. + * Copyright 2006-2011, Haiku, Inc. All Rights Reserved. * Distributed under the terms of the MIT License. * * Authors: * Axel Dörfler, axeld@xxxxxxxxxxxxxxxx + * Alexander von Gluck IV, kallisti5@xxxxxxxxxxx */ @@ -17,9 +18,9 @@ #define TRACE_ENGINE #ifdef TRACE_ENGINE -# define TRACE(x) _sPrintf x +# define TRACE(x...) _sPrintf("radeon_hd: " x) #else -# define TRACE(x) ; +# define TRACE(x...) ; #endif @@ -29,11 +30,19 @@ static engine_token sEngineToken = {1, 0 /*B_2D_ACCELERATION*/, NULL}; // #pragma mark - engine management +uint32 +radeon_accelerant_engine_count(void) +{ + TRACE("%s\n", __func__); + return 1; +} + + status_t radeon_acquire_engine(uint32 capabilities, uint32 maxWait, sync_token *syncToken, engine_token **_engineToken) { - TRACE(("radeon_acquire_engine()\n")); + TRACE("%s\n", __func__); *_engineToken = &sEngineToken; if (acquire_lock(&gInfo->shared_info->engine_lock) != B_OK) @@ -46,12 +55,10 @@ radeon_acquire_engine(uint32 capabilities, uint32 maxWait, status_t radeon_release_engine(engine_token *engineToken, sync_token *syncToken) { - TRACE(("radeon_release_engine()\n")); + TRACE("%s\n", __func__); if (syncToken != NULL) syncToken->engine_id = engineToken->engine_id; release_lock(&gInfo->shared_info->engine_lock); return B_OK; } - - diff --git a/src/add-ons/accelerants/radeon_hd/hooks.cpp b/src/add-ons/accelerants/radeon_hd/hooks.cpp index 5e73ef4..14ed39a 100644 --- a/src/add-ons/accelerants/radeon_hd/hooks.cpp +++ b/src/add-ons/accelerants/radeon_hd/hooks.cpp @@ -4,6 +4,7 @@ * * Authors: * Axel Dörfler, axeld@xxxxxxxxxxxxxxxx + * Alexander von Gluck IV, kallisti5@xxxxxxxxxxx */ @@ -26,13 +27,11 @@ get_accelerant_hook(uint32 feature, void *data) return (void*)radeon_accelerant_clone_info_size; case B_GET_ACCELERANT_CLONE_INFO: return (void*)radeon_get_accelerant_clone_info; - */ - case B_GET_ACCELERANT_DEVICE_INFO: - return (void*)radeon_get_accelerant_device_info; - /* case B_ACCELERANT_RETRACE_SEMAPHORE: return (void*)radeon_accelerant_retrace_semaphore; */ + case B_GET_ACCELERANT_DEVICE_INFO: + return (void*)radeon_get_accelerant_device_info; /* DPMS */ case B_DPMS_CAPABILITIES: @@ -45,24 +44,40 @@ get_accelerant_hook(uint32 feature, void *data) /* mode configuration */ case B_ACCELERANT_MODE_COUNT: return (void*)radeon_accelerant_mode_count; + case B_GET_EDID_INFO: + return (void*)radeon_get_edid_info; case B_GET_MODE_LIST: return (void*)radeon_get_mode_list; case B_SET_DISPLAY_MODE: return (void*)radeon_set_display_mode; case B_GET_DISPLAY_MODE: return (void*)radeon_get_display_mode; - case B_GET_EDID_INFO: - return (void*)radeon_get_edid_info; + /* memory controller */ case B_GET_FRAME_BUFFER_CONFIG: return (void*)radeon_get_frame_buffer_config; case B_GET_PIXEL_CLOCK_LIMITS: return (void*)radeon_get_pixel_clock_limits; + /* engine */ + case B_ACCELERANT_ENGINE_COUNT: + return (void*)radeon_accelerant_engine_count; case B_ACQUIRE_ENGINE: return (void*)radeon_acquire_engine; case B_RELEASE_ENGINE: return (void*)radeon_release_engine; + + /* 2D acceleration */ + /* + case B_SCREEN_TO_SCREEN_BLIT: + return (void*)radeon_screen_to_screen_blit; + case B_FILL_RECTANGLE: + return (void*)radeon_fill_rectangle; + case B_INVERT_RECTANGLE: + return (void*)radeon_invert_rectangle; + case B_FILL_SPAN: + return (void*)radeon_fill_span; + */ } return NULL;