[XMA] fix loop trigger to guard against degenerate loop regions

This commit is contained in:
Herman S.
2026-02-20 17:25:58 +09:00
parent a509476840
commit 492e7c958c
+5 -1
View File
@@ -515,11 +515,15 @@ void XmaContextNew::UpdateLoopStatus(XMA_CONTEXT_DATA* data) {
const uint32_t loop_start = std::max(kBitsPerPacketHeader, data->loop_start);
const uint32_t loop_end = std::max(kBitsPerPacketHeader, data->loop_end);
if (loop_end <= loop_start) {
return;
}
XELOGAPU("XmaContext {}: Looped Data: {} < {} (Start: {}) Remaining: {}",
id(), data->input_buffer_read_offset, data->loop_end,
data->loop_start, data->loop_count);
if (data->input_buffer_read_offset != loop_end) {
if (data->input_buffer_read_offset < loop_end) {
return;
}