Improvements to FrameBuffer support

这个提交包含在:
Rafal Kupiec 2024-03-09 15:07:33 +01:00
父节点 475561b038
当前提交 a4c22ab5e8
签署人:: belliash
GPG 密钥 ID: 4E829243E0CFE6B4
共有 3 个文件被更改,包括 5 次插入5 次删除

查看文件

@ -146,7 +146,7 @@ typedef struct _CPPORT
typedef struct _HAL_FRAMEBUFFER_DATA
{
BOOLEAN Initialized;
PULONG Address;
PVOID Address;
ULONG_PTR BufferSize;
UINT Width;
UINT Height;

查看文件

@ -42,7 +42,7 @@ XtGetDisplayInformation(OUT PLOADER_GRAPHICS_INFORMATION_BLOCK InformationBlock,
{
InformationBlock->Initialized = FrameBufferInfo->Initialized;
InformationBlock->Protocol = FrameBufferInfo->Protocol;
InformationBlock->Address = (PVOID)(ULONG_PTR)FrameBufferInfo->FrameBufferBase;
InformationBlock->Address = (PVOID)FrameBufferInfo->FrameBufferBase;
InformationBlock->BufferSize = FrameBufferInfo->FrameBufferSize;
InformationBlock->Width = FrameBufferInfo->Width;
InformationBlock->Height = FrameBufferInfo->Height;

查看文件

@ -71,10 +71,10 @@ HlDrawPixel(IN ULONG PositionX,
}
/* Calculate the index of the pixel in the frame buffer memory using the provided x and y coordinates */
FrameBufferIndex = PositionY * HlpFrameBufferData.PixelsPerScanLine + PositionX;
FrameBufferIndex = 4 * HlpFrameBufferData.PixelsPerScanLine * PositionY + 4 * PositionX;
/* Set the color of the pixel by writing to the corresponding memory location */
HlpFrameBufferData.Address[FrameBufferIndex] = Color;
*((PUINT)(HlpFrameBufferData.Address + FrameBufferIndex)) = Color;
}
/**
@ -104,7 +104,7 @@ HlInitializeFrameBuffer(VOID)
}
/* Save framebuffer information and mark display as initialized */
HlpFrameBufferData.Address = (PULONG)KeInitializationBlock->LoaderInformation.FrameBuffer.Address;
HlpFrameBufferData.Address = KeInitializationBlock->LoaderInformation.FrameBuffer.Address;
HlpFrameBufferData.Width = KeInitializationBlock->LoaderInformation.FrameBuffer.Width;
HlpFrameBufferData.Height = KeInitializationBlock->LoaderInformation.FrameBuffer.Height;
HlpFrameBufferData.BitsPerPixel = KeInitializationBlock->LoaderInformation.FrameBuffer.BitsPerPixel;