Skip to content

Commit ca44068

Browse files
committed
tidy up and enable use of upstream headers
1 parent 47fe682 commit ca44068

2 files changed

Lines changed: 26 additions & 2 deletions

File tree

‎layers/99_svmplusplus/emulate.cpp‎

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,14 @@
2121

2222
#include "emulate.h"
2323

24+
// !!! TODO: When removing this code block, also if the SVM type macros have
25+
// also been updated!
26+
#if !defined(CL_SVM_CAPABILITY_CREATE_BUFFER_KHR)
27+
#define CL_SVM_CAPABILITY_CREATE_BUFFER_KHR (1 << 15)
28+
#else
29+
#pragma message("CL_SVM_CAPABILITY_CREATE_BUFFER_KHR is now properly defined.")
30+
#endif
31+
2432
static constexpr cl_version version_cl_khr_unified_svm =
2533
CL_MAKE_VERSION(0, 2, 0);
2634

@@ -129,6 +137,7 @@ static cl_svm_capabilities_khr getCoarseGrainSVMCaps(cl_device_id device)
129137

130138
if (svmCaps & CL_DEVICE_SVM_COARSE_GRAIN_BUFFER) {
131139
ret = CL_SVM_TYPE_MACRO_COARSE_GRAIN_BUFFER_KHR;
140+
ret |= CL_SVM_CAPABILITY_CREATE_BUFFER_KHR;
132141
}
133142

134143
return ret;
@@ -148,6 +157,8 @@ static cl_svm_capabilities_khr getFineGrainSVMCaps(cl_device_id device)
148157

149158
if (svmCaps & CL_DEVICE_SVM_FINE_GRAIN_BUFFER) {
150159
ret = CL_SVM_TYPE_MACRO_FINE_GRAIN_BUFFER_KHR;
160+
ret |= CL_SVM_CAPABILITY_CREATE_BUFFER_KHR;
161+
151162

152163
if (svmCaps & CL_DEVICE_SVM_ATOMICS) {
153164
ret |= CL_SVM_CAPABILITY_CONCURRENT_ATOMIC_ACCESS_KHR;
@@ -177,8 +188,15 @@ static cl_svm_capabilities_khr getSystemSVMCaps(cl_device_id device)
177188
&usmCaps,
178189
nullptr);
179190

180-
if (svmCaps & CL_DEVICE_SVM_FINE_GRAIN_SYSTEM || usmCaps != 0) {
191+
if (svmCaps & CL_DEVICE_SVM_FINE_GRAIN_SYSTEM) {
192+
ret = CL_SVM_TYPE_MACRO_SYSTEM_KHR;
193+
ret |= CL_SVM_CAPABILITY_CREATE_BUFFER_KHR;
194+
}
195+
else if(usmCaps != 0) {
181196
ret = CL_SVM_TYPE_MACRO_SYSTEM_KHR;
197+
ret |= CL_SVM_CAPABILITY_CREATE_BUFFER_KHR;
198+
// USM does not currently support mapping system memory.
199+
ret &= ~CL_SVM_CAPABILITY_HOST_MAP_KHR;
182200
}
183201

184202
return ret;

‎samples/usvm/00_usvmqueries/main.cpp‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@
1010

1111
#include <cinttypes>
1212

13+
#if !defined(CL_SVM_CAPABILITY_CREATE_BUFFER_KHR)
14+
#define CL_SVM_CAPABILITY_CREATE_BUFFER_KHR (1 << 15)
15+
#else
16+
#pragma message("CL_SVM_CAPABILITY_CREATE_BUFFER_KHR is now properly defined.")
17+
#endif
18+
1319
static inline bool has_all_svm_caps(
1420
cl_svm_capabilities_khr caps,
1521
cl_svm_capabilities_khr check)
@@ -64,7 +70,7 @@ void PrintUSVMCaps(
6470
( svmcaps & CL_SVM_CAPABILITY_CONCURRENT_ACCESS_KHR ) ? "\n\t\t\tCL_SVM_CAPABILITY_CONCURRENT_ACCESS_KHR" : "",
6571
( svmcaps & CL_SVM_CAPABILITY_CONCURRENT_ATOMIC_ACCESS_KHR ) ? "\n\t\t\tCL_SVM_CAPABILITY_CONCURRENT_ATOMIC_ACCESS_KHR" : "",
6672
( svmcaps & CL_SVM_CAPABILITY_INDIRECT_ACCESS_KHR ) ? "\n\t\t\tCL_SVM_CAPABILITY_INDIRECT_ACCESS_KHR" : "",
67-
( svmcaps & CL_SVM_CAPABILITY_CREATE_BUFFER_KHR ) ? "\n\t\t\tCL_SVM_CAPABILITY_CREATE_BUFFER_KHR" : "");
73+
( svmcaps & CL_SVM_CAPABILITY_CREATE_BUFFER_KHR ) ? "\n\t\t\tCL_SVM_CAPABILITY_CREATE_BUFFER_KHR" : "");
6874
}
6975

7076
int main(

0 commit comments

Comments
 (0)