mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00

This change: - moves NEO::WaitStatus to a separate file - enables detection of GPU hang in clWaitForEvents - adjusts most of blocking calls in CommandStreamReceiver to return WaitStatus - adds ULTs to cover the new code Related-To: NEO-6681 Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
45 lines
870 B
C++
45 lines
870 B
C++
/*
|
|
* Copyright (C) 2018-2022 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*
|
|
*/
|
|
|
|
#pragma once
|
|
#include "event.h"
|
|
|
|
namespace NEO {
|
|
class CommandQueue;
|
|
class Context;
|
|
|
|
class UserEvent : public Event {
|
|
public:
|
|
UserEvent(Context *ctx = nullptr);
|
|
|
|
~UserEvent() override = default;
|
|
|
|
WaitStatus wait(bool blocking, bool useQuickKmdSleep) override;
|
|
|
|
void updateExecutionStatus() override;
|
|
|
|
uint32_t getTaskLevel() override;
|
|
|
|
bool isInitialEventStatus() const;
|
|
};
|
|
|
|
class VirtualEvent : public Event {
|
|
public:
|
|
VirtualEvent(CommandQueue *cmdQ = nullptr, Context *ctx = nullptr);
|
|
|
|
~VirtualEvent() override = default;
|
|
|
|
WaitStatus wait(bool blocking, bool useQuickKmdSleep) override;
|
|
|
|
bool setStatus(cl_int status) override;
|
|
|
|
void updateExecutionStatus() override;
|
|
|
|
uint32_t getTaskLevel() override;
|
|
};
|
|
} // namespace NEO
|