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
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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, [email protected]
|
||||
* Alexander von Gluck IV, [email protected]
|
||||
*/
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
*
|
||||
* Authors:
|
||||
* Axel Dörfler, [email protected]
|
||||
* Alexander von Gluck IV, [email protected]
|
||||
*/
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user