Skip to content

Commit 8342bda

Browse files
authored
Merge pull request #1339 from KFilipek/fix-enum_conversion
Fix implicit cast between ze and usm enums
2 parents a9fa574 + be01735 commit 8342bda

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

src/provider/provider_level_zero.c

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,32 @@ static umf_result_t ze2umf_result(ze_result_t result) {
129129
}
130130
}
131131

132+
static umf_usm_memory_type_t ze2umf_memory_type(ze_memory_type_t memory_type) {
133+
switch (memory_type) {
134+
case ZE_MEMORY_TYPE_HOST:
135+
return UMF_MEMORY_TYPE_HOST;
136+
case ZE_MEMORY_TYPE_DEVICE:
137+
return UMF_MEMORY_TYPE_DEVICE;
138+
case ZE_MEMORY_TYPE_SHARED:
139+
return UMF_MEMORY_TYPE_SHARED;
140+
default:
141+
return UMF_MEMORY_TYPE_UNKNOWN;
142+
}
143+
}
144+
145+
static ze_memory_type_t umf2ze_memory_type(umf_usm_memory_type_t memory_type) {
146+
switch (memory_type) {
147+
case UMF_MEMORY_TYPE_HOST:
148+
return ZE_MEMORY_TYPE_HOST;
149+
case UMF_MEMORY_TYPE_DEVICE:
150+
return ZE_MEMORY_TYPE_DEVICE;
151+
case UMF_MEMORY_TYPE_SHARED:
152+
return ZE_MEMORY_TYPE_SHARED;
153+
default:
154+
return ZE_MEMORY_TYPE_UNKNOWN;
155+
}
156+
}
157+
132158
static void init_ze_global_state(void) {
133159
#ifdef _WIN32
134160
const char *lib_name = "ze_loader.dll";
@@ -343,7 +369,7 @@ static umf_result_t ze_memory_provider_alloc(void *provider, size_t size,
343369
ze_memory_provider_t *ze_provider = (ze_memory_provider_t *)provider;
344370

345371
ze_result_t ze_result = ZE_RESULT_SUCCESS;
346-
switch (ze_provider->memory_type) {
372+
switch (ze2umf_memory_type(ze_provider->memory_type)) {
347373
case UMF_MEMORY_TYPE_HOST: {
348374
ze_host_mem_alloc_desc_t host_desc = {
349375
.stype = ZE_STRUCTURE_TYPE_HOST_MEM_ALLOC_DESC,
@@ -502,7 +528,7 @@ static umf_result_t ze_memory_provider_initialize(const void *params,
502528

503529
ze_provider->context = ze_params->level_zero_context_handle;
504530
ze_provider->device = ze_params->level_zero_device_handle;
505-
ze_provider->memory_type = (ze_memory_type_t)ze_params->memory_type;
531+
ze_provider->memory_type = umf2ze_memory_type(ze_params->memory_type);
506532
ze_provider->freePolicyFlags =
507533
umfFreePolicyToZePolicy(ze_params->freePolicy);
508534
ze_provider->min_page_size = 0;

0 commit comments

Comments
 (0)