mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-26 23:33:20 +08:00
refactor: Introducing common ext pattern
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
b55347a8f8
commit
0c7ca82b93
@@ -10,6 +10,7 @@
|
||||
#include "shared/source/device_binary_format/yaml/yaml_parser.h"
|
||||
#include "shared/source/helpers/non_copyable_or_moveable.h"
|
||||
#include "shared/source/utilities/const_stringref.h"
|
||||
#include "shared/source/utilities/mem_lifetime.h"
|
||||
|
||||
#include <array>
|
||||
#include <cstring>
|
||||
@@ -664,43 +665,9 @@ inline constexpr OffsetT offset = -1;
|
||||
inline constexpr BtiValueT btiValue = -1;
|
||||
} // namespace Defaults
|
||||
|
||||
struct PayloadArgElasticPtrBaseT;
|
||||
struct PayloadArgumentBaseT;
|
||||
struct PayloadArgumentExtT;
|
||||
PayloadArgumentExtT *allocatePayloadArgumentExt();
|
||||
void freePayloadArgumentExt(PayloadArgumentExtT *);
|
||||
void copyPayloadArgumentExt(PayloadArgumentExtT *&, const PayloadArgElasticPtrBaseT &);
|
||||
|
||||
struct PayloadArgElasticPtrBaseT {
|
||||
PayloadArgElasticPtrBaseT() {
|
||||
pPayArgExt = allocatePayloadArgumentExt();
|
||||
}
|
||||
~PayloadArgElasticPtrBaseT() {
|
||||
freePayloadArgumentExt(pPayArgExt);
|
||||
}
|
||||
PayloadArgElasticPtrBaseT(const PayloadArgElasticPtrBaseT &src) {
|
||||
copyPayloadArgumentExt(pPayArgExt, src);
|
||||
}
|
||||
PayloadArgElasticPtrBaseT &operator=(const PayloadArgElasticPtrBaseT &rhs) {
|
||||
if (this != &rhs) {
|
||||
copyPayloadArgumentExt(pPayArgExt, rhs);
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
PayloadArgElasticPtrBaseT(PayloadArgElasticPtrBaseT &&src) noexcept : pPayArgExt(src.pPayArgExt) {
|
||||
src.pPayArgExt = nullptr;
|
||||
}
|
||||
PayloadArgElasticPtrBaseT &operator=(PayloadArgElasticPtrBaseT &&rhs) noexcept {
|
||||
if (this != &rhs) {
|
||||
this->pPayArgExt = rhs.pPayArgExt;
|
||||
rhs.pPayArgExt = nullptr;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
PayloadArgumentExtT *pPayArgExt = nullptr;
|
||||
};
|
||||
|
||||
struct PayloadArgumentBaseT : PayloadArgElasticPtrBaseT {
|
||||
struct PayloadArgumentBaseT {
|
||||
ArgTypeT argType = argTypeUnknown;
|
||||
OffsetT offset = Defaults::offset;
|
||||
SourceOffseT sourceOffset = Defaults::sourceOffset;
|
||||
@@ -717,6 +684,7 @@ struct PayloadArgumentBaseT : PayloadArgElasticPtrBaseT {
|
||||
bool imageTransformable = false;
|
||||
bool isPipe = false;
|
||||
bool isPtr = false;
|
||||
Ext<PayloadArgumentExtT> pPayArgExt;
|
||||
};
|
||||
|
||||
} // namespace PayloadArgument
|
||||
|
||||
@@ -32,18 +32,16 @@ void freeExecEnvExt(ExecutionEnvExt *envExt) {
|
||||
void populateKernelExecutionEnvironmentExt(KernelDescriptor &dst, const KernelExecutionEnvBaseT &execEnv, const Types::Version &srcZeInfoVersion) {
|
||||
}
|
||||
|
||||
namespace Types::Kernel::PayloadArgument {
|
||||
PayloadArgumentExtT *allocatePayloadArgumentExt() {
|
||||
return nullptr;
|
||||
}
|
||||
void freePayloadArgumentExt(PayloadArgumentExtT *pPayArgExt) {
|
||||
}
|
||||
void copyPayloadArgumentExt(PayloadArgumentExtT *&pPayArgExtOut, const PayloadArgElasticPtrBaseT &src) {
|
||||
}
|
||||
} // namespace Types::Kernel::PayloadArgument
|
||||
|
||||
DecodeError populateKernelPayloadArgumentExt(NEO::KernelDescriptor &dst, const KernelPayloadArgBaseT &src, std::string &outErrReason) {
|
||||
return DecodeError::unhandledBinary;
|
||||
}
|
||||
|
||||
} // namespace NEO::Zebin::ZeInfo
|
||||
|
||||
template <>
|
||||
void cloneExt(ExtUniquePtrT<NEO::Zebin::ZeInfo::Types::Kernel::PayloadArgument::PayloadArgumentExtT> &dst, const NEO::Zebin::ZeInfo::Types::Kernel::PayloadArgument::PayloadArgumentExtT &src) {
|
||||
}
|
||||
|
||||
template <>
|
||||
void destroyExt(NEO::Zebin::ZeInfo::Types::Kernel::PayloadArgument::PayloadArgumentExtT *dst) {
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user