mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 14:55:24 +08:00
ocloc: allow options to be used when using spirv input
Related-To: NEO-3128 Change-Id: Ib46e17003c81aff0cec23273674b639b9572c80f Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
committed by
sys_ocldev
parent
20e0d8c7ab
commit
d106980df6
@@ -631,7 +631,7 @@ TEST(OfflineCompilerTest, givenDefaultOfflineCompilerObjectWhenNoOptionsAreChang
|
||||
EXPECT_FALSE(mockOfflineCompiler->inputFileSpirV);
|
||||
}
|
||||
|
||||
TEST(OfflineCompilerTest, givenIntermediatedRepresentationInputWhenBuildSourceCodeIsCalledThenProperTranslationContextIsUed) {
|
||||
TEST(OfflineCompilerTest, givenIntermediatedRepresentationInputWhenBuildSourceCodeIsCalledThenProperTranslationContextIsUsed) {
|
||||
MockOfflineCompiler mockOfflineCompiler;
|
||||
auto argv = {
|
||||
"ocloc",
|
||||
@@ -676,6 +676,39 @@ TEST(OfflineCompilerTest, givenBinaryInputThenDontTruncateSourceAtFirstZero) {
|
||||
EXPECT_LT(0U, mockOfflineCompiler->sourceCode.size());
|
||||
}
|
||||
|
||||
TEST(OfflineCompilerTest, givenSpirvInputFileWhenCmdLineHasOptionsThenCorrectOptionsArePassedToCompiler) {
|
||||
char data[] = {1, 2, 3, 4, 5, 6, 7, 8};
|
||||
MockCompilerDebugVars igcDebugVars(gEnvironment->igcDebugVars);
|
||||
igcDebugVars.binaryToReturn = data;
|
||||
igcDebugVars.binaryToReturnSize = sizeof(data);
|
||||
|
||||
NEO::setIgcDebugVars(igcDebugVars);
|
||||
|
||||
MockOfflineCompiler mockOfflineCompiler;
|
||||
auto argv = {
|
||||
"ocloc",
|
||||
"-file",
|
||||
"test_files/emptykernel.cl",
|
||||
"-spirv_input",
|
||||
"-device",
|
||||
gEnvironment->devicePrefix.c_str(),
|
||||
"-options",
|
||||
"test_options_passed"};
|
||||
|
||||
auto retVal = mockOfflineCompiler.initialize(argv.size(), argv.begin());
|
||||
auto mockIgcOclDeviceCtx = new NEO::MockIgcOclDeviceCtx();
|
||||
mockOfflineCompiler.igcDeviceCtx = CIF::RAII::Pack<IGC::IgcOclDeviceCtxLatest>(mockIgcOclDeviceCtx);
|
||||
ASSERT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
mockOfflineCompiler.inputFileSpirV = true;
|
||||
|
||||
retVal = mockOfflineCompiler.buildSourceCode();
|
||||
EXPECT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
EXPECT_STREQ("test_options_passed", mockOfflineCompiler.options.c_str());
|
||||
NEO::setIgcDebugVars(gEnvironment->igcDebugVars);
|
||||
}
|
||||
|
||||
TEST(OfflineCompilerTest, givenOutputFileOptionWhenSourceIsCompiledThenOutputFileHasCorrectName) {
|
||||
auto argv = {
|
||||
"ocloc",
|
||||
@@ -773,7 +806,7 @@ TEST(OfflineCompilerTest, givenInternalOptionsWhenCmdLineParsedThenOptionsAreApp
|
||||
EXPECT_THAT(internalOptions, ::testing::HasSubstr(std::string("myInternalOptions")));
|
||||
}
|
||||
|
||||
TEST(OfflineCompilerTest, givenInputOtpionsAndInternalOptionsFilesWhenOfflineCompilerIsInitializedThenCorrectOptionsAreSetAndRemainAfterBuild) {
|
||||
TEST(OfflineCompilerTest, givenInputOptionsAndInternalOptionsFilesWhenOfflineCompilerIsInitializedThenCorrectOptionsAreSetAndRemainAfterBuild) {
|
||||
auto mockOfflineCompiler = std::unique_ptr<MockOfflineCompiler>(new MockOfflineCompiler());
|
||||
ASSERT_NE(nullptr, mockOfflineCompiler);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user