No longer computes a wrong frame buffer size for 15 bit modes.

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11347 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2005-02-12 03:12:19 +00:00
parent ec4fd18f03
commit 1252c6cfae
1 changed files with 3 additions and 2 deletions

View File

@ -410,12 +410,13 @@ platform_switch_to_logo(void)
}
addr_t lastBase = gKernelArgs.frame_buffer.physical_buffer.start;
int32 bytesPerPixel = (modeInfo.bits_per_pixel + 7) / 8;
gKernelArgs.frame_buffer.width = modeInfo.width;
gKernelArgs.frame_buffer.height = modeInfo.height;
gKernelArgs.frame_buffer.depth = modeInfo.bits_per_pixel;
gKernelArgs.frame_buffer.physical_buffer.size = gKernelArgs.frame_buffer.width
* gKernelArgs.frame_buffer.height * (gKernelArgs.frame_buffer.depth / 8);
* gKernelArgs.frame_buffer.height * bytesPerPixel;
gKernelArgs.frame_buffer.physical_buffer.start = modeInfo.physical_base;
// ToDo: we assume that physical base is constant through the different resolutions
@ -450,7 +451,7 @@ platform_switch_to_logo(void)
// ToDo: this is a temporary hack!
addr_t start = sFrameBuffer + gKernelArgs.frame_buffer.width
* (gKernelArgs.frame_buffer.height - kHeight - 60)
* (gKernelArgs.frame_buffer.depth/8) + gKernelArgs.frame_buffer.width - kWidth - 40;
* bytesPerPixel + gKernelArgs.frame_buffer.width - kWidth - 40;
for (int32 i = 0; i < kHeight; i++) {
memcpy((void *)(start + gKernelArgs.frame_buffer.width * i),
&kImageData[i * kWidth], kWidth);