mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-28 13:56:59 +01:00
agc: trace per-frame packet parameters only with graphics debug dump
The per-frame ACB submit, indirect dispatch, reset-queue and patch-address parameter dumps, and the flip-pending poll, are logged only with the graphics debug dump, the way the DCB submit path already is. Otherwise they were about 7.5 MB of log a minute in the Spider-Man world.
This commit is contained in:
@@ -1556,7 +1556,9 @@ KYTY_SYSV_ABI int VideoOutIsFlipPending(int handle) {
|
|||||||
VideoOutFlipStatus status {};
|
VideoOutFlipStatus status {};
|
||||||
DriverState().GetFlipQueue().GetFlipStatus(*ctx, status);
|
DriverState().GetFlipQueue().GetFlipStatus(*ctx, status);
|
||||||
|
|
||||||
|
if (Config::GraphicsDebugDumpEnabled()) {
|
||||||
LOGF("\t flipPendingNum = %d\n", status.flipPendingNum);
|
LOGF("\t flipPendingNum = %d\n", status.flipPendingNum);
|
||||||
|
}
|
||||||
|
|
||||||
return status.flipPendingNum;
|
return status.flipPendingNum;
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-11
@@ -2110,7 +2110,7 @@ uint32_t KYTY_SYSV_ABI AgcCbQueueEndOfPipeActionGetSize() {
|
|||||||
uint32_t* KYTY_SYSV_ABI AgcAcbResetQueue(CommandBuffer* buf, uint32_t op) {
|
uint32_t* KYTY_SYSV_ABI AgcAcbResetQueue(CommandBuffer* buf, uint32_t op) {
|
||||||
PRINT_NAME();
|
PRINT_NAME();
|
||||||
|
|
||||||
LOGF("\t op = 0x%08" PRIx32 "\n", op);
|
AgcTrace("\t op = 0x%08" PRIx32 "\n", op);
|
||||||
|
|
||||||
EXIT_NOT_IMPLEMENTED(buf == nullptr);
|
EXIT_NOT_IMPLEMENTED(buf == nullptr);
|
||||||
EXIT_NOT_IMPLEMENTED((op & ~0x1c2u) != 0);
|
EXIT_NOT_IMPLEMENTED((op & ~0x1c2u) != 0);
|
||||||
@@ -2130,7 +2130,7 @@ uint32_t* KYTY_SYSV_ABI AgcAcbResetQueue(CommandBuffer* buf, uint32_t op) {
|
|||||||
uint32_t* KYTY_SYSV_ABI AgcDcbResetQueue(CommandBuffer* buf, uint32_t op, uint32_t state) {
|
uint32_t* KYTY_SYSV_ABI AgcDcbResetQueue(CommandBuffer* buf, uint32_t op, uint32_t state) {
|
||||||
PRINT_NAME();
|
PRINT_NAME();
|
||||||
|
|
||||||
LOGF("\t op = 0x%08" PRIx32 "\n"
|
AgcTrace("\t op = 0x%08" PRIx32 "\n"
|
||||||
"\t state = 0x%08" PRIx32 "\n",
|
"\t state = 0x%08" PRIx32 "\n",
|
||||||
op, state);
|
op, state);
|
||||||
|
|
||||||
@@ -2749,7 +2749,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbSetBaseIndirectArgs(CommandBuffer* buf, uint32_t s
|
|||||||
const volatile void* indirect_base_addr) {
|
const volatile void* indirect_base_addr) {
|
||||||
PRINT_NAME();
|
PRINT_NAME();
|
||||||
|
|
||||||
LOGF("\t shader_type = %" PRIu32 "\n"
|
AgcTrace("\t shader_type = %" PRIu32 "\n"
|
||||||
"\t indirect_base_addr = 0x%016" PRIx64 "\n",
|
"\t indirect_base_addr = 0x%016" PRIx64 "\n",
|
||||||
shader_type, reinterpret_cast<uint64_t>(indirect_base_addr));
|
shader_type, reinterpret_cast<uint64_t>(indirect_base_addr));
|
||||||
|
|
||||||
@@ -2941,7 +2941,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbDispatchIndirect(CommandBuffer* buf, uint32_t data
|
|||||||
uint32_t flags) {
|
uint32_t flags) {
|
||||||
PRINT_NAME();
|
PRINT_NAME();
|
||||||
|
|
||||||
LOGF("\t data_offset = 0x%" PRIx32 "\n"
|
AgcTrace("\t data_offset = 0x%" PRIx32 "\n"
|
||||||
"\t flags = 0x%08" PRIx32 "\n",
|
"\t flags = 0x%08" PRIx32 "\n",
|
||||||
data_offset_in_bytes, flags);
|
data_offset_in_bytes, flags);
|
||||||
|
|
||||||
@@ -3294,7 +3294,7 @@ uint32_t* KYTY_SYSV_ABI AgcAcbDispatchIndirect(CommandBuffer* buf,
|
|||||||
uint32_t modifier) {
|
uint32_t modifier) {
|
||||||
PRINT_NAME();
|
PRINT_NAME();
|
||||||
|
|
||||||
LOGF("\t indirect_args = 0x%016" PRIx64 "\n"
|
AgcTrace("\t indirect_args = 0x%016" PRIx64 "\n"
|
||||||
"\t modifier = 0x%08" PRIx32 "\n",
|
"\t modifier = 0x%08" PRIx32 "\n",
|
||||||
reinterpret_cast<uint64_t>(indirect_args), modifier);
|
reinterpret_cast<uint64_t>(indirect_args), modifier);
|
||||||
|
|
||||||
@@ -3724,7 +3724,7 @@ int KYTY_SYSV_ABI AgcCondExecPatchSetCommandAddress(uint32_t* cmd
|
|||||||
const volatile uint32_t* command) {
|
const volatile uint32_t* command) {
|
||||||
PRINT_NAME();
|
PRINT_NAME();
|
||||||
|
|
||||||
LOGF("\t cmd = 0x%016" PRIx64 "\n"
|
AgcTrace("\t cmd = 0x%016" PRIx64 "\n"
|
||||||
"\t command = 0x%016" PRIx64 "\n",
|
"\t command = 0x%016" PRIx64 "\n",
|
||||||
reinterpret_cast<uint64_t>(cmd), reinterpret_cast<uint64_t>(command));
|
reinterpret_cast<uint64_t>(cmd), reinterpret_cast<uint64_t>(command));
|
||||||
|
|
||||||
@@ -3868,7 +3868,7 @@ static uint32_t* get_agc_wait_packet(uint32_t* cmd) {
|
|||||||
int KYTY_SYSV_ABI AgcWaitRegMemPatchAddress(uint32_t* cmd, const volatile void* address) {
|
int KYTY_SYSV_ABI AgcWaitRegMemPatchAddress(uint32_t* cmd, const volatile void* address) {
|
||||||
PRINT_NAME();
|
PRINT_NAME();
|
||||||
|
|
||||||
LOGF("\t cmd = 0x%016" PRIx64 "\n"
|
AgcTrace("\t cmd = 0x%016" PRIx64 "\n"
|
||||||
"\t address = 0x%016" PRIx64 "\n",
|
"\t address = 0x%016" PRIx64 "\n",
|
||||||
reinterpret_cast<uint64_t>(cmd), reinterpret_cast<uint64_t>(address));
|
reinterpret_cast<uint64_t>(cmd), reinterpret_cast<uint64_t>(address));
|
||||||
|
|
||||||
@@ -3913,7 +3913,7 @@ int KYTY_SYSV_ABI AgcQueueEndOfPipeActionPatchAddress(uint32_t* cmd,
|
|||||||
|
|
||||||
// Not sure
|
// Not sure
|
||||||
|
|
||||||
LOGF("\t cmd = 0x%016" PRIx64 "\n"
|
AgcTrace("\t cmd = 0x%016" PRIx64 "\n"
|
||||||
"\t address = 0x%016" PRIx64 "\n",
|
"\t address = 0x%016" PRIx64 "\n",
|
||||||
reinterpret_cast<uint64_t>(cmd), reinterpret_cast<uint64_t>(address));
|
reinterpret_cast<uint64_t>(cmd), reinterpret_cast<uint64_t>(address));
|
||||||
|
|
||||||
@@ -4246,7 +4246,7 @@ static void submit_acb(uint32_t queue, uint32_t* acb, uint32_t size_in_dwords) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (uint32_t i = 0; i < std::min<uint32_t>(size_in_dwords, 8); i++) {
|
for (uint32_t i = 0; i < std::min<uint32_t>(size_in_dwords, 8); i++) {
|
||||||
LOGF("\t acb[%u] = 0x%08" PRIx32 "\n", i, acb[i]);
|
AgcTrace("\t acb[%u] = 0x%08" PRIx32 "\n", i, acb[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
GraphicsDbgDumpDcb("a", size_in_dwords, acb);
|
GraphicsDbgDumpDcb("a", size_in_dwords, acb);
|
||||||
@@ -4322,14 +4322,14 @@ int KYTY_SYSV_ABI AgcDriverSubmitMultiCommandBuffers(void* queue_cont
|
|||||||
int KYTY_SYSV_ABI AgcDriverSubmitAcb(uint32_t queue, const Packet* packet) {
|
int KYTY_SYSV_ABI AgcDriverSubmitAcb(uint32_t queue, const Packet* packet) {
|
||||||
PRINT_NAME();
|
PRINT_NAME();
|
||||||
|
|
||||||
LOGF("\t queue = 0x%08" PRIx32 "\n"
|
AgcTrace("\t queue = 0x%08" PRIx32 "\n"
|
||||||
"\t packet = 0x%016" PRIx64 "\n",
|
"\t packet = 0x%016" PRIx64 "\n",
|
||||||
queue, reinterpret_cast<uint64_t>(packet));
|
queue, reinterpret_cast<uint64_t>(packet));
|
||||||
|
|
||||||
if (packet == nullptr) {
|
if (packet == nullptr) {
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
LOGF("\t acb = 0x%016" PRIx64 "\n"
|
AgcTrace("\t acb = 0x%016" PRIx64 "\n"
|
||||||
"\t size = 0x%08" PRIx32 "\n"
|
"\t size = 0x%08" PRIx32 "\n"
|
||||||
"\t flags = 0x%02" PRIx8 "\n",
|
"\t flags = 0x%02" PRIx8 "\n",
|
||||||
reinterpret_cast<uint64_t>(packet->addr), packet->dw_num, packet->flags);
|
reinterpret_cast<uint64_t>(packet->addr), packet->dw_num, packet->flags);
|
||||||
|
|||||||
Reference in New Issue
Block a user