File tree Expand file tree Collapse file tree 3 files changed +17
-0
lines changed Expand file tree Collapse file tree 3 files changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -259,6 +259,9 @@ namespace IGC
259
259
// / Allow aggressive vector value aliasing
260
260
virtual bool EnableVecAliasing () const { return false ; }
261
261
262
+ // / Restrict dessa aliasing level. -1 : no restriction; max level otherwise.
263
+ virtual int DessaAliasLevel () const { return -1 ; }
264
+
262
265
// / Rounding mode used for DP emulated function, defaults to Round to nearest
263
266
virtual unsigned DPEmulationRoundingMode () const { return 0 ; }
264
267
Original file line number Diff line number Diff line change @@ -675,6 +675,15 @@ namespace IGC
675
675
" IGC::PositionOnlyVertexShader" ) != nullptr ;
676
676
}
677
677
678
+ void CodeGenContext::setFlagsPerCtx ()
679
+ {
680
+ if (m_DriverInfo.DessaAliasLevel () != -1 ) {
681
+ if ((int )IGC_GET_FLAG_VALUE (EnableDeSSAAlias) > m_DriverInfo.DessaAliasLevel ())
682
+ {
683
+ IGC_SET_FLAG_VALUE (EnableDeSSAAlias, m_DriverInfo.DessaAliasLevel ());
684
+ }
685
+ }
686
+ }
678
687
679
688
680
689
}
Original file line number Diff line number Diff line change @@ -777,6 +777,8 @@ namespace IGC
777
777
// / input: IGC MetaData Utils
778
778
IGC::IGCMD::MetaDataUtils* m_pMdUtils = nullptr ;
779
779
IGC::ModuleMetaData* modMD = nullptr ;
780
+
781
+ virtual void setFlagsPerCtx ();
780
782
public:
781
783
CodeGenContext (
782
784
ShaderType _type, // /< shader type
@@ -805,6 +807,9 @@ namespace IGC
805
807
instrStat[i][j] = 0 ;
806
808
}
807
809
}
810
+
811
+ // Per context flag adjustment
812
+ setFlagsPerCtx ();
808
813
}
809
814
810
815
CodeGenContext (CodeGenContext&) = delete ;
You can’t perform that action at this time.
0 commit comments