Enable update task count from wait on DG2

Related-To: NEO-6948

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
This commit is contained in:
Dominik Dabek
2022-05-06 12:02:11 +00:00
committed by Compute-Runtime-Automation
parent da52303e6e
commit 0a3c960d61
5 changed files with 13 additions and 7 deletions

View File

@@ -793,7 +793,7 @@ uint32_t CommandQueue::peekBcsTaskCount(aub_stream::EngineType bcsEngineType) co
}
bool CommandQueue::isTextureCacheFlushNeeded(uint32_t commandType) const {
return commandType == CL_COMMAND_COPY_IMAGE && getGpgpuCommandStreamReceiver().isDirectSubmissionEnabled();
return (commandType == CL_COMMAND_COPY_IMAGE || commandType == CL_COMMAND_WRITE_IMAGE) && getGpgpuCommandStreamReceiver().isDirectSubmissionEnabled();
}
IndirectHeap &CommandQueue::getIndirectHeap(IndirectHeap::Type heapType, size_t minRequiredSize) {

View File

@@ -423,7 +423,7 @@ HWTEST_F(CommandQueueCommandStreamTest, WhenCheckIsTextureCacheFlushNeededThenRe
EXPECT_FALSE(cmdQ.isTextureCacheFlushNeeded(CL_COMMAND_COPY_BUFFER_RECT));
for (auto i = CL_COMMAND_NDRANGE_KERNEL; i < CL_COMMAND_RELEASE_GL_OBJECTS; i++) {
if (i == CL_COMMAND_COPY_IMAGE) {
if (i == CL_COMMAND_COPY_IMAGE || i == CL_COMMAND_WRITE_IMAGE) {
commandStreamReceiver.directSubmissionAvailable = true;
EXPECT_TRUE(cmdQ.isTextureCacheFlushNeeded(i));
commandStreamReceiver.directSubmissionAvailable = false;

View File

@@ -154,6 +154,12 @@ HWTEST2_F(HwHelperTestsDg2AndLater, givenXeHPGAndLaterPlatformWhenCheckingIfUnTy
EXPECT_TRUE(hwHelper.unTypedDataPortCacheFlushRequired());
}
HWTEST2_F(HwHelperTestsDg2AndLater, givenHwHelperWhenCheckIsUpdateTaskCountFromWaitSupportedThenReturnsTrue, IsAtLeastXeHpgCore) {
auto &hwHelper = HwHelper::get(hardwareInfo.platform.eRenderCoreFamily);
EXPECT_TRUE(hwHelper.isUpdateTaskCountFromWaitSupported());
}
using HwInfoConfigTestDg2AndLater = ::testing::Test;
HWTEST2_F(HwInfoConfigTestDg2AndLater, givenDg2AndLaterPlatformWhenAskedIfHeapInLocalMemThenTrueIsReturned, IsAtLeastXeHpgCore) {

View File

@@ -52,6 +52,11 @@ void MemorySynchronizationCommands<GfxFamily>::setPipeControlWAFlags(PIPE_CONTRO
pipeControl.setUnTypedDataPortCacheFlush(true);
}
template <>
bool HwHelperHw<Family>::isUpdateTaskCountFromWaitSupported() const {
return true;
}
template <>
bool HwHelperHw<Family>::unTypedDataPortCacheFlushRequired() const {
return true;

View File

@@ -37,11 +37,6 @@ bool HwHelperHw<Family>::isCooperativeDispatchSupported(const EngineGroupType en
return true;
}
template <>
bool HwHelperHw<Family>::isUpdateTaskCountFromWaitSupported() const {
return true;
}
template <>
uint32_t HwHelperHw<Family>::adjustMaxWorkGroupCount(uint32_t maxWorkGroupCount, const EngineGroupType engineGroupType,
const HardwareInfo &hwInfo, bool isEngineInstanced) const {