From 82c0e082e4bbc03a47b2576676875cfd4ec26eb6 Mon Sep 17 00:00:00 2001 From: Pavel <68122101+red-prig@users.noreply.github.com> Date: Wed, 9 Oct 2024 22:09:35 +0300 Subject: [PATCH] + --- chip/pm4_me.pas | 2 +- chip/pm4_stream.pas | 2 +- gui/game_run.pas | 7 ++++++- sys/dev/dev_gc.pas | 4 +++- sys/dev/display_soft.pas | 5 ++++- sys/md/md_systm.pas | 1 + vulkan/vShaderExt.pas | 2 +- 7 files changed, 17 insertions(+), 6 deletions(-) diff --git a/chip/pm4_me.pas b/chip/pm4_me.pas index 1d13f2be..707868ce 100644 --- a/chip/pm4_me.pas +++ b/chip/pm4_me.pas @@ -322,7 +322,7 @@ begin if (sheduler.count=Length(stall)) then begin //wait - msleep_td(hz div 1000); + msleep_td(hz div 10000); // sheduler.count:=0; end; diff --git a/chip/pm4_stream.pas b/chip/pm4_stream.pas index d44fa1ce..9b8ca3db 100644 --- a/chip/pm4_stream.pas +++ b/chip/pm4_stream.pas @@ -722,7 +722,7 @@ var r:p_pm4_resource; i:p_pm4_resource_instance; begin - if (rkey.cformat=VK_FORMAT_UNDEFINED) then Exit; + if (rkey.cformat=VK_FORMAT_UNDEFINED) then Exit(nil); r:=fetch_image_resource(rkey); i:=fetch_resource_instance(scope,r,mem_usage,img_usage); diff --git a/gui/game_run.pas b/gui/game_run.pas index 179371fd..369322ea 100644 --- a/gui/game_run.pas +++ b/gui/game_run.pas @@ -304,6 +304,8 @@ begin end; function run_item(const cfg:TGameRunConfig):TGameProcess; +label + _error; var r:Integer; @@ -322,6 +324,7 @@ var mem:TMemoryStream; begin Result:=nil; + r:=0; GameStartupInfo:=TGameStartupInfo.Create(False); GameStartupInfo.FConfInfo:=cfg.FConfInfo; @@ -339,7 +342,8 @@ begin with TGameProcessPipe(Result) do begin - md_pipe2(@kern2mgui,MD_PIPE_ASYNC0 or MD_PIPE_ASYNC1); + r:=md_pipe2(@kern2mgui,MD_PIPE_ASYNC0 or MD_PIPE_ASYNC1); + if (r<>0) then goto _error; p_mgui_ipc:=THostIpcPipeMGUI.Create; p_mgui_ipc.set_pipe(kern2mgui[0]); @@ -395,6 +399,7 @@ begin if (r<>0) then begin + _error: ShowMessage('error run process code=0x'+HexStr(r,8)); FreeAndNil(Result); Exit; diff --git a/sys/dev/dev_gc.pas b/sys/dev/dev_gc.pas index 3f701e9a..f6527279 100644 --- a/sys/dev/dev_gc.pas +++ b/sys/dev/dev_gc.pas @@ -19,6 +19,7 @@ uses errno, kern_mtx, sys_event, + sched_ule, kern_authinfo, vm, vmparam, @@ -274,6 +275,7 @@ var p_id:DWORD; send:DWORD; begin + sched_prio(curkthread,64); if LoadVulkan then begin @@ -397,7 +399,7 @@ begin RTLEventWaitFor(ring_watchdog); end else begin - msleep_td(hz div 1000); + msleep_td(hz div 10000); end; until false; diff --git a/sys/dev/display_soft.pas b/sys/dev/display_soft.pas index ad3d6aaf..7dd2efd7 100644 --- a/sys/dev/display_soft.pas +++ b/sys/dev/display_soft.pas @@ -9,7 +9,8 @@ uses display_interface, time, kern_thr, - kern_mtx; + kern_mtx, + sched_ule; type p_attr=^t_attr; @@ -1098,6 +1099,8 @@ var dce:TDisplayHandleSoft; Node:PQNodeSubmit; begin + sched_prio(curkthread,64); + dce:=TDisplayHandleSoft(parameter); repeat diff --git a/sys/md/md_systm.pas b/sys/md/md_systm.pas index 6bc1a559..2306e5e1 100644 --- a/sys/md/md_systm.pas +++ b/sys/md/md_systm.pas @@ -333,6 +333,7 @@ var guest_pmap_mem:array[0..2] of t_addr_range; begin + Result:=0; guest_pmap_mem:=pmap_mem; // if Length(guest_pmap_mem)<>0 then diff --git a/vulkan/vShaderExt.pas b/vulkan/vShaderExt.pas index 25684037..a3178187 100644 --- a/vulkan/vShaderExt.pas +++ b/vulkan/vShaderExt.pas @@ -474,7 +474,7 @@ end; procedure TvShaderParserExt.OnSourceExtension(P:PChar); begin - Writeln(P); + //Writeln(P); Case P^ of '#':OnDataLayout(P); '!':OnIExtLayout(P);