diff --git a/headers/private/app/ServerProtocol.h b/headers/private/app/ServerProtocol.h index 848a68fbd7..b9fc05b207 100644 --- a/headers/private/app/ServerProtocol.h +++ b/headers/private/app/ServerProtocol.h @@ -170,7 +170,6 @@ enum { AS_GET_RETRACE_SEMAPHORE, AS_GET_ACCELERANT_INFO, AS_GET_MONITOR_INFO, - AS_GET_FRAME_BUFFER_CONFIG, AS_SET_DPMS, AS_GET_DPMS_STATE, diff --git a/headers/private/interface/PrivateScreen.h b/headers/private/interface/PrivateScreen.h index 580e732754..614a2fe711 100644 --- a/headers/private/interface/PrivateScreen.h +++ b/headers/private/interface/PrivateScreen.h @@ -85,9 +85,6 @@ public: status_t GetBrightness(float*); status_t SetBrightness(float); - void* BaseAddress(); - uint32 BytesPerRow(); - private: friend class BObjectList; @@ -98,8 +95,6 @@ private: bool _Release(); sem_id _RetraceSemaphore(); - status_t _GetFrameBufferConfig( - frame_buffer_config& config); static BPrivateScreen* _Get(int32 id, bool check); static bool _IsValid(int32 id); diff --git a/src/kits/game/WindowScreen.cpp b/src/kits/game/WindowScreen.cpp index 7ba130ab8e..0cf407ed18 100644 --- a/src/kits/game/WindowScreen.cpp +++ b/src/kits/game/WindowScreen.cpp @@ -41,6 +41,8 @@ using BPrivate::AppServerLink; // Acceleration hooks pointers +static get_frame_buffer_config sGetFrameBufferConfigHook; + static fill_rectangle sFillRectHook; static screen_to_screen_blit sBlitRectHook; static screen_to_screen_transparent_blit sTransparentBlitHook; @@ -610,10 +612,6 @@ BWindowScreen::_InitData(uint32 space, uint32 attributes) if (status < B_OK) throw status; - status = _GetCardInfo(); - if (status < B_OK) - throw status; - fDebugSem = create_sem(1, "WindowScreen debug sem"); if (fDebugSem < B_OK) throw (status_t)fDebugSem; @@ -690,11 +688,12 @@ status_t BWindowScreen::_Activate() { CALLED(); - status_t status = _AssertDisplayMode(fDisplayMode); + + status_t status = _SetupAccelerantHooks(); if (status < B_OK) return status; - status = _SetupAccelerantHooks(); + status = _AssertDisplayMode(fDisplayMode); if (status < B_OK) return status; @@ -760,6 +759,8 @@ BWindowScreen::_SetupAccelerantHooks() _ResetAccelerantHooks(); if (status == B_OK) { + sGetFrameBufferConfigHook = (get_frame_buffer_config) + fGetAccelerantHook(B_GET_FRAME_BUFFER_CONFIG, NULL); sWaitIdleHook = fWaitEngineIdle = (wait_engine_idle) fGetAccelerantHook(B_WAIT_ENGINE_IDLE, NULL); sReleaseEngineHook @@ -792,6 +793,7 @@ BWindowScreen::_ResetAccelerantHooks() if (fWaitEngineIdle) fWaitEngineIdle(); + sGetFrameBufferConfigHook = NULL; sFillRectHook = NULL; sBlitRectHook = NULL; sTransparentBlitHook = NULL; @@ -854,16 +856,8 @@ BWindowScreen::_GetCardInfo() if (mode.flags & B_PARALLEL_ACCESS) fCardInfo.flags |= B_PARALLEL_BUFFER_ACCESS; - AppServerLink link; - link.StartMessage(AS_GET_FRAME_BUFFER_CONFIG); - link.Attach(screen.ID()); - - status_t result = B_ERROR; - if (link.FlushWithReply(result) < B_OK || result < B_OK) - return result; - frame_buffer_config config; - link.Read(&config); + sGetFrameBufferConfigHook(&config); fCardInfo.frame_buffer = config.frame_buffer; fCardInfo.bytes_per_row = config.bytes_per_row; diff --git a/src/kits/interface/PrivateScreen.cpp b/src/kits/interface/PrivateScreen.cpp index 26fbe6b41b..fd41531555 100644 --- a/src/kits/interface/PrivateScreen.cpp +++ b/src/kits/interface/PrivateScreen.cpp @@ -693,28 +693,6 @@ BPrivateScreen::SetBrightness(float brightness) } -void * -BPrivateScreen::BaseAddress() -{ - frame_buffer_config config; - if (_GetFrameBufferConfig(config) != B_OK) - return NULL; - - return config.frame_buffer; -} - - -uint32 -BPrivateScreen::BytesPerRow() -{ - frame_buffer_config config; - if (_GetFrameBufferConfig(config) != B_OK) - return 0; - - return config.bytes_per_row; -} - - // #pragma mark - private methods @@ -753,23 +731,6 @@ BPrivateScreen::_RetraceSemaphore() } -status_t -BPrivateScreen::_GetFrameBufferConfig(frame_buffer_config& config) -{ - BPrivate::AppServerLink link; - link.StartMessage(AS_GET_FRAME_BUFFER_CONFIG); - link.Attach(ID()); - - status_t status = B_ERROR; - if (link.FlushWithReply(status) == B_OK && status == B_OK) { - link.Read(&config); - return B_OK; - } - - return status; -} - - BPrivateScreen::BPrivateScreen(int32 id) : fID(id), diff --git a/src/kits/interface/Screen.cpp b/src/kits/interface/Screen.cpp index 1045756341..53d4c43a93 100644 --- a/src/kits/interface/Screen.cpp +++ b/src/kits/interface/Screen.cpp @@ -372,9 +372,7 @@ BScreen::ProposeDisplayMode(display_mode* target, const display_mode* low, void* BScreen::BaseAddress() { - if (fScreen != NULL) - return fScreen->BaseAddress(); - + // deprecated return NULL; } @@ -382,8 +380,6 @@ BScreen::BaseAddress() uint32 BScreen::BytesPerRow() { - if (fScreen != NULL) - return fScreen->BytesPerRow(); - + // deprecated return 0; } diff --git a/src/servers/app/ProfileMessageSupport.cpp b/src/servers/app/ProfileMessageSupport.cpp index 663a562a33..e8b0e4c359 100644 --- a/src/servers/app/ProfileMessageSupport.cpp +++ b/src/servers/app/ProfileMessageSupport.cpp @@ -149,7 +149,6 @@ string_for_message_code(uint32 code) CODE(AS_GET_RETRACE_SEMAPHORE); CODE(AS_GET_ACCELERANT_INFO); CODE(AS_GET_MONITOR_INFO); - CODE(AS_GET_FRAME_BUFFER_CONFIG); CODE(AS_SET_DPMS); CODE(AS_GET_DPMS_STATE); diff --git a/src/servers/app/ServerApp.cpp b/src/servers/app/ServerApp.cpp index eaef758932..8981e3c0b2 100644 --- a/src/servers/app/ServerApp.cpp +++ b/src/servers/app/ServerApp.cpp @@ -3252,27 +3252,6 @@ ServerApp::_DispatchMessage(int32 code, BPrivate::LinkReceiver& link) break; } - case AS_GET_FRAME_BUFFER_CONFIG: - { - STRACE(("ServerApp %s: get frame buffer config\n", Signature())); - - // We aren't using the screen_id for now... - int32 id; - link.Read(&id); - - frame_buffer_config config; - // TODO: I wonder if there should be a "desktop" lock... - status_t status = fDesktop->HWInterface()->GetFrameBufferConfig(config); - if (status == B_OK) { - fLink.StartMessage(B_OK); - fLink.Attach(config); - } else - fLink.StartMessage(status); - - fLink.Flush(); - break; - } - case AS_GET_RETRACE_SEMAPHORE: { STRACE(("ServerApp %s: get retrace semaphore\n", Signature())); diff --git a/src/servers/app/drawing/BitmapHWInterface.cpp b/src/servers/app/drawing/BitmapHWInterface.cpp index d3c8e4d7d8..0f6abb3997 100644 --- a/src/servers/app/drawing/BitmapHWInterface.cpp +++ b/src/servers/app/drawing/BitmapHWInterface.cpp @@ -101,13 +101,6 @@ BitmapHWInterface::GetDeviceInfo(accelerant_device_info* info) } -status_t -BitmapHWInterface::GetFrameBufferConfig(frame_buffer_config& config) -{ - return B_UNSUPPORTED; -} - - status_t BitmapHWInterface::GetModeList(display_mode** modes, uint32 *count) { diff --git a/src/servers/app/drawing/BitmapHWInterface.h b/src/servers/app/drawing/BitmapHWInterface.h index 1b38de49f4..9a5186f6dc 100644 --- a/src/servers/app/drawing/BitmapHWInterface.h +++ b/src/servers/app/drawing/BitmapHWInterface.h @@ -32,8 +32,6 @@ public: virtual void GetMode(display_mode* mode); virtual status_t GetDeviceInfo(accelerant_device_info* info); - virtual status_t GetFrameBufferConfig( - frame_buffer_config& config); virtual status_t GetModeList(display_mode** _modeList, uint32* _count); diff --git a/src/servers/app/drawing/HWInterface.h b/src/servers/app/drawing/HWInterface.h index c6ecf3afed..06f3f4c06f 100644 --- a/src/servers/app/drawing/HWInterface.h +++ b/src/servers/app/drawing/HWInterface.h @@ -81,8 +81,6 @@ public: virtual void GetMode(display_mode* mode) = 0; virtual status_t GetDeviceInfo(accelerant_device_info* info) = 0; - virtual status_t GetFrameBufferConfig( - frame_buffer_config& config) = 0; virtual status_t GetModeList(display_mode** _modeList, uint32* _count) = 0; virtual status_t GetPixelClockLimits(display_mode* mode, diff --git a/src/servers/app/drawing/interface/local/AccelerantHWInterface.cpp b/src/servers/app/drawing/interface/local/AccelerantHWInterface.cpp index edf1bfff92..5ac893e733 100644 --- a/src/servers/app/drawing/interface/local/AccelerantHWInterface.cpp +++ b/src/servers/app/drawing/interface/local/AccelerantHWInterface.cpp @@ -731,14 +731,6 @@ AccelerantHWInterface::GetDeviceInfo(accelerant_device_info* info) } -status_t -AccelerantHWInterface::GetFrameBufferConfig(frame_buffer_config& config) -{ - config = fFrameBufferConfig; - return B_OK; -} - - status_t AccelerantHWInterface::GetModeList(display_mode** _modes, uint32* _count) { diff --git a/src/servers/app/drawing/interface/local/AccelerantHWInterface.h b/src/servers/app/drawing/interface/local/AccelerantHWInterface.h index 85167c19c7..7717b03f8e 100644 --- a/src/servers/app/drawing/interface/local/AccelerantHWInterface.h +++ b/src/servers/app/drawing/interface/local/AccelerantHWInterface.h @@ -34,8 +34,6 @@ public: virtual void GetMode(display_mode* mode); virtual status_t GetDeviceInfo(accelerant_device_info* info); - virtual status_t GetFrameBufferConfig( - frame_buffer_config& config); virtual status_t GetModeList(display_mode** _modeList, uint32* _count); diff --git a/src/servers/app/drawing/interface/remote/RemoteHWInterface.cpp b/src/servers/app/drawing/interface/remote/RemoteHWInterface.cpp index 910a946a12..6d2d03f713 100644 --- a/src/servers/app/drawing/interface/remote/RemoteHWInterface.cpp +++ b/src/servers/app/drawing/interface/remote/RemoteHWInterface.cpp @@ -423,14 +423,6 @@ RemoteHWInterface::GetDeviceInfo(accelerant_device_info* info) } -status_t -RemoteHWInterface::GetFrameBufferConfig(frame_buffer_config& config) -{ - // We don't actually have a frame buffer. - return B_UNSUPPORTED; -} - - status_t RemoteHWInterface::GetModeList(display_mode** _modes, uint32* _count) { diff --git a/src/servers/app/drawing/interface/remote/RemoteHWInterface.h b/src/servers/app/drawing/interface/remote/RemoteHWInterface.h index 6dedb5f7e4..7babbfecb1 100644 --- a/src/servers/app/drawing/interface/remote/RemoteHWInterface.h +++ b/src/servers/app/drawing/interface/remote/RemoteHWInterface.h @@ -40,8 +40,6 @@ virtual void GetMode(display_mode* mode); virtual status_t GetPreferredMode(display_mode* mode); virtual status_t GetDeviceInfo(accelerant_device_info* info); -virtual status_t GetFrameBufferConfig( - frame_buffer_config& config); virtual status_t GetModeList(display_mode** _modeList, uint32* _count); diff --git a/src/servers/app/drawing/interface/virtual/DWindowHWInterface.cpp b/src/servers/app/drawing/interface/virtual/DWindowHWInterface.cpp index 5f5c8e71c5..9baee53338 100644 --- a/src/servers/app/drawing/interface/virtual/DWindowHWInterface.cpp +++ b/src/servers/app/drawing/interface/virtual/DWindowHWInterface.cpp @@ -756,20 +756,6 @@ DWindowHWInterface::GetDeviceInfo(accelerant_device_info* info) } -status_t -DWindowHWInterface::GetFrameBufferConfig(frame_buffer_config& config) -{ - if (!fFrontBuffer.IsSet()) - return B_ERROR; - - config.frame_buffer = fFrontBuffer->Bits(); - config.frame_buffer_dma = NULL; - config.bytes_per_row = fFrontBuffer->BytesPerRow(); - - return B_OK; -} - - status_t DWindowHWInterface::GetModeList(display_mode** _modes, uint32* _count) { diff --git a/src/servers/app/drawing/interface/virtual/DWindowHWInterface.h b/src/servers/app/drawing/interface/virtual/DWindowHWInterface.h index 1ab0060ef1..440831e56b 100644 --- a/src/servers/app/drawing/interface/virtual/DWindowHWInterface.h +++ b/src/servers/app/drawing/interface/virtual/DWindowHWInterface.h @@ -35,8 +35,6 @@ public: virtual void GetMode(display_mode* mode); virtual status_t GetDeviceInfo(accelerant_device_info* info); - virtual status_t GetFrameBufferConfig( - frame_buffer_config& config); virtual status_t GetModeList(display_mode** _modeList, uint32* _count); diff --git a/src/servers/app/drawing/interface/virtual/ViewHWInterface.cpp b/src/servers/app/drawing/interface/virtual/ViewHWInterface.cpp index 8b5bb0de12..34ac293d59 100644 --- a/src/servers/app/drawing/interface/virtual/ViewHWInterface.cpp +++ b/src/servers/app/drawing/interface/virtual/ViewHWInterface.cpp @@ -609,20 +609,6 @@ ViewHWInterface::GetDeviceInfo(accelerant_device_info* info) } -status_t -ViewHWInterface::GetFrameBufferConfig(frame_buffer_config& config) -{ - if (!fFrontBuffer.IsSet()) - return B_ERROR; - - config.frame_buffer = fFrontBuffer->Bits(); - config.frame_buffer_dma = NULL; - config.bytes_per_row = fFrontBuffer->BytesPerRow(); - - return B_OK; -} - - status_t ViewHWInterface::GetModeList(display_mode** _modes, uint32* _count) { diff --git a/src/servers/app/drawing/interface/virtual/ViewHWInterface.h b/src/servers/app/drawing/interface/virtual/ViewHWInterface.h index cf2f473ffc..14a22824ff 100644 --- a/src/servers/app/drawing/interface/virtual/ViewHWInterface.h +++ b/src/servers/app/drawing/interface/virtual/ViewHWInterface.h @@ -30,8 +30,6 @@ public: virtual void GetMode(display_mode* mode); virtual status_t GetDeviceInfo(accelerant_device_info* info); - virtual status_t GetFrameBufferConfig( - frame_buffer_config& config); virtual status_t GetModeList(display_mode** _modeList, uint32* _count);