Add more audio logging to pinpoint issues better
This commit is contained in:
parent
3b66092a5b
commit
01b790ff29
2 changed files with 17 additions and 8 deletions
|
@ -35,13 +35,14 @@ public:
|
|||
auto current{buffer + offset};
|
||||
auto aligned_buffer{Common::AlignUp(current, alignment)};
|
||||
if (aligned_buffer + byte_size <= buffer + size) {
|
||||
LOG_DEBUG(Service_Audio,
|
||||
"Workbuffer Allocate: T={} count={} align={} → ptr=0x{:X} offset=0x{:X}",
|
||||
typeid(T).name(), count, alignment, aligned_buffer, offset);
|
||||
out = aligned_buffer;
|
||||
offset = byte_size - buffer + aligned_buffer;
|
||||
} else {
|
||||
LOG_ERROR(
|
||||
Service_Audio,
|
||||
"Allocated buffer was too small to hold new alloc.\nAllocator size={:08X}, "
|
||||
"offset={:08X}.\nAttempting to allocate {:08X} with alignment={:02X}",
|
||||
LOG_ERROR(Service_Audio,
|
||||
"Workbuffer OVERFLOW: size=0x{:X} offset=0x{:X} need=0x{:X} align=0x{:X}",
|
||||
size, offset, byte_size, alignment);
|
||||
count = 0;
|
||||
}
|
||||
|
|
|
@ -21,12 +21,15 @@ namespace AudioCore::Renderer {
|
|||
template <typename T, CommandId Id>
|
||||
T& CommandBuffer::GenerateStart(const s32 node_id) {
|
||||
if (size + sizeof(T) >= command_list.size_bytes()) {
|
||||
LOG_ERROR(
|
||||
Service_Audio,
|
||||
"Attempting to write commands beyond the end of allocated command buffer memory!");
|
||||
LOG_ERROR(Service_Audio,
|
||||
"CommandBuffer OVERFLOW: size={} + {} > capacity={}",
|
||||
size_, sizeof(T), command_list.size_bytes());
|
||||
UNREACHABLE();
|
||||
}
|
||||
|
||||
LOG_TRACE(Service_Audio,
|
||||
"GenerateStart: CmdId={} node={} curSize={} → newSize={}",
|
||||
static_cast<int>(Id), node_id, size_, size_ + sizeof(T));
|
||||
auto& cmd{*std::construct_at<T>(reinterpret_cast<T*>(&command_list[size]))};
|
||||
|
||||
cmd.magic = CommandMagic;
|
||||
|
@ -44,6 +47,11 @@ void CommandBuffer::GenerateEnd(T& cmd) {
|
|||
estimated_process_time += cmd.estimated_process_time;
|
||||
size += sizeof(T);
|
||||
count++;
|
||||
|
||||
// Trace completion: how many commands & bytes are now committed
|
||||
LOG_TRACE(Service_Audio,
|
||||
"GenerateEnd<{}>: totalCmds={} totalBytes={} estTime={}",
|
||||
static_cast<int>(cmd.type), count, size, estimated_process_time);
|
||||
}
|
||||
|
||||
void CommandBuffer::GeneratePcmInt16Version1Command(const s32 node_id,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue