diff --git a/runtime/command_queue/gpgpu_walker.h b/runtime/command_queue/gpgpu_walker.h index e1685c0b08..797ff552c8 100644 --- a/runtime/command_queue/gpgpu_walker.h +++ b/runtime/command_queue/gpgpu_walker.h @@ -130,7 +130,8 @@ class GpgpuWalkerHelper { uint32_t workDim, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, - const iOpenCL::SPatchThreadPayload &threadPayload); + const iOpenCL::SPatchThreadPayload &threadPayload, + uint32_t requiredWorkgroupOrder); static void dispatchProfilingCommandsStart( TagNode &hwTimeStamps, diff --git a/runtime/command_queue/gpgpu_walker_bdw_plus.inl b/runtime/command_queue/gpgpu_walker_bdw_plus.inl index 77573f70fe..dee5cf8173 100644 --- a/runtime/command_queue/gpgpu_walker_bdw_plus.inl +++ b/runtime/command_queue/gpgpu_walker_bdw_plus.inl @@ -21,7 +21,8 @@ inline size_t GpgpuWalkerHelper::setGpgpuWalkerThreadData( uint32_t workDim, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, - const iOpenCL::SPatchThreadPayload &threadPayload) { + const iOpenCL::SPatchThreadPayload &threadPayload, + uint32_t requiredWorkgroupOrder) { auto localWorkSize = localWorkSizesIn[0] * localWorkSizesIn[1] * localWorkSizesIn[2]; auto threadsPerWorkGroup = getThreadsPerWG(simd, localWorkSize); @@ -146,7 +147,7 @@ void GpgpuWalkerHelper::dispatchScheduler( size_t workGroups[3] = {(scheduler.getGws() / scheduler.getLws()), 1, 1}; GpgpuWalkerHelper::setGpgpuWalkerThreadData(pGpGpuWalkerCmd, globalOffsets, globalOffsets, workGroups, localWorkSizes, simd, 1, true, inlineDataProgrammingRequired, - *scheduler.getKernelInfo().patchInfo.threadPayload); + *scheduler.getKernelInfo().patchInfo.threadPayload, 0u); // Implement disabling special WA DisableLSQCROPERFforOCL if needed GpgpuWalkerHelper::applyWADisableLSQCROPERFforOCL(&commandStream, scheduler, false); diff --git a/runtime/command_queue/hardware_interface_bdw_plus.inl b/runtime/command_queue/hardware_interface_bdw_plus.inl index 0eb8770a42..d911c27856 100644 --- a/runtime/command_queue/hardware_interface_bdw_plus.inl +++ b/runtime/command_queue/hardware_interface_bdw_plus.inl @@ -134,7 +134,7 @@ inline void HardwareInterface::programWalker( GpgpuWalkerHelper::setGpgpuWalkerThreadData(walkerCmd, globalOffsets, startWorkGroups, numWorkGroups, localWorkSizes, simd, dim, false, false, - *kernel.getKernelInfo().patchInfo.threadPayload); + *kernel.getKernelInfo().patchInfo.threadPayload, 0u); } } // namespace NEO diff --git a/unit_tests/command_queue/work_group_size_tests.cpp b/unit_tests/command_queue/work_group_size_tests.cpp index 6a4f31c027..d833aa73ca 100644 --- a/unit_tests/command_queue/work_group_size_tests.cpp +++ b/unit_tests/command_queue/work_group_size_tests.cpp @@ -88,7 +88,7 @@ struct WorkGroupSizeBase { (workItems[2] + workGroupSize[2] - 1) / workGroupSize[2]}; const iOpenCL::SPatchThreadPayload threadPayload = {}; GpgpuWalkerHelper::setGpgpuWalkerThreadData(&pCmd, globalOffsets, workGroupsStart, workGroupsNum, - workGroupSize, simdSize, dims, true, false, threadPayload); + workGroupSize, simdSize, dims, true, false, threadPayload, 0u); //And check if it is programmed correctly auto numWorkItems = computeWalkerWorkItems(pCmd);