File tree Expand file tree Collapse file tree 5 files changed +30
-3
lines changed
Options/include/igc/Options Expand file tree Collapse file tree 5 files changed +30
-3
lines changed Original file line number Diff line number Diff line change @@ -4138,6 +4138,9 @@ namespace IGC
4138
4138
{
4139
4139
SaveOption (vISA_skipFDE, true );
4140
4140
}
4141
+ if (ClContext->m_Options .DisableCompaction ) {
4142
+ SaveOption (vISA_Compaction, false );
4143
+ }
4141
4144
}
4142
4145
4143
4146
bool EnableBarrierInstCounterBits = false ;
@@ -4511,8 +4514,16 @@ namespace IGC
4511
4514
4512
4515
if (m_program->m_Platform ->hasFusedEU () && IGC_IS_FLAG_ENABLED (EnableCallWA))
4513
4516
{
4514
- if (m_program->HasNestedCalls () || m_program->HasIndirectCalls () || m_program->IsIntelSymbolTableVoidProgram ())
4515
- {
4517
+ bool forceNoWA = false ;
4518
+ if (context->type == ShaderType::OPENCL_SHADER) {
4519
+ auto ClContext = static_cast <OpenCLProgramContext *>(context);
4520
+ if (ClContext->m_Options .NoFusedCallWA ) {
4521
+ forceNoWA = true ;
4522
+ }
4523
+ }
4524
+ if (!forceNoWA &&
4525
+ (m_program->HasNestedCalls () || m_program->HasIndirectCalls () ||
4526
+ m_program->IsIntelSymbolTableVoidProgram ())) {
4516
4527
SaveOption (vISA_fusedCallWA, (uint32_t )1 );
4517
4528
}
4518
4529
}
Original file line number Diff line number Diff line change @@ -506,6 +506,14 @@ void Options::parseOptions(const char* opts)
506
506
SkipFDE = true ;
507
507
}
508
508
509
+ if (apiOptions.hasArg (OPT_no_fusedCallWA_common)) {
510
+ NoFusedCallWA = true ;
511
+ }
512
+
513
+ if (apiOptions.hasArg (OPT_disable_compaction_common)) {
514
+ DisableCompaction = true ;
515
+ }
516
+
509
517
if (const llvm::opt::Arg* arg = apiOptions.getLastArg (OPT_required_thread_count_common))
510
518
{
511
519
if (arg->getNumValues () > 0 )
Original file line number Diff line number Diff line change @@ -154,6 +154,8 @@ class Options
154
154
bool GTPinIndirRef = false ;
155
155
// Skip emission of Frame Descriptor Entry in VISA.
156
156
bool SkipFDE = false ;
157
+ bool NoFusedCallWA = false ;
158
+ bool DisableCompaction = false ;
157
159
uint32_t GTPinScratchAreaSizeValue = 0 ;
158
160
159
161
std::vector<std::string> LargeGRFKernels;
Original file line number Diff line number Diff line change @@ -1365,7 +1365,9 @@ namespace TC
1365
1365
(strcmp (pParam, " -ze-gtpin-scratch-area-size" ) == 0 ) || // used by GTPin
1366
1366
(strcmp (pParam, " -ze-opt-enable-auto-large-GRF-mode" ) == 0 ) ||
1367
1367
(strcmp (pParam, " -cl-intel-enable-auto-large-GRF-mode" ) == 0 ) ||
1368
- (strcmp (pParam, " -ze-skip-fde" ) == 0 );
1368
+ (strcmp (pParam, " -ze-skip-fde" ) == 0 ) ||
1369
+ (strcmp (pParam, " -ze-no-fusedCallWA" ) == 0 ) ||
1370
+ (strcmp (pParam, " -ze-disable-compaction" ) == 0 );
1369
1371
1370
1372
if (isCommonOption)
1371
1373
{
Original file line number Diff line number Diff line change @@ -30,6 +30,10 @@ defm gtpin_indir_ref : CommonFlag<"gtpin-indir-ref">;
30
30
31
31
defm skip_fde : CommonFlag<"skip-fde">;
32
32
33
+ defm no_fusedCallWA : CommonFlag<"no-fusedCallWA">;
34
+
35
+ defm disable_compaction : CommonFlag<"disable-compaction">;
36
+
33
37
def emit_debug : PlainFlag<"g">,
34
38
HelpText<"Enable generation of debug information and enables kernel debug">;
35
39
// These are coming from NEO when run under debugger.
You can’t perform that action at this time.
0 commit comments