aboutsummaryrefslogtreecommitdiff
path: root/offload/plugins-nextgen/common
diff options
context:
space:
mode:
Diffstat (limited to 'offload/plugins-nextgen/common')
-rw-r--r--offload/plugins-nextgen/common/include/PluginInterface.h6
-rw-r--r--offload/plugins-nextgen/common/src/PluginInterface.cpp23
2 files changed, 18 insertions, 11 deletions
diff --git a/offload/plugins-nextgen/common/include/PluginInterface.h b/offload/plugins-nextgen/common/include/PluginInterface.h
index caf86a9..19db44c 100644
--- a/offload/plugins-nextgen/common/include/PluginInterface.h
+++ b/offload/plugins-nextgen/common/include/PluginInterface.h
@@ -854,8 +854,10 @@ struct GenericDeviceTy : public DeviceAllocatorTy {
/// Query for the completion of the pending operations on the __tgt_async_info
/// structure in a non-blocking manner.
- Error queryAsync(__tgt_async_info *AsyncInfo);
- virtual Error queryAsyncImpl(__tgt_async_info &AsyncInfo) = 0;
+ Error queryAsync(__tgt_async_info *AsyncInfo, bool ReleaseQueue = true,
+ bool *IsQueueWorkCompleted = nullptr);
+ virtual Error queryAsyncImpl(__tgt_async_info &AsyncInfo, bool ReleaseQueue,
+ bool *IsQueueWorkCompleted) = 0;
/// Check whether the architecture supports VA management
virtual bool supportVAManagement() const { return false; }
diff --git a/offload/plugins-nextgen/common/src/PluginInterface.cpp b/offload/plugins-nextgen/common/src/PluginInterface.cpp
index 4ec8366..807df0f 100644
--- a/offload/plugins-nextgen/common/src/PluginInterface.cpp
+++ b/offload/plugins-nextgen/common/src/PluginInterface.cpp
@@ -849,7 +849,8 @@ Error GenericDeviceTy::deinit(GenericPluginTy &Plugin) {
}
Expected<DeviceImageTy *> GenericDeviceTy::loadBinary(GenericPluginTy &Plugin,
StringRef InputTgtImage) {
- ODBG(OLDT_Init) << "Load data from image " << InputTgtImage.bytes_begin();
+ ODBG(OLDT_Init) << "Load data from image "
+ << static_cast<const void *>(InputTgtImage.bytes_begin());
std::unique_ptr<MemoryBuffer> Buffer;
if (identify_magic(InputTgtImage) == file_magic::bitcode) {
@@ -1198,12 +1199,14 @@ Error GenericDeviceTy::synchronize(__tgt_async_info *AsyncInfo,
return Plugin::success();
}
-Error GenericDeviceTy::queryAsync(__tgt_async_info *AsyncInfo) {
+Error GenericDeviceTy::queryAsync(__tgt_async_info *AsyncInfo,
+ bool ReleaseQueue,
+ bool *IsQueueWorkCompleted) {
if (!AsyncInfo || !AsyncInfo->Queue)
return Plugin::error(ErrorCode::INVALID_ARGUMENT,
"invalid async info queue");
- return queryAsyncImpl(*AsyncInfo);
+ return queryAsyncImpl(*AsyncInfo, ReleaseQueue, IsQueueWorkCompleted);
}
Error GenericDeviceTy::memoryVAMap(void **Addr, void *VAddr, size_t *RSize) {
@@ -1656,9 +1659,10 @@ int32_t GenericPluginTy::is_initialized() const { return Initialized; }
int32_t GenericPluginTy::isPluginCompatible(StringRef Image) {
auto HandleError = [&](Error Err) -> bool {
- [[maybe_unused]] std::string ErrStr = toString(std::move(Err));
- ODBG(OLDT_Init) << "Failure to check validity of image " << Image.data()
- << ": " << ErrStr;
+ std::string ErrStr = toString(std::move(Err));
+ ODBG(OLDT_Init) << "Failure to check validity of image "
+ << static_cast<const void *>(Image.data()) << ": "
+ << ErrStr;
return false;
};
switch (identify_magic(Image)) {
@@ -1685,8 +1689,9 @@ int32_t GenericPluginTy::isPluginCompatible(StringRef Image) {
int32_t GenericPluginTy::isDeviceCompatible(int32_t DeviceId, StringRef Image) {
auto HandleError = [&](Error Err) -> bool {
- [[maybe_unused]] std::string ErrStr = toString(std::move(Err));
- ODBG(OLDT_Init) << "Failure to check validity of image " << Image << ": "
+ std::string ErrStr = toString(std::move(Err));
+ ODBG(OLDT_Init) << "Failure to check validity of image "
+ << static_cast<const void *>(Image.data()) << ": "
<< ErrStr;
return false;
};
@@ -2069,7 +2074,7 @@ int32_t GenericPluginTy::use_auto_zero_copy(int32_t DeviceId) {
int32_t GenericPluginTy::is_accessible_ptr(int32_t DeviceId, const void *Ptr,
size_t Size) {
auto HandleError = [&](Error Err) -> bool {
- [[maybe_unused]] std::string ErrStr = toString(std::move(Err));
+ std::string ErrStr = toString(std::move(Err));
ODBG(OLDT_Device) << "Failure while checking accessibility of pointer "
<< Ptr << " for device " << DeviceId << ": " << ErrStr;
return false;