compute-runtime/shared/source/memory_properties/memory_properties_flags.h

33 lines
803 B
C++

/*
* Copyright (C) 2019-2023 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include "shared/source/memory_properties/memory_properties_flags_common.inl"
namespace NEO {
class Device;
struct MemoryProperties {
uint64_t handle = 0;
uint64_t handleType = 0;
uintptr_t hostptr = 0;
const Device *pDevice = nullptr;
std::vector<Device *> associatedDevices;
uint32_t memCacheClos = 0;
union {
MemoryFlags flags;
uint32_t allFlags = 0;
};
union {
MemoryAllocFlags allocFlags;
uint32_t allAllocFlags = 0;
};
static_assert(sizeof(MemoryProperties::flags) == sizeof(MemoryProperties::allFlags) && sizeof(MemoryProperties::allocFlags) == sizeof(MemoryProperties::allAllocFlags), "");
};
} // namespace NEO