Skip to content

Commit b0c64c8

Browse files
Merge pull request #1983 from nrspruit/fix_coverity_l0_2
[L0] Fixed program info binary size query and fix program handle init
2 parents 8a620c0 + 5b22193 commit b0c64c8

File tree

2 files changed

+17
-12
lines changed

2 files changed

+17
-12
lines changed

source/adapters/level_zero/program.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -726,9 +726,11 @@ UR_APIEXPORT ur_result_t UR_APICALL urProgramGetInfo(
726726
uint32_t deviceIndex = 0;
727727
for (auto &ZeDeviceModule : Program->ZeModuleMap) {
728728
size_t binarySize = 0;
729-
ZE2UR_CALL(
730-
zeModuleGetNativeBinary,
731-
(ZeDeviceModule.second, &binarySize, PBinary[deviceIndex++]));
729+
if (PBinary) {
730+
NativeBinaryPtr = PBinary[deviceIndex++];
731+
}
732+
ZE2UR_CALL(zeModuleGetNativeBinary,
733+
(ZeDeviceModule.second, &binarySize, NativeBinaryPtr));
732734
SzBinary += binarySize;
733735
}
734736
} else {

source/adapters/level_zero/program.hpp

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ struct ur_program_handle_t_ : _ur_object {
6868
// Construct a program in IL.
6969
ur_program_handle_t_(state St, ur_context_handle_t Context, const void *Input,
7070
size_t Length)
71-
: Context{Context},
71+
: Context{Context}, NativeDevice{nullptr}, NativeProperties{nullptr},
7272
OwnZeModule{true}, State{St}, Code{new uint8_t[Length]},
7373
CodeLength{Length}, ZeModule{nullptr}, ZeBuildLog{nullptr} {
7474
std::memcpy(Code.get(), Input, Length);
@@ -89,26 +89,29 @@ struct ur_program_handle_t_ : _ur_object {
8989
ur_program_handle_t_(state St, ur_context_handle_t Context,
9090
ze_module_handle_t ZeModule,
9191
ze_module_build_log_handle_t ZeBuildLog)
92-
: Context{Context}, OwnZeModule{true}, State{St}, ZeModule{ZeModule},
93-
ZeBuildLog{ZeBuildLog} {}
92+
: Context{Context}, NativeDevice{nullptr}, NativeProperties{nullptr},
93+
OwnZeModule{true}, State{St}, ZeModule{ZeModule}, ZeBuildLog{
94+
ZeBuildLog} {}
9495

9596
// Construct a program in Exe state (interop).
9697
ur_program_handle_t_(state St, ur_context_handle_t Context,
9798
ze_module_handle_t ZeModule, bool OwnZeModule)
98-
: Context{Context}, OwnZeModule{OwnZeModule}, State{St},
99-
ZeModule{ZeModule}, ZeBuildLog{nullptr} {}
99+
: Context{Context}, NativeDevice{nullptr}, NativeProperties{nullptr},
100+
OwnZeModule{OwnZeModule}, State{St}, ZeModule{ZeModule}, ZeBuildLog{
101+
nullptr} {}
100102

101103
// Construct a program from native handle
102104
ur_program_handle_t_(state St, ur_context_handle_t Context,
103105
ze_module_handle_t ZeModule)
104-
: Context{Context}, OwnZeModule{true}, State{St}, ZeModule{ZeModule},
105-
ZeBuildLog{nullptr} {}
106+
: Context{Context}, NativeDevice{nullptr}, NativeProperties{nullptr},
107+
OwnZeModule{true}, State{St}, ZeModule{ZeModule}, ZeBuildLog{nullptr} {}
106108

107109
// Construct a program in Invalid state with a custom error message.
108110
ur_program_handle_t_(state St, ur_context_handle_t Context,
109111
const std::string &ErrorMessage)
110-
: Context{Context}, OwnZeModule{true}, ErrorMessage{ErrorMessage},
111-
State{St}, ZeModule{nullptr}, ZeBuildLog{nullptr} {}
112+
: Context{Context}, NativeDevice{nullptr}, NativeProperties{nullptr},
113+
OwnZeModule{true}, ErrorMessage{ErrorMessage}, State{St},
114+
ZeModule{nullptr}, ZeBuildLog{nullptr} {}
112115

113116
~ur_program_handle_t_();
114117
void ur_release_program_resources(bool deletion);

0 commit comments

Comments
 (0)