Skip to content

Commit f40967c

Browse files
[SYCL][NFC] Make sycl_mem_obj::getAdapter() return by reference (#19312)
It's a part of larger refactoring effort to pass adapter via reference instead of pointer everywhere in the codebase. Follow-up of: #19186 #19184 #19187 #19202 #19299
1 parent 322cd13 commit f40967c

File tree

3 files changed

+18
-20
lines changed

3 files changed

+18
-20
lines changed

sycl/source/detail/buffer_impl.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@ void buffer_impl::addInteropObject(
5252
if (std::find(Handles.begin(), Handles.end(),
5353
ur::cast<ur_native_handle_t>(MInteropMemObject)) ==
5454
Handles.end()) {
55-
const AdapterPtr &Adapter = getAdapter();
56-
Adapter->call<UrApiKind::urMemRetain>(
55+
adapter_impl &Adapter = getAdapter();
56+
Adapter.call<UrApiKind::urMemRetain>(
5757
ur::cast<ur_mem_handle_t>(MInteropMemObject));
5858
ur_native_handle_t NativeHandle = 0;
59-
Adapter->call<UrApiKind::urMemGetNativeHandle>(MInteropMemObject, nullptr,
60-
&NativeHandle);
59+
Adapter.call<UrApiKind::urMemGetNativeHandle>(MInteropMemObject, nullptr,
60+
&NativeHandle);
6161
Handles.push_back(NativeHandle);
6262
}
6363
}

sycl/source/detail/sycl_mem_obj_t.cpp

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -36,21 +36,20 @@ SYCLMemObjT::SYCLMemObjT(ur_native_handle_t MemObject,
3636
MSharedPtrStorage(nullptr), MHostPtrProvided(true),
3737
MOwnNativeHandle(OwnNativeHandle) {
3838
ur_context_handle_t Context = nullptr;
39-
const AdapterPtr &Adapter = getAdapter();
39+
adapter_impl &Adapter = getAdapter();
4040

4141
ur_mem_native_properties_t MemProperties = {
4242
UR_STRUCTURE_TYPE_MEM_NATIVE_PROPERTIES, nullptr, OwnNativeHandle};
43-
Adapter->call<UrApiKind::urMemBufferCreateWithNativeHandle>(
43+
Adapter.call<UrApiKind::urMemBufferCreateWithNativeHandle>(
4444
MemObject, MInteropContext->getHandleRef(), &MemProperties,
4545
&MInteropMemObject);
4646

4747
// Get the size of the buffer in bytes
48-
Adapter->call<UrApiKind::urMemGetInfo>(MInteropMemObject, UR_MEM_INFO_SIZE,
49-
sizeof(size_t), &MSizeInBytes,
50-
nullptr);
48+
Adapter.call<UrApiKind::urMemGetInfo>(MInteropMemObject, UR_MEM_INFO_SIZE,
49+
sizeof(size_t), &MSizeInBytes, nullptr);
5150

52-
Adapter->call<UrApiKind::urMemGetInfo>(MInteropMemObject, UR_MEM_INFO_CONTEXT,
53-
sizeof(Context), &Context, nullptr);
51+
Adapter.call<UrApiKind::urMemGetInfo>(MInteropMemObject, UR_MEM_INFO_CONTEXT,
52+
sizeof(Context), &Context, nullptr);
5453

5554
if (MInteropContext->getHandleRef() != Context)
5655
throw sycl::exception(
@@ -84,7 +83,7 @@ SYCLMemObjT::SYCLMemObjT(ur_native_handle_t MemObject,
8483
MSharedPtrStorage(nullptr), MHostPtrProvided(true),
8584
MOwnNativeHandle(OwnNativeHandle) {
8685
ur_context_handle_t Context = nullptr;
87-
const AdapterPtr &Adapter = getAdapter();
86+
adapter_impl &Adapter = getAdapter();
8887

8988
ur_image_desc_t Desc = {};
9089
Desc.stype = UR_STRUCTURE_TYPE_IMAGE_DESC;
@@ -101,12 +100,12 @@ SYCLMemObjT::SYCLMemObjT(ur_native_handle_t MemObject,
101100
ur_mem_native_properties_t NativeProperties = {
102101
UR_STRUCTURE_TYPE_MEM_NATIVE_PROPERTIES, nullptr, OwnNativeHandle};
103102

104-
Adapter->call<UrApiKind::urMemImageCreateWithNativeHandle>(
103+
Adapter.call<UrApiKind::urMemImageCreateWithNativeHandle>(
105104
MemObject, MInteropContext->getHandleRef(), &Format, &Desc,
106105
&NativeProperties, &MInteropMemObject);
107106

108-
Adapter->call<UrApiKind::urMemGetInfo>(MInteropMemObject, UR_MEM_INFO_CONTEXT,
109-
sizeof(Context), &Context, nullptr);
107+
Adapter.call<UrApiKind::urMemGetInfo>(MInteropMemObject, UR_MEM_INFO_CONTEXT,
108+
sizeof(Context), &Context, nullptr);
110109

111110
if (MInteropContext->getHandleRef() != Context)
112111
throw sycl::exception(
@@ -157,14 +156,13 @@ void SYCLMemObjT::updateHostMemory() {
157156
releaseHostMem(MShadowCopy);
158157

159158
if (MOpenCLInterop) {
160-
const AdapterPtr &Adapter = getAdapter();
161-
Adapter->call<UrApiKind::urMemRelease>(MInteropMemObject);
159+
getAdapter().call<UrApiKind::urMemRelease>(MInteropMemObject);
162160
}
163161
}
164-
const AdapterPtr &SYCLMemObjT::getAdapter() const {
162+
adapter_impl &SYCLMemObjT::getAdapter() const {
165163
assert((MInteropContext != nullptr) &&
166164
"Trying to get Adapter from SYCLMemObjT with nullptr ContextImpl.");
167-
return (MInteropContext->getAdapter());
165+
return *(MInteropContext->getAdapter());
168166
}
169167

170168
bool SYCLMemObjT::isInterop() const { return MOpenCLInterop; }

sycl/source/detail/sycl_mem_obj_t.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ class SYCLMemObjT : public SYCLMemObjI {
9090

9191
virtual ~SYCLMemObjT() = default;
9292

93-
const AdapterPtr &getAdapter() const;
93+
adapter_impl &getAdapter() const;
9494

9595
size_t getSizeInBytes() const noexcept override { return MSizeInBytes; }
9696
__SYCL2020_DEPRECATED("get_count() is deprecated, please use size() instead")

0 commit comments

Comments
 (0)