From 0e30ac71bd591a31e63881770ccce4df03f7cc62 Mon Sep 17 00:00:00 2001 From: Mateusz Jablonski Date: Wed, 11 Aug 2021 08:50:15 +0000 Subject: [PATCH] Ocloc: add support for hexadecimal input of revision_id Signed-off-by: Mateusz Jablonski --- .../offline_compiler_tests.cpp | 25 ++++++++++++++++--- .../source/offline_compiler.cpp | 4 +-- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/opencl/test/unit_test/offline_compiler/offline_compiler_tests.cpp b/opencl/test/unit_test/offline_compiler/offline_compiler_tests.cpp index 0376e563ca..1427cd5cce 100644 --- a/opencl/test/unit_test/offline_compiler/offline_compiler_tests.cpp +++ b/opencl/test/unit_test/offline_compiler/offline_compiler_tests.cpp @@ -1383,7 +1383,7 @@ TEST(OfflineCompilerTest, givenDeviceSpecificKernelFileWhenCompilerIsInitialized EXPECT_STREQ("-cl-opt-disable", mockOfflineCompiler->options.c_str()); } -TEST(OfflineCompilerTest, givenRevisionIdWhenCompilerIsInitializedThenPassItToHwInfo) { +TEST(OfflineCompilerTest, givenHexadecimalRevisionIdWhenCompilerIsInitializedThenPassItToHwInfo) { auto mockOfflineCompiler = std::unique_ptr(new MockOfflineCompiler()); ASSERT_NE(nullptr, mockOfflineCompiler); @@ -1395,11 +1395,30 @@ TEST(OfflineCompilerTest, givenRevisionIdWhenCompilerIsInitializedThenPassItToHw "-device", gEnvironment->devicePrefix.c_str(), "-revision_id", - "3"}; + "0x11"}; int retVal = mockOfflineCompiler->initialize(argv.size(), argv); EXPECT_EQ(OfflineCompiler::ErrorCode::SUCCESS, retVal); - EXPECT_EQ(mockOfflineCompiler->hwInfo.platform.usRevId, 3); + EXPECT_EQ(mockOfflineCompiler->hwInfo.platform.usRevId, 17); +} + +TEST(OfflineCompilerTest, givenDecimalRevisionIdWhenCompilerIsInitializedThenPassItToHwInfo) { + auto mockOfflineCompiler = std::unique_ptr(new MockOfflineCompiler()); + ASSERT_NE(nullptr, mockOfflineCompiler); + + std::vector argv = { + "ocloc", + "-q", + "-file", + "test_files/copybuffer.cl", + "-device", + gEnvironment->devicePrefix.c_str(), + "-revision_id", + "17"}; + + int retVal = mockOfflineCompiler->initialize(argv.size(), argv); + EXPECT_EQ(OfflineCompiler::ErrorCode::SUCCESS, retVal); + EXPECT_EQ(mockOfflineCompiler->hwInfo.platform.usRevId, 17); } TEST(OfflineCompilerTest, givenNoRevisionIdWhenCompilerIsInitializedThenHwInfoHasDefaultRevId) { diff --git a/shared/offline_compiler/source/offline_compiler.cpp b/shared/offline_compiler/source/offline_compiler.cpp index 406258d64b..0ffc3bbca6 100644 --- a/shared/offline_compiler/source/offline_compiler.cpp +++ b/shared/offline_compiler/source/offline_compiler.cpp @@ -682,7 +682,7 @@ int OfflineCompiler::parseCommandLine(size_t numArgs, const std::vectorprintf("Invalid option (arg %d): %s\n", argIndex, argv[argIndex].c_str()); @@ -942,7 +942,7 @@ Usage: ocloc [compile] -file -device [-output Target stepping. + -revision_id Target stepping. Can be decimal or hexadecimal value. Examples : Compile file to Intel Compute GPU device binary (out = source_file_Gen9core.bin)