@@ -1206,162 +1206,6 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandStreamReceiverFlushTaskTests, givenCsrInNonDi
12061206 EXPECT_EQ (0u , surfacesForResidency.size ());
12071207}
12081208
1209- HWCMDTEST_F (IGFX_GEN8_CORE, CommandStreamReceiverFlushTaskTests, givenCsrWhenGeneralStateBaseAddressIsProgrammedThenDecanonizedAddressIsWritten) {
1210- uint64_t generalStateBaseAddress = 0xffff800400010000ull ;
1211-
1212- DispatchFlags dispatchFlags = DispatchFlagsHelper::createDefaultDispatchFlags ();
1213- auto gmmHelper = pDevice->getGmmHelper ();
1214-
1215- typename FamilyType::STATE_BASE_ADDRESS sbaCmd;
1216- StateBaseAddressHelperArgs<FamilyType> args = {
1217- generalStateBaseAddress, // generalStateBase
1218- 0 , // indirectObjectHeapBaseAddress
1219- generalStateBaseAddress, // instructionHeapBaseAddress
1220- 0 , // globalHeapsBaseAddress
1221- 0 , // surfaceStateBaseAddress
1222- &sbaCmd, // stateBaseAddressCmd
1223- &dsh, // dsh
1224- &ioh, // ioh
1225- &ssh, // ssh
1226- gmmHelper, // gmmHelper
1227- 0 , // statelessMocsIndex
1228- MemoryCompressionState::NotApplicable, // memoryCompressionState
1229- true , // setInstructionStateBaseAddress
1230- true , // setGeneralStateBaseAddress
1231- false , // useGlobalHeapsBaseAddress
1232- false , // isMultiOsContextCapable
1233- false , // useGlobalAtomics
1234- false , // areMultipleSubDevicesInContext
1235- false // overrideSurfaceStateBaseAddress
1236- };
1237- StateBaseAddressHelper<FamilyType>::programStateBaseAddress (args);
1238-
1239- EXPECT_NE (generalStateBaseAddress, sbaCmd.getGeneralStateBaseAddress ());
1240- EXPECT_EQ (gmmHelper->decanonize (generalStateBaseAddress), sbaCmd.getGeneralStateBaseAddress ());
1241- }
1242-
1243- HWTEST_F (CommandStreamReceiverFlushTaskTests, givenNonZeroGeneralStateBaseAddressWhenProgrammingIsDisabledThenExpectCommandValueZero) {
1244- uint64_t generalStateBaseAddress = 0x80010000ull ;
1245-
1246- typename FamilyType::STATE_BASE_ADDRESS sbaCmd;
1247- StateBaseAddressHelperArgs<FamilyType> args = {
1248- generalStateBaseAddress, // generalStateBase
1249- 0 , // indirectObjectHeapBaseAddress
1250- generalStateBaseAddress, // instructionHeapBaseAddress
1251- 0 , // globalHeapsBaseAddress
1252- 0 , // surfaceStateBaseAddress
1253- &sbaCmd, // stateBaseAddressCmd
1254- &dsh, // dsh
1255- &ioh, // ioh
1256- &ssh, // ssh
1257- pDevice->getGmmHelper (), // gmmHelper
1258- 0 , // statelessMocsIndex
1259- MemoryCompressionState::NotApplicable, // memoryCompressionState
1260- true , // setInstructionStateBaseAddress
1261- false , // setGeneralStateBaseAddress
1262- false , // useGlobalHeapsBaseAddress
1263- false , // isMultiOsContextCapable
1264- false , // useGlobalAtomics
1265- false , // areMultipleSubDevicesInContext
1266- false // overrideSurfaceStateBaseAddress
1267- };
1268- StateBaseAddressHelper<FamilyType>::programStateBaseAddress (args);
1269-
1270- EXPECT_EQ (0ull , sbaCmd.getGeneralStateBaseAddress ());
1271- EXPECT_EQ (0u , sbaCmd.getGeneralStateBufferSize ());
1272- EXPECT_FALSE (sbaCmd.getGeneralStateBaseAddressModifyEnable ());
1273- EXPECT_FALSE (sbaCmd.getGeneralStateBufferSizeModifyEnable ());
1274- }
1275-
1276- HWTEST_F (CommandStreamReceiverFlushTaskTests, givenNonZeroInternalHeapBaseAddressWhenProgrammingIsDisabledThenExpectCommandValueZero) {
1277- uint64_t internalHeapBaseAddress = 0x80010000ull ;
1278-
1279- typename FamilyType::STATE_BASE_ADDRESS sbaCmd;
1280- StateBaseAddressHelperArgs<FamilyType> args = {
1281- internalHeapBaseAddress, // generalStateBase
1282- internalHeapBaseAddress, // indirectObjectHeapBaseAddress
1283- 0 , // instructionHeapBaseAddress
1284- 0 , // globalHeapsBaseAddress
1285- 0 , // surfaceStateBaseAddress
1286- &sbaCmd, // stateBaseAddressCmd
1287- &dsh, // dsh
1288- &ioh, // ioh
1289- &ssh, // ssh
1290- pDevice->getGmmHelper (), // gmmHelper
1291- 0 , // statelessMocsIndex
1292- MemoryCompressionState::NotApplicable, // memoryCompressionState
1293- false , // setInstructionStateBaseAddress
1294- true , // setGeneralStateBaseAddress
1295- false , // useGlobalHeapsBaseAddress
1296- false , // isMultiOsContextCapable
1297- false , // useGlobalAtomics
1298- false , // areMultipleSubDevicesInContext
1299- false // overrideSurfaceStateBaseAddress
1300- };
1301- StateBaseAddressHelper<FamilyType>::programStateBaseAddress (args);
1302-
1303- EXPECT_FALSE (sbaCmd.getInstructionBaseAddressModifyEnable ());
1304- EXPECT_EQ (0ull , sbaCmd.getInstructionBaseAddress ());
1305- EXPECT_FALSE (sbaCmd.getInstructionBufferSizeModifyEnable ());
1306- EXPECT_EQ (0u , sbaCmd.getInstructionBufferSize ());
1307- EXPECT_EQ (0u , sbaCmd.getInstructionMemoryObjectControlState ());
1308- }
1309-
1310- HWCMDTEST_F (IGFX_GEN8_CORE, CommandStreamReceiverFlushTaskTests, givenSbaProgrammingWhenHeapsAreNotProvidedThenDontProgram) {
1311- DispatchFlags dispatchFlags = DispatchFlagsHelper::createDefaultDispatchFlags ();
1312-
1313- uint64_t internalHeapBase = 0x10000 ;
1314- uint64_t instructionHeapBase = 0x10000 ;
1315- uint64_t generalStateBase = 0x30000 ;
1316- typename FamilyType::STATE_BASE_ADDRESS sbaCmd;
1317- StateBaseAddressHelperArgs<FamilyType> args = {
1318- generalStateBase, // generalStateBase
1319- internalHeapBase, // indirectObjectHeapBaseAddress
1320- instructionHeapBase, // instructionHeapBaseAddress
1321- 0 , // globalHeapsBaseAddress
1322- 0 , // surfaceStateBaseAddress
1323- &sbaCmd, // stateBaseAddressCmd
1324- nullptr , // dsh
1325- nullptr , // ioh
1326- nullptr , // ssh
1327- pDevice->getGmmHelper (), // gmmHelper
1328- 0 , // statelessMocsIndex
1329- MemoryCompressionState::NotApplicable, // memoryCompressionState
1330- true , // setInstructionStateBaseAddress
1331- true , // setGeneralStateBaseAddress
1332- false , // useGlobalHeapsBaseAddress
1333- false , // isMultiOsContextCapable
1334- false , // useGlobalAtomics
1335- false , // areMultipleSubDevicesInContext
1336- false // overrideSurfaceStateBaseAddress
1337- };
1338- StateBaseAddressHelper<FamilyType>::programStateBaseAddress (args);
1339-
1340- EXPECT_FALSE (sbaCmd.getDynamicStateBaseAddressModifyEnable ());
1341- EXPECT_FALSE (sbaCmd.getDynamicStateBufferSizeModifyEnable ());
1342- EXPECT_EQ (0u , sbaCmd.getDynamicStateBaseAddress ());
1343- EXPECT_EQ (0u , sbaCmd.getDynamicStateBufferSize ());
1344-
1345- EXPECT_FALSE (sbaCmd.getIndirectObjectBaseAddressModifyEnable ());
1346- EXPECT_FALSE (sbaCmd.getIndirectObjectBufferSizeModifyEnable ());
1347- EXPECT_EQ (0u , sbaCmd.getIndirectObjectBaseAddress ());
1348- EXPECT_EQ (0u , sbaCmd.getIndirectObjectBufferSize ());
1349-
1350- EXPECT_FALSE (sbaCmd.getSurfaceStateBaseAddressModifyEnable ());
1351- EXPECT_EQ (0u , sbaCmd.getSurfaceStateBaseAddress ());
1352-
1353- EXPECT_TRUE (sbaCmd.getInstructionBaseAddressModifyEnable ());
1354- EXPECT_EQ (instructionHeapBase, sbaCmd.getInstructionBaseAddress ());
1355- EXPECT_TRUE (sbaCmd.getInstructionBufferSizeModifyEnable ());
1356- EXPECT_EQ (MemoryConstants::sizeOf4GBinPageEntities, sbaCmd.getInstructionBufferSize ());
1357-
1358- EXPECT_TRUE (sbaCmd.getGeneralStateBaseAddressModifyEnable ());
1359- EXPECT_TRUE (sbaCmd.getGeneralStateBufferSizeModifyEnable ());
1360- auto gmmHelper = pDevice->getGmmHelper ();
1361- EXPECT_EQ (gmmHelper->decanonize (generalStateBase), sbaCmd.getGeneralStateBaseAddress ());
1362- EXPECT_EQ (0xfffffu , sbaCmd.getGeneralStateBufferSize ());
1363- }
1364-
13651209HWTEST_F (CommandStreamReceiverFlushTaskTests, givenCommandStreamReceiverWhenFlushTaskIsCalledThenInitializePageTableManagerRegister) {
13661210 auto csr = new MockCsrHw2<FamilyType>(*pDevice->executionEnvironment , pDevice->getRootDeviceIndex (), pDevice->getDeviceBitfield ());
13671211 auto csr2 = new MockCsrHw2<FamilyType>(*pDevice->executionEnvironment , pDevice->getRootDeviceIndex (), pDevice->getDeviceBitfield ());
0 commit comments