Skip to content

Commit 5408366

Browse files
Fix state_compute_mode on xehp
Related-To: NEO-5945 Signed-off-by: Szymon Morek <szymon.morek@intel.com>
1 parent 038da95 commit 5408366

File tree

1 file changed

+38
-43
lines changed

1 file changed

+38
-43
lines changed

shared/source/generated/xe_hp_core/hw_cmds_generated_xe_hp_core.inl

Lines changed: 38 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -6824,23 +6824,24 @@ STATIC_ASSERT(4 == sizeof(PIPELINE_SELECT));
68246824
typedef struct tagSTATE_COMPUTE_MODE {
68256825
union tagTheStructure {
68266826
struct tagCommon {
6827+
// DWORD 0
68276828
uint32_t DwordLength : BITFIELD_RANGE(0, 7);
68286829
uint32_t Reserved_8 : BITFIELD_RANGE(8, 15);
68296830
uint32_t _3DCommandSubOpcode : BITFIELD_RANGE(16, 23);
68306831
uint32_t _3DCommandOpcode : BITFIELD_RANGE(24, 26);
68316832
uint32_t CommandSubtype : BITFIELD_RANGE(27, 28);
68326833
uint32_t CommandType : BITFIELD_RANGE(29, 31);
6834+
// DWORD 1
68336835
uint32_t DisableSupportForMultiGpuFence : BITFIELD_RANGE(0, 0);
68346836
uint32_t ForceDisableSupportForMultiGpuAtomics : BITFIELD_RANGE(1, 1);
6835-
uint32_t ForceDisableSupportForMultiGpuPartialWrites
6836-
: BITFIELD_RANGE(2, 2);
6837+
uint32_t ForceDisableSupportForMultiGpuPartialWrites : BITFIELD_RANGE(2, 2);
68376838
uint32_t ForceNonCoherent : BITFIELD_RANGE(3, 4);
6838-
uint32_t Reserved_37 : BITFIELD_RANGE(5, 9);
6839-
uint32_t BindingTableAlignment : BITFIELD_RANGE(10, 10);
6839+
uint32_t FastClearDisabledOnCompressedSurface : BITFIELD_RANGE(5, 5);
6840+
uint32_t DisableSlmReadMergeOptimization : BITFIELD_RANGE(6, 6);
6841+
uint32_t Reserved_39 : BITFIELD_RANGE(7, 10);
68406842
uint32_t DisableAtomicOnClearData : BITFIELD_RANGE(11, 11);
6841-
uint32_t CoherentAccessL1CacheDisable : BITFIELD_RANGE(12, 12);
6842-
uint32_t DisableL1InvalidateForNonL1CacheableWrites
6843-
: BITFIELD_RANGE(13, 13);
6843+
uint32_t Reserved_44 : BITFIELD_RANGE(12, 12);
6844+
uint32_t DisableL1InvalidateForNonL1CacheableWrites : BITFIELD_RANGE(13, 13);
68446845
uint32_t Reserved_46 : BITFIELD_RANGE(14, 14);
68456846
uint32_t LargeGrfMode : BITFIELD_RANGE(15, 15);
68466847
uint32_t MaskBits : BITFIELD_RANGE(16, 31);
@@ -6867,36 +6868,37 @@ typedef struct tagSTATE_COMPUTE_MODE {
68676868
FORCE_NON_COHERENT_FORCE_CPU_NON_COHERENT = 0x1,
68686869
FORCE_NON_COHERENT_FORCE_GPU_NON_COHERENT = 0x2,
68696870
} FORCE_NON_COHERENT;
6870-
typedef enum tagBINDING_TABLE_ALIGNMENT {
6871-
BINDING_TABLE_ALIGNMENT_LEGACY = 0x0,
6872-
} BINDING_TABLE_ALIGNMENT;
6871+
typedef enum tagFAST_CLEAR_DISABLED_ON_COMPRESSED_SURFACE {
6872+
FAST_CLEAR_DISABLED_ON_COMPRESSED_SURFACE_ENABLED = 0x0,
6873+
FAST_CLEAR_DISABLED_ON_COMPRESSED_SURFACE_DISABLED = 0x1,
6874+
} FAST_CLEAR_DISABLED_ON_COMPRESSED_SURFACE;
6875+
typedef enum tagDISABLE_SLM_READ_MERGE_OPTIMIZATION {
6876+
DISABLE_SLM_READ_MERGE_OPTIMIZATION_ENABLED = 0x0,
6877+
DISABLE_SLM_READ_MERGE_OPTIMIZATION_DISABLED = 0x1,
6878+
} DISABLE_SLM_READ_MERGE_OPTIMIZATION;
68736879
typedef enum tagDISABLE_ATOMIC_ON_CLEAR_DATA {
68746880
DISABLE_ATOMIC_ON_CLEAR_DATA_ENABLE = 0x0,
68756881
DISABLE_ATOMIC_ON_CLEAR_DATA_DISABLE = 0x1,
68766882
} DISABLE_ATOMIC_ON_CLEAR_DATA;
68776883
inline void init(void) {
68786884
memset(&TheStructure, 0, sizeof(TheStructure));
68796885
TheStructure.Common.DwordLength = DWORD_LENGTH_EXCLUDES_DWORD_0_1;
6880-
TheStructure.Common._3DCommandSubOpcode =
6881-
_3D_COMMAND_SUB_OPCODE_STATE_COMPUTE_MODE;
6882-
TheStructure.Common._3DCommandOpcode =
6883-
_3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED;
6886+
TheStructure.Common._3DCommandSubOpcode = _3D_COMMAND_SUB_OPCODE_STATE_COMPUTE_MODE;
6887+
TheStructure.Common._3DCommandOpcode = _3D_COMMAND_OPCODE_GFXPIPE_NONPIPELINED;
68846888
TheStructure.Common.CommandSubtype = COMMAND_SUBTYPE_GFXPIPE_COMMON;
68856889
TheStructure.Common.CommandType = COMMAND_TYPE_GFXPIPE;
68866890
TheStructure.Common.ForceNonCoherent = FORCE_NON_COHERENT_FORCE_DISABLED;
6887-
TheStructure.Common.BindingTableAlignment = BINDING_TABLE_ALIGNMENT_LEGACY;
6888-
TheStructure.Common.DisableAtomicOnClearData =
6889-
DISABLE_ATOMIC_ON_CLEAR_DATA_ENABLE;
6890-
TheStructure.Common.ForceDisableSupportForMultiGpuAtomics = 1;
6891-
TheStructure.Common.ForceDisableSupportForMultiGpuPartialWrites = 1;
6891+
TheStructure.Common.FastClearDisabledOnCompressedSurface = FAST_CLEAR_DISABLED_ON_COMPRESSED_SURFACE_ENABLED;
6892+
TheStructure.Common.DisableSlmReadMergeOptimization = DISABLE_SLM_READ_MERGE_OPTIMIZATION_ENABLED;
6893+
TheStructure.Common.DisableAtomicOnClearData = DISABLE_ATOMIC_ON_CLEAR_DATA_ENABLE;
68926894
}
68936895
static tagSTATE_COMPUTE_MODE sInit(void) {
68946896
STATE_COMPUTE_MODE state;
68956897
state.init();
68966898
return state;
68976899
}
68986900
inline uint32_t &getRawData(const uint32_t index) {
6899-
DEBUG_BREAK_IF(index >= 2);
6901+
UNRECOVERABLE_IF(index >= 2);
69006902
return TheStructure.RawData[index];
69016903
}
69026904
inline void setDisableSupportForMultiGpuFence(const bool value) {
@@ -6921,37 +6923,30 @@ typedef struct tagSTATE_COMPUTE_MODE {
69216923
TheStructure.Common.ForceNonCoherent = value;
69226924
}
69236925
inline FORCE_NON_COHERENT getForceNonCoherent(void) const {
6924-
return static_cast<FORCE_NON_COHERENT>(
6925-
TheStructure.Common.ForceNonCoherent);
6926+
return static_cast<FORCE_NON_COHERENT>(TheStructure.Common.ForceNonCoherent);
69266927
}
6927-
inline void setBindingTableAlignment(const BINDING_TABLE_ALIGNMENT value) {
6928-
TheStructure.Common.BindingTableAlignment = value;
6928+
inline void setFastClearDisabledOnCompressedSurface(const FAST_CLEAR_DISABLED_ON_COMPRESSED_SURFACE value) {
6929+
TheStructure.Common.FastClearDisabledOnCompressedSurface = value;
69296930
}
6930-
inline BINDING_TABLE_ALIGNMENT getBindingTableAlignment(void) const {
6931-
return static_cast<BINDING_TABLE_ALIGNMENT>(
6932-
TheStructure.Common.BindingTableAlignment);
6931+
inline FAST_CLEAR_DISABLED_ON_COMPRESSED_SURFACE getFastClearDisabledOnCompressedSurface(void) const {
6932+
return static_cast<FAST_CLEAR_DISABLED_ON_COMPRESSED_SURFACE>(TheStructure.Common.FastClearDisabledOnCompressedSurface);
69336933
}
6934-
inline void
6935-
setDisableAtomicOnClearData(const DISABLE_ATOMIC_ON_CLEAR_DATA value) {
6936-
TheStructure.Common.DisableAtomicOnClearData = value;
6934+
inline void setDisableSlmReadMergeOptimization(const DISABLE_SLM_READ_MERGE_OPTIMIZATION value) {
6935+
TheStructure.Common.DisableSlmReadMergeOptimization = value;
69376936
}
6938-
inline DISABLE_ATOMIC_ON_CLEAR_DATA getDisableAtomicOnClearData(void) const {
6939-
return static_cast<DISABLE_ATOMIC_ON_CLEAR_DATA>(
6940-
TheStructure.Common.DisableAtomicOnClearData);
6937+
inline DISABLE_SLM_READ_MERGE_OPTIMIZATION getDisableSlmReadMergeOptimization(void) const {
6938+
return static_cast<DISABLE_SLM_READ_MERGE_OPTIMIZATION>(TheStructure.Common.DisableSlmReadMergeOptimization);
69416939
}
6942-
inline void setCoherentAccessL1CacheDisable(const uint32_t value) {
6943-
DEBUG_BREAK_IF(value > 0x1000);
6944-
TheStructure.Common.CoherentAccessL1CacheDisable = value;
6940+
inline void setDisableAtomicOnClearData(const DISABLE_ATOMIC_ON_CLEAR_DATA value) {
6941+
TheStructure.Common.DisableAtomicOnClearData = value;
69456942
}
6946-
inline uint32_t getCoherentAccessL1CacheDisable(void) const {
6947-
return TheStructure.Common.CoherentAccessL1CacheDisable;
6943+
inline DISABLE_ATOMIC_ON_CLEAR_DATA getDisableAtomicOnClearData(void) const {
6944+
return static_cast<DISABLE_ATOMIC_ON_CLEAR_DATA>(TheStructure.Common.DisableAtomicOnClearData);
69486945
}
6949-
inline void
6950-
setDisableL1InvalidateForNonL1CacheableWrites(const uint32_t value) {
6951-
DEBUG_BREAK_IF(value > 0x2000);
6946+
inline void setDisableL1InvalidateForNonL1CacheableWrites(const bool value) {
69526947
TheStructure.Common.DisableL1InvalidateForNonL1CacheableWrites = value;
69536948
}
6954-
inline uint32_t getDisableL1InvalidateForNonL1CacheableWrites(void) const {
6949+
inline bool getDisableL1InvalidateForNonL1CacheableWrites(void) const {
69556950
return TheStructure.Common.DisableL1InvalidateForNonL1CacheableWrites;
69566951
}
69576952
inline void setLargeGrfMode(const bool value) {
@@ -6961,7 +6956,7 @@ typedef struct tagSTATE_COMPUTE_MODE {
69616956
return TheStructure.Common.LargeGrfMode;
69626957
}
69636958
inline void setMaskBits(const uint32_t value) {
6964-
DEBUG_BREAK_IF(value > 0xffff0000L);
6959+
UNRECOVERABLE_IF(value > 0xffff);
69656960
TheStructure.Common.MaskBits = value;
69666961
}
69676962
inline uint32_t getMaskBits(void) const {

0 commit comments

Comments
 (0)