mirror of
https://github.com/red-prig/fpPS4.git
synced 2025-02-17 04:27:55 +00:00
+
This commit is contained in:
parent
67a9d54224
commit
1ba371dafa
@ -16,6 +16,25 @@ uses
|
||||
|
||||
implementation
|
||||
|
||||
const
|
||||
//SceCompositorCommandType
|
||||
kSceCompositorCommandLocalStall =$0;
|
||||
kSceCompositorCommandNop =$1;
|
||||
kSceCompositorCommandGnmContext =$2;
|
||||
kSceCompositorCommandSeparateContext =$3;
|
||||
kSceCompositorCommandCompositeCanvas =$4;
|
||||
kSceCompositorCommandRequestInvalideCanvas=$5;
|
||||
kSceCompositorCommandEndOfFrame =$6;
|
||||
kSceCompositorCommandRepeat =$7;
|
||||
kSceCompositorCommandEvent =$8;
|
||||
kSceCompositorCommandMemory =$9;
|
||||
kSceCompositorCommandGameSurfaceControl =$a;
|
||||
kSceCompositorCommandPatch =$b;
|
||||
kSceCompositorCommandDebugPosition =$c;
|
||||
kSceCompositorCommandAcceptQuitRequest =$d;
|
||||
kSceCompositorCommandAcceptInvalidCanvas =$e;
|
||||
//sceCompositorSetPostEventCommand = 0x15
|
||||
|
||||
type
|
||||
TMemInfo=packed record
|
||||
addr :Pointer;
|
||||
@ -64,6 +83,16 @@ begin
|
||||
Result:=0;
|
||||
end;
|
||||
|
||||
function ps4_sceCompositorInit(sharedSystemMemorySize:DWORD;
|
||||
sharedVideoMemorySize :DWORD;
|
||||
privateVideoMemorySize:DWORD):Integer; SysV_ABI_CDecl;
|
||||
begin
|
||||
Result:=ps4_sceCompositorInitWithProcessOrder(sharedSystemMemorySize,
|
||||
sharedVideoMemorySize ,
|
||||
privateVideoMemorySize,
|
||||
0);
|
||||
end;
|
||||
|
||||
function ps4_sceCompositorGetSystemAddress():Pointer; SysV_ABI_CDecl;
|
||||
begin
|
||||
Result:=g_System.addr;
|
||||
@ -96,18 +125,6 @@ begin
|
||||
Result:=0;
|
||||
end;
|
||||
|
||||
function ps4_sceCompositorSetDebugPositionCommand(canvasId:Byte;
|
||||
x,y,width,height:WORD):Integer; SysV_ABI_CDecl;
|
||||
begin
|
||||
Writeln('sceCompositorSetDebugPositionCommand:',canvasId);
|
||||
Writeln(' x :',x );
|
||||
Writeln(' y :',y );
|
||||
Writeln(' width :',width );
|
||||
Writeln(' height:',height);
|
||||
|
||||
Result:=0;
|
||||
end;
|
||||
|
||||
function ps4_sceCompositorIsDebugCaptureEnabled():Integer; SysV_ABI_CDecl;
|
||||
begin
|
||||
Result:=0;
|
||||
@ -156,9 +173,22 @@ begin
|
||||
Result:=0;
|
||||
end;
|
||||
|
||||
function ps4_sceCompositorSetDebugPositionCommand(canvasId:Byte;
|
||||
x,y,width,height:WORD):Integer; SysV_ABI_CDecl;
|
||||
begin
|
||||
//(SceCompositorCommand)(dbuf * 0x100 | 0xc);
|
||||
Writeln('sceCompositorSetDebugPositionCommand:',canvasId);
|
||||
Writeln(' x :',x );
|
||||
Writeln(' y :',y );
|
||||
Writeln(' width :',width );
|
||||
Writeln(' height:',height);
|
||||
Result:=0;
|
||||
end;
|
||||
|
||||
//set texture to canvas id
|
||||
function ps4_sceCompositorSetCompositeCanvasCommandInC(canvasId:Byte;tex:PDWORD):Integer; SysV_ABI_CDecl;
|
||||
begin
|
||||
//(SceCompositorCommand)(dbuf * 0x100 | 0x4);
|
||||
Writeln(StdWrn,'sceCompositorSetCompositeCanvasCommandInC:',canvasId);
|
||||
print_tsharp8(PTSharpResource8(tex));
|
||||
Result:=0;
|
||||
@ -170,10 +200,38 @@ function ps4_sceCompositorSetGnmContextCommand(
|
||||
ccbGpuAddress :Pointer;
|
||||
ccbSizeInByte :DWORD):Integer; SysV_ABI_CDecl;
|
||||
begin
|
||||
//(SceCompositorCommand)(dbuf * 0x100 | 0x2);
|
||||
Writeln(StdWrn,'sceCompositorSetCompositeCanvasCommandInC');
|
||||
Result:=0;
|
||||
end;
|
||||
|
||||
function ps4_sceCompositorSetPostEventCommand(event:Byte):Integer; SysV_ABI_CDecl;
|
||||
begin
|
||||
//(SceCompositorCommand)(cmd << 8 | 0x15);
|
||||
Writeln(StdWrn,'sceCompositorSetPostEventCommand:',event);
|
||||
Result:=0;
|
||||
end;
|
||||
|
||||
function ps4_sceCompositorWaitPostEvent(bit_num:Byte):Integer; SysV_ABI_CDecl;
|
||||
begin
|
||||
//1 << (bit_num & 63)
|
||||
Writeln(StdWrn,'sceCompositorWaitPostEvent:',bit_num);
|
||||
Result:=0;
|
||||
end;
|
||||
|
||||
function ps4_sceCompositorFlush():Integer; SysV_ABI_CDecl;
|
||||
begin
|
||||
//(SceCompositorCommand)0x0;
|
||||
//(SceCompositorCommand)0x1;
|
||||
Writeln(StdWrn,'sceCompositorFlush');
|
||||
Result:=0;
|
||||
end;
|
||||
|
||||
function ps4_sceCompositorCheckCrash(param:Byte):Integer; SysV_ABI_CDecl;
|
||||
begin
|
||||
Result:=0;
|
||||
end;
|
||||
|
||||
function Load_libSceComposite(Const name:RawByteString):TElf_node;
|
||||
var
|
||||
lib:PLIBRARY;
|
||||
@ -183,6 +241,7 @@ begin
|
||||
|
||||
lib:=Result._add_lib('libSceComposite');
|
||||
|
||||
lib^.set_proc($C4891C12974CC6BC,@ps4_sceCompositorInit);
|
||||
lib^.set_proc($2149691A7BA84757,@ps4_sceCompositorInitWithProcessOrder);
|
||||
|
||||
lib^.set_proc($4FA09591D0833BBA,@ps4_sceCompositorGetSystemAddress);
|
||||
@ -198,12 +257,16 @@ begin
|
||||
|
||||
lib^.set_proc($37B3EB33E94F316D,@ps4_sceCompositorGetCanvasHandle);
|
||||
|
||||
lib^.set_proc($7472BEAAEE43D873,@ps4_sceCompositorSetDebugPositionCommand);
|
||||
lib^.set_proc($ABE430D444B10A3F,@ps4_sceCompositorIsDebugCaptureEnabled);
|
||||
lib^.set_proc($FF02001B9F3C9AF8,@ps4_sceCompositorInsertThreadTraceMarker);
|
||||
|
||||
lib^.set_proc($7472BEAAEE43D873,@ps4_sceCompositorSetDebugPositionCommand);
|
||||
lib^.set_proc($815A0E137D804E0D,@ps4_sceCompositorSetCompositeCanvasCommandInC);
|
||||
lib^.set_proc($0E1B4A7A554021A0,@ps4_sceCompositorSetGnmContextCommand);
|
||||
lib^.set_proc($DD0F397B9712DDED,@ps4_sceCompositorSetPostEventCommand);
|
||||
lib^.set_proc($75E2A8BDFDEA5620,@ps4_sceCompositorWaitPostEvent);
|
||||
lib^.set_proc($A99345D37FA084B2,@ps4_sceCompositorFlush);
|
||||
lib^.set_proc($F4CEC791BC14B3F1,@ps4_sceCompositorCheckCrash);
|
||||
end;
|
||||
|
||||
initialization
|
||||
|
Loading…
x
Reference in New Issue
Block a user