feat: VESA rendering implementation & LVGL for graphics drawing #10

Merged
admin merged 42 commits from feature/lvgl into develop 2026-03-01 02:25:51 +00:00
2 changed files with 28 additions and 5 deletions
Showing only changes of commit cd925e96c2 - Show all commits

No files matched your search

+23
View File
@@ -291,6 +291,28 @@ begin
end;
end;
procedure enableAVX();
begin
if CPUID.Capabilities1^.AVX then begin
asm
PUSH EAX
PUSH ECX
PUSH EDX
XOR ECX, ECX
db $0F
db $01
db $D0
OR EAX, 7
db $0F
db $01
db $D1
POP EDX
POP ECX
POP EAX
end;
end;
end;
procedure init();
begin
terminal.registerCommand('CPU', @Terminal_Command_CPU, 'CPU Info.');
@@ -300,6 +322,7 @@ begin
getCPUCapabilities;
getCPUClockSpeed;
enableSSE;
enableAVX;
end;
end.
+5 -5
View File
@@ -125,14 +125,14 @@ end;
procedure Flush();
var
x,y : uint32;
Back,Front : PuInt32;
Back,Front : PuInt64;
begin
if not(VESA.BackBuffer.Initialized) then exit;
Back:= PUint32(VESA.BackBuffer.Location);
Front:= PuInt32(VESA.Framebuffer.Location);
for x:=0 to VESA.Framebuffer.Width-1 do begin
for y:=0 to VESA.Framebuffer.Height-1 do begin
Back:= PUint64(VESA.BackBuffer.Location);
Front:= PuInt64(VESA.Framebuffer.Location);
for x:=0 to (VESA.Framebuffer.Width-1) div 2 do begin
for y:=0 to (VESA.Framebuffer.Height-1) div 2 do begin
Front[(Y * VESA.Framebuffer.Width)+X]:= Back[(Y * VESA.Framebuffer.Width)+X];
end;
end;