mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Allow lack of scheduler_simulation file
Change-Id: I3a21af165e86983201dda4283543544bf2a09e9c Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com> Related-To: NEO-3545
This commit is contained in:

committed by
sys_ocldev

parent
88bb1c804e
commit
a941c53dd8
@ -37,7 +37,9 @@ endif()
|
||||
|
||||
macro(macro_for_each_gen)
|
||||
list(APPEND DEFAULT_GEN_PLATFORMS_DEFITIONS DEFAULT_${GEN_TYPE}_PLATFORM=${DEFAULT_SUPPORTED_${GEN_TYPE}_PLATFORM})
|
||||
list(APPEND BUILTIN_KERNELS_SIMULATION_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/${GEN_TYPE_LOWER}/scheduler_simulation.cpp)
|
||||
if(${SUPPORT_DEVICE_ENQUEUE_${GEN_TYPE}})
|
||||
list(APPEND BUILTIN_KERNELS_SIMULATION_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/${GEN_TYPE_LOWER}/scheduler_simulation.cpp)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
apply_macro_for_each_gen("SUPPORTED")
|
||||
|
@ -417,6 +417,7 @@ class CommandQueueHw : public CommandQueue {
|
||||
bool isTaskLevelUpdateRequired(const uint32_t &taskLevel, const cl_event *eventWaitList, const cl_uint &numEventsInWaitList, unsigned int commandType);
|
||||
void obtainTaskLevelAndBlockedStatus(unsigned int &taskLevel, cl_uint &numEventsInWaitList, const cl_event *&eventWaitList, bool &blockQueueStatus, unsigned int commandType) override;
|
||||
void forceDispatchScheduler(NEO::MultiDispatchInfo &multiDispatchInfo);
|
||||
void runSchedulerSimulation(DeviceQueueHw<GfxFamily> &devQueueHw, Kernel &parentKernel);
|
||||
static void computeOffsetsValueForRectCommands(size_t *bufferOffset,
|
||||
size_t *hostOffset,
|
||||
const size_t *bufferOrigin,
|
||||
|
@ -9,6 +9,20 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
template <typename GfxFamily>
|
||||
void CommandQueueHw<GfxFamily>::runSchedulerSimulation(DeviceQueueHw<GfxFamily> &devQueueHw, Kernel &parentKernel) {
|
||||
BuiltinKernelsSimulation::SchedulerSimulation<GfxFamily> simulation;
|
||||
simulation.runSchedulerSimulation(devQueueHw.getQueueBuffer(),
|
||||
devQueueHw.getStackBuffer(),
|
||||
devQueueHw.getEventPoolBuffer(),
|
||||
devQueueHw.getSlbBuffer(),
|
||||
devQueueHw.getDshBuffer(),
|
||||
parentKernel.getKernelReflectionSurface(),
|
||||
devQueueHw.getQueueStorageBuffer(),
|
||||
this->getIndirectHeap(IndirectHeap::SURFACE_STATE, 0u).getGraphicsAllocation(),
|
||||
devQueueHw.getDebugQueue());
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
void CommandQueueHw<GfxFamily>::submitCacheFlush(Surface **surfaces,
|
||||
size_t numSurfaces,
|
||||
|
@ -277,17 +277,7 @@ void CommandQueueHw<GfxFamily>::enqueueHandler(Surface **surfacesForResidency,
|
||||
|
||||
if (devQueueHw->getSchedulerReturnInstance() > 0) {
|
||||
waitUntilComplete(completionStamp.taskCount, completionStamp.flushStamp, false);
|
||||
|
||||
BuiltinKernelsSimulation::SchedulerSimulation<GfxFamily> simulation;
|
||||
simulation.runSchedulerSimulation(devQueueHw->getQueueBuffer(),
|
||||
devQueueHw->getStackBuffer(),
|
||||
devQueueHw->getEventPoolBuffer(),
|
||||
devQueueHw->getSlbBuffer(),
|
||||
devQueueHw->getDshBuffer(),
|
||||
parentKernel->getKernelReflectionSurface(),
|
||||
devQueueHw->getQueueStorageBuffer(),
|
||||
this->getIndirectHeap(IndirectHeap::SURFACE_STATE, 0u).getGraphicsAllocation(),
|
||||
devQueueHw->getDebugQueue());
|
||||
this->runSchedulerSimulation(*devQueueHw, *parentKernel);
|
||||
}
|
||||
}
|
||||
} else if (enqueueProperties.isFlushWithoutKernelRequired()) {
|
||||
|
Reference in New Issue
Block a user