main.cc (11639:2e8d4bd8108d) main.cc (11692:e772fdcd3809)
1/*
2 * Copyright (c) 2012-2015 Advanced Micro Devices, Inc.
3 * All rights reserved.
4 *
5 * For use for simulation and test purposes only
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:

--- 165 unchanged lines hidden (view full) ---

174 w->reservedVectorRegs = 0;
175 w->startVgprIndex = 0;
176 w->computeUnit->completedWfs++;
177
178 DPRINTF(GPUExec, "Doing return for CU%d: WF[%d][%d][%d]\n",
179 w->computeUnit->cu_id, w->simdId, w->wfSlotId, w->wfDynId);
180
181 if (!refCount) {
1/*
2 * Copyright (c) 2012-2015 Advanced Micro Devices, Inc.
3 * All rights reserved.
4 *
5 * For use for simulation and test purposes only
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:

--- 165 unchanged lines hidden (view full) ---

174 w->reservedVectorRegs = 0;
175 w->startVgprIndex = 0;
176 w->computeUnit->completedWfs++;
177
178 DPRINTF(GPUExec, "Doing return for CU%d: WF[%d][%d][%d]\n",
179 w->computeUnit->cu_id, w->simdId, w->wfSlotId, w->wfDynId);
180
181 if (!refCount) {
182 setFlag(SystemScope);
183 setFlag(Release);
184 setFlag(GlobalSegment);
182 // Notify Memory System of Kernel Completion
183 // Kernel End = isKernel + isRelease
184 w->status = Wavefront::S_RETURNING;
185 GPUDynInstPtr local_mempacket = gpuDynInst;
185 // Notify Memory System of Kernel Completion
186 // Kernel End = isKernel + isRelease
187 w->status = Wavefront::S_RETURNING;
188 GPUDynInstPtr local_mempacket = gpuDynInst;
186 local_mempacket->memoryOrder = Enums::MEMORY_ORDER_SC_RELEASE;
187 local_mempacket->scope = Enums::MEMORY_SCOPE_SYSTEM;
188 local_mempacket->useContinuation = false;
189 local_mempacket->simdId = w->simdId;
190 local_mempacket->wfSlotId = w->wfSlotId;
191 local_mempacket->wfDynId = w->wfDynId;
192 w->computeUnit->injectGlobalMemFence(local_mempacket, true);
193 } else {
194 w->computeUnit->shader->dispatcher->scheduleDispatch();
195 }

--- 13 unchanged lines hidden ---
189 local_mempacket->useContinuation = false;
190 local_mempacket->simdId = w->simdId;
191 local_mempacket->wfSlotId = w->wfSlotId;
192 local_mempacket->wfDynId = w->wfDynId;
193 w->computeUnit->injectGlobalMemFence(local_mempacket, true);
194 } else {
195 w->computeUnit->shader->dispatcher->scheduleDispatch();
196 }

--- 13 unchanged lines hidden ---