@@ -3011,7 +3011,8 @@ typedef struct tagSTATE_BASE_ADDRESS {
30113011 uint32_t StatelessDataPortAccessMemoryObjectControlStateEncryptedData : BITFIELD_RANGE(16 , 16 );
30123012 uint32_t StatelessDataPortAccessMemoryObjectControlStateIndexToMocsTables : BITFIELD_RANGE(17 , 22 );
30133013 uint32_t L1CacheControlCachePolicy : BITFIELD_RANGE(23 , 25 );
3014- uint32_t Reserved_122 : BITFIELD_RANGE(26 , 29 );
3014+ uint32_t Reserved_122 : BITFIELD_RANGE(26 , 27 );
3015+ uint32_t SamplerArbitrationControl : BITFIELD_RANGE(28 , 29 );
30153016 uint32_t BaseAddressDisable : BITFIELD_RANGE(30 , 30 ); // patched
30163017 uint32_t Reserved_127 : BITFIELD_RANGE(31 , 31 );
30173018 // DWORD 4
@@ -3095,6 +3096,11 @@ typedef struct tagSTATE_BASE_ADDRESS {
30953096 L1_CACHE_CONTROL_WT = 0x3 ,
30963097 L1_CACHE_CONTROL_WS = 0x4 ,
30973098 } L1_CACHE_CONTROL;
3099+ typedef enum tagSAMPLER_ARBITRATION_CONTROL {
3100+ SAMPLER_ARBITRATION_CONTROL_ROUND_ROBIN = 0x0 ,
3101+ SAMPLER_ARBITRATION_CONTROL_EU_BASED = 0x1 ,
3102+ SAMPLER_ARBITRATION_CONTROL_STATE_BASED = 0x2 ,
3103+ } SAMPLER_ARBITRATION_CONTROL;
30983104 typedef enum tagPATCH_CONSTANTS { // patched
30993105 GENERALSTATEBASEADDRESS_BYTEOFFSET = 0x4 ,
31003106 GENERALSTATEBASEADDRESS_INDEX = 0x1 ,
@@ -3117,6 +3123,7 @@ typedef struct tagSTATE_BASE_ADDRESS {
31173123 TheStructure.Common .CommandSubtype = COMMAND_SUBTYPE_GFXPIPE_COMMON;
31183124 TheStructure.Common .CommandType = COMMAND_TYPE_GFXPIPE;
31193125 TheStructure.Common .L1CacheControlCachePolicy = L1_CACHE_CONTROL_WBP;
3126+ TheStructure.Common .SamplerArbitrationControl = SAMPLER_ARBITRATION_CONTROL_ROUND_ROBIN;
31203127 TheStructure.Common .BaseAddressDisable = false ;
31213128 }
31223129 static tagSTATE_BASE_ADDRESS sInit () {
@@ -3180,6 +3187,12 @@ typedef struct tagSTATE_BASE_ADDRESS {
31803187 inline L1_CACHE_CONTROL getL1CacheControlCachePolicy () const {
31813188 return static_cast <L1_CACHE_CONTROL>(TheStructure.Common .L1CacheControlCachePolicy );
31823189 }
3190+ inline void setSamplerArbitrationControl (const SAMPLER_ARBITRATION_CONTROL value) {
3191+ TheStructure.Common .SamplerArbitrationControl = value;
3192+ }
3193+ inline SAMPLER_ARBITRATION_CONTROL getSamplerArbitrationControl () const {
3194+ return static_cast <SAMPLER_ARBITRATION_CONTROL>(TheStructure.Common .SamplerArbitrationControl );
3195+ }
31833196 inline void setBaseAddressDisable (const bool disable) {
31843197 TheStructure.Common .BaseAddressDisable = disable;
31853198 }
0 commit comments