mirror of
https://github.com/RPCSX/rpcsx.git
synced 2025-03-01 06:55:48 +00:00
dce: add FlipControlStatus2
This commit is contained in:
parent
2d407fbf33
commit
b96cc207bc
@ -85,6 +85,21 @@ struct FlipControlStatus {
|
||||
std::uint64_t unk1;
|
||||
};
|
||||
|
||||
struct FlipControlStatus2 {
|
||||
uint64_t count;
|
||||
uint64_t processTime;
|
||||
uint64_t reserved0;
|
||||
int64_t flipArg;
|
||||
uint64_t unk0;
|
||||
uint64_t processTimeCounter;
|
||||
int32_t gcQueueNum;
|
||||
int32_t flipPendingNum;
|
||||
int32_t currentBuffer;
|
||||
uint32_t unk1;
|
||||
uint64_t submitProcessTimeCounter;
|
||||
uint64_t unk2[7];
|
||||
};
|
||||
|
||||
struct FlipControlArgs {
|
||||
std::uint32_t id;
|
||||
std::uint32_t padding;
|
||||
@ -364,6 +379,17 @@ static orbis::ErrorCode dce_ioctl(orbis::File *file, std::uint64_t request,
|
||||
}
|
||||
}
|
||||
|
||||
if (args->id == 0xa) {
|
||||
FlipControlStatus2 flipStatus{};
|
||||
flipStatus.flipArg = gpuCtx.flipArg[thread->tproc->vmId];
|
||||
flipStatus.count = gpuCtx.flipCount[thread->tproc->vmId];
|
||||
flipStatus.currentBuffer = gpuCtx.flipBuffer[thread->tproc->vmId];
|
||||
// TODO
|
||||
|
||||
std::memcpy(args->ptr, &flipStatus, sizeof(FlipControlStatus2));
|
||||
return {};
|
||||
}
|
||||
|
||||
ORBIS_LOG_FATAL("dce: unimplemented 0x80308217 request", args->id,
|
||||
args->padding, args->arg2, args->ptr, args->size,
|
||||
args->arg5, args->arg6);
|
||||
|
Loading…
x
Reference in New Issue
Block a user