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;
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(); procedure init();
begin begin
terminal.registerCommand('CPU', @Terminal_Command_CPU, 'CPU Info.'); terminal.registerCommand('CPU', @Terminal_Command_CPU, 'CPU Info.');
@@ -300,6 +322,7 @@ begin
getCPUCapabilities; getCPUCapabilities;
getCPUClockSpeed; getCPUClockSpeed;
enableSSE; enableSSE;
enableAVX;
end; end;
end. end.
+5 -5
View File
@@ -125,14 +125,14 @@ end;
procedure Flush(); procedure Flush();
var var
x,y : uint32; x,y : uint32;
Back,Front : PuInt32; Back,Front : PuInt64;
begin begin
if not(VESA.BackBuffer.Initialized) then exit; if not(VESA.BackBuffer.Initialized) then exit;
Back:= PUint32(VESA.BackBuffer.Location); Back:= PUint64(VESA.BackBuffer.Location);
Front:= PuInt32(VESA.Framebuffer.Location); Front:= PuInt64(VESA.Framebuffer.Location);
for x:=0 to VESA.Framebuffer.Width-1 do begin for x:=0 to (VESA.Framebuffer.Width-1) div 2 do begin
for y:=0 to VESA.Framebuffer.Height-1 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]; Front[(Y * VESA.Framebuffer.Width)+X]:= Back[(Y * VESA.Framebuffer.Width)+X];
end; end;
end; end;