Fix AQL packet lookup in dynamic scratch event handler

Read index was not wrapped correctly.

Change-Id: I25c901b61e4760990871e22468ffd0391abef244
此提交包含在:
Jay Cornwall
2016-10-14 09:21:39 -05:00
父節點 d66af9718e
當前提交 c83846cd45
+3 -2
查看文件
@@ -670,9 +670,10 @@ bool AqlQueue::DynamicScratchHandler(hsa_signal_value_t error_code, void* arg) {
queue->agent_->ReleaseQueueScratch(scratch.queue_base);
uint64_t pkt_slot_idx = queue->amd_queue_.read_dispatch_id % queue->amd_queue_.hsa_queue.size;
const core::AqlPacket& pkt =
((core::AqlPacket*)queue->amd_queue_.hsa_queue
.base_address)[queue->amd_queue_.read_dispatch_id];
((core::AqlPacket*)queue->amd_queue_.hsa_queue.base_address)[pkt_slot_idx];
uint32_t scratch_request = pkt.dispatch.private_segment_size;