Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions scripts/templates/ldrddi.cpp.mako
Original file line number Diff line number Diff line change
Expand Up @@ -410,9 +410,10 @@ ${tbl['export']['name']}(
%endif
%if tbl['experimental'] is False: #//Experimental Tables may not be implemented in driver
auto getTableResult = getTable( version, &drv.dditable.${n}.${tbl['name']});
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
%if namespace != "zes":
%if tbl['name'] == "Global":
Expand Down
1 change: 1 addition & 0 deletions scripts/templates/ze_loader_internal.h.mako
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ namespace loader
std::unordered_map<ze_image_object_t *, ze_image_handle_t> image_handle_map;
std::unordered_map<ze_sampler_object_t *, ze_sampler_handle_t> sampler_handle_map;
ze_api_version_t version = ZE_API_VERSION_CURRENT;
ze_api_version_t configured_version = ZE_API_VERSION_CURRENT;

driver_vector_t allDrivers;
driver_vector_t zeDrivers;
Expand Down
95 changes: 57 additions & 38 deletions source/loader/ze_ldrddi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6909,9 +6909,10 @@ zeGetGlobalProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.Global);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
if (drv.dditable.ze.Global.pfnInitDrivers) {
loader::context->initDriversSupport = true;
Expand Down Expand Up @@ -7009,9 +7010,10 @@ zeGetRTASBuilderProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.RTASBuilder);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down Expand Up @@ -7209,9 +7211,10 @@ zeGetRTASParallelOperationProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.RTASParallelOperation);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down Expand Up @@ -7406,9 +7409,10 @@ zeGetDriverProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.Driver);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down Expand Up @@ -7606,9 +7610,10 @@ zeGetDeviceProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.Device);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down Expand Up @@ -7848,9 +7853,10 @@ zeGetContextProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.Context);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down Expand Up @@ -7966,9 +7972,10 @@ zeGetCommandQueueProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.CommandQueue);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down Expand Up @@ -8075,9 +8082,10 @@ zeGetCommandListProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.CommandList);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down Expand Up @@ -8380,9 +8388,10 @@ zeGetEventProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.Event);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down Expand Up @@ -8589,9 +8598,10 @@ zeGetEventPoolProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.EventPool);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down Expand Up @@ -8704,9 +8714,10 @@ zeGetFenceProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.Fence);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down Expand Up @@ -8810,9 +8821,10 @@ zeGetImageProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.Image);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down Expand Up @@ -9007,9 +9019,10 @@ zeGetKernelProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.Kernel);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down Expand Up @@ -9225,9 +9238,10 @@ zeGetMemProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.Mem);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down Expand Up @@ -9446,9 +9460,10 @@ zeGetModuleProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.Module);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down Expand Up @@ -9564,9 +9579,10 @@ zeGetModuleBuildLogProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.ModuleBuildLog);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down Expand Up @@ -9661,9 +9677,10 @@ zeGetPhysicalMemProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.PhysicalMem);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down Expand Up @@ -9758,9 +9775,10 @@ zeGetSamplerProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.Sampler);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down Expand Up @@ -9855,9 +9873,10 @@ zeGetVirtualMemProcAddrTable(
if(!getTable)
continue;
auto getTableResult = getTable( version, &drv.dditable.ze.VirtualMem);
if(getTableResult == ZE_RESULT_SUCCESS)
if(getTableResult == ZE_RESULT_SUCCESS) {
atLeastOneDriverValid = true;
else
loader::context->configured_version = version;
} else
drv.initStatus = getTableResult;
}

Expand Down
2 changes: 1 addition & 1 deletion source/loader/ze_loader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ namespace loader
}

zes_global_dditable_t global;
auto getTableResult = getTable(ZE_API_VERSION_CURRENT, &global);
auto getTableResult = getTable(this->configured_version, &global);
if(getTableResult != ZE_RESULT_SUCCESS) {
if (debugTraceEnabled) {
std::string errorMessage = "init driver " + driver.name + " failed, zesGetGlobalProcAddrTable() failed with ";
Expand Down
1 change: 1 addition & 0 deletions source/loader/ze_loader_internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ namespace loader
std::unordered_map<ze_image_object_t *, ze_image_handle_t> image_handle_map;
std::unordered_map<ze_sampler_object_t *, ze_sampler_handle_t> sampler_handle_map;
ze_api_version_t version = ZE_API_VERSION_CURRENT;
ze_api_version_t configured_version = ZE_API_VERSION_CURRENT;

driver_vector_t allDrivers;
driver_vector_t zeDrivers;
Expand Down
Loading
Loading