From 7a6aaafe520f7a57bb537d1027e9c8477441051a Mon Sep 17 00:00:00 2001 From: nmzik Date: Sun, 30 Aug 2026 23:49:08 +0400 Subject: [PATCH] agc: expose async copy and wait packet sizes --- src/libs/agc.cpp | 12 ++++++++++++ src/libs/agc.h | 2 ++ src/libs/libAgcDriver.cpp | 2 ++ 3 files changed, 16 insertions(+) diff --git a/src/libs/agc.cpp b/src/libs/agc.cpp index 9766c73af..820e069f0 100644 --- a/src/libs/agc.cpp +++ b/src/libs/agc.cpp @@ -3252,6 +3252,12 @@ uint32_t* KYTY_SYSV_ABI AgcAcbWaitRegMem(CommandBuffer* buf, uint8_t size, uint8 poll_cycles); } +uint64_t KYTY_SYSV_ABI AgcAcbWaitOnAddressGetSize(uint8_t size) { + PRINT_NAME(); + + return AgcDcbWaitOnAddressGetSize(size); +} + uint32_t* KYTY_SYSV_ABI AgcAcbDmaData(CommandBuffer* buf, uint8_t dst, uint8_t dst_cache_policy, uint64_t dst_address_or_offset, uint8_t src, uint8_t src_cache_policy, @@ -3323,6 +3329,12 @@ uint32_t* KYTY_SYSV_ABI AgcAcbCopyData(CommandBuffer* buf, uint8_t dst, uint8_t return cmd; } +uint64_t KYTY_SYSV_ABI AgcAcbCopyDataGetSize() { + PRINT_NAME(); + + return AgcDcbCopyDataGetSize(); +} + uint32_t* KYTY_SYSV_ABI AgcAcbDispatchIndirect(CommandBuffer* buf, const volatile void* indirect_args, uint32_t modifier) { diff --git a/src/libs/agc.h b/src/libs/agc.h index 850587b77..29f471a7c 100644 --- a/src/libs/agc.h +++ b/src/libs/agc.h @@ -208,6 +208,7 @@ uint32_t KYTY_SYSV_ABI AgcAcbJumpGetSize(); uint32_t* KYTY_SYSV_ABI AgcAcbWaitRegMem(CommandBuffer* buf, uint8_t size, uint8_t compare_function, uint8_t cache_policy, const volatile void* address, uint64_t reference, uint64_t mask, uint32_t poll_cycles); +uint64_t KYTY_SYSV_ABI AgcAcbWaitOnAddressGetSize(uint8_t size); uint32_t* KYTY_SYSV_ABI AgcAcbDmaData(CommandBuffer* buf, uint8_t dst, uint8_t dst_cache_policy, uint64_t dst_address_or_offset, uint8_t src, uint8_t src_cache_policy, @@ -218,6 +219,7 @@ uint32_t* KYTY_SYSV_ABI AgcAcbCopyData(CommandBuffer* buf, uint8_t dst, uint8_t uint64_t dst_address, uint8_t src, uint8_t src_cache_policy, uint64_t src_address_or_immediate, uint8_t item_size, uint8_t write_confirm); +uint64_t KYTY_SYSV_ABI AgcAcbCopyDataGetSize(); uint32_t* KYTY_SYSV_ABI AgcAcbDispatchIndirect(CommandBuffer* buf, const volatile void* indirect_args, uint32_t modifier); diff --git a/src/libs/libAgcDriver.cpp b/src/libs/libAgcDriver.cpp index 77643564a..6ee476a43 100644 --- a/src/libs/libAgcDriver.cpp +++ b/src/libs/libAgcDriver.cpp @@ -75,8 +75,10 @@ LIB_DEFINE(InitAgcDriver_1) { LIB_FUNC("ozKzBP4aki4", Gen5::AgcAcbCondExecGetSize); LIB_FUNC("b-oySn+G2tE", Gen5::AgcAcbJumpGetSize); LIB_FUNC("htn36gPnBk4", Gen5::AgcAcbWaitRegMem); + LIB_FUNC("idlaArvdXEs", Gen5::AgcAcbWaitOnAddressGetSize); LIB_FUNC("-RnpfpxIhec", Gen5::AgcAcbDmaData); LIB_FUNC("qzMN2XKGA4k", Gen5::AgcAcbCopyData); + LIB_FUNC("CbQh3DKMSno", Gen5::AgcAcbCopyDataGetSize); LIB_FUNC("j3EtxFkSIhQ", Gen5::AgcAcbDispatchIndirect); LIB_FUNC("eZ4+17OQz4Q", Gen5::AgcAcbWriteData); LIB_FUNC("xAeBOa0A3kk", Gen5::AgcAcbSetMarker);