refactor: improve extracting Queue properties

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
Bartosz Dunajski
2024-06-07 11:43:29 +00:00
committed by Compute-Runtime-Automation
parent 7c3fbc0664
commit 703fabdffd
4 changed files with 32 additions and 17 deletions

View File

@@ -7,6 +7,7 @@
#pragma once
#include "shared/source/command_stream/task_count_helper.h"
#include "shared/source/helpers/common_types.h"
#include "shared/source/helpers/definitions/engine_group_types.h"
#include "shared/source/helpers/heap_base_address_model.h"
@@ -23,6 +24,7 @@ class CommandStreamReceiver;
class GraphicsAllocation;
class LinearStream;
using ResidencyContainer = std::vector<GraphicsAllocation *>;
} // namespace NEO
struct UnifiedMemoryControls;
@@ -30,6 +32,11 @@ struct UnifiedMemoryControls;
namespace L0 {
struct Device;
struct QueueProperties {
NEO::SynchronizedDispatchMode synchronizedDispatchMode = NEO::SynchronizedDispatchMode::disabled;
bool interruptHint = false;
};
struct CommandQueue : _ze_command_queue_handle_t {
template <typename Type>
struct Allocator {
@@ -60,7 +67,7 @@ struct CommandQueue : _ze_command_queue_handle_t {
return static_cast<CommandQueue *>(handle);
}
static bool uniqueInterruptRequired(const ze_command_queue_desc_t &desc);
static QueueProperties extractQueueProperties(const ze_command_queue_desc_t &desc);
virtual void handleIndirectAllocationResidency(UnifiedMemoryControls unifiedMemoryControls, std::unique_lock<std::mutex> &lockForIndirect, bool performMigration) = 0;
virtual void makeResidentAndMigrate(bool performMigration, const NEO::ResidencyContainer &residencyContainer) = 0;