fix: remove wa for override patIndex on mtl

after forcing cacheable to 0 this wa should be not needed

Related-To: NEO-8120
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
This commit is contained in:
Cencelewska, Katarzyna
2023-08-22 10:55:41 +00:00
committed by Compute-Runtime-Automation
parent 894bab05ef
commit dfa420d318
9 changed files with 1 additions and 39 deletions

View File

@ -26,6 +26,7 @@ class GfxCoreHelper;
class MemoryManager;
struct DeviceInfo;
class CompilerProductHelper;
enum class AllocationType;
} // namespace NEO
namespace L0 {

View File

@ -1212,7 +1212,6 @@ uint64_t Drm::getPatIndex(Gmm *gmm, AllocationType allocationType, CacheRegion c
}
uint64_t patIndex = rootDeviceEnvironment.getGmmClientContext()->cachePolicyGetPATIndex(resourceInfo, usageType, compressed, cachable);
patIndex = productHelper.overridePatIndex(allocationType, patIndex);
UNRECOVERABLE_IF(patIndex == static_cast<uint64_t>(GMM_PAT_ERROR));

View File

@ -39,7 +39,6 @@ struct RootDeviceEnvironment;
class OSInterface;
class DriverModel;
enum class DriverModelType;
enum class AllocationType;
using ProductHelperCreateFunctionType = std::unique_ptr<ProductHelper> (*)();
extern ProductHelperCreateFunctionType productHelperFactory[IGFX_MAX_PRODUCT];
@ -165,7 +164,6 @@ class ProductHelper {
virtual bool isResolveDependenciesByPipeControlsSupported(const HardwareInfo &hwInfo, bool isOOQ, TaskCountType queueTaskCount, const CommandStreamReceiver &queueCsr) const = 0;
virtual bool isMidThreadPreemptionDisallowedForRayTracingKernels() const = 0;
virtual bool isBufferPoolAllocatorSupported() const = 0;
virtual uint64_t overridePatIndex(AllocationType allocationType, uint64_t patIndex) const = 0;
virtual bool isTlbFlushRequired() const = 0;
virtual bool isDummyBlitWaRequired() const = 0;
virtual bool isDetectIndirectAccessInKernelSupported(const KernelDescriptor &kernelDescriptor) const = 0;

View File

@ -732,11 +732,6 @@ void ProductHelperHw<gfxProduct>::fillPipelineSelectPropertiesSupportStructure(P
propertiesSupport.systolicMode = isSystolicModeConfigurable(hwInfo);
}
template <PRODUCT_FAMILY gfxProduct>
uint64_t ProductHelperHw<gfxProduct>::overridePatIndex(AllocationType allocationType, uint64_t patIndex) const {
return patIndex;
}
template <PRODUCT_FAMILY gfxProduct>
bool ProductHelperHw<gfxProduct>::isFusedEuDisabledForDpas(bool kernelHasDpasInstructions, const uint32_t *lws, const uint32_t *groupCount, const HardwareInfo &hwInfo) const {
return false;

View File

@ -116,7 +116,6 @@ class ProductHelperHw : public ProductHelper {
bool isResolveDependenciesByPipeControlsSupported(const HardwareInfo &hwInfo, bool isOOQ, TaskCountType queueTaskCount, const CommandStreamReceiver &queueCsr) const override;
bool isMidThreadPreemptionDisallowedForRayTracingKernels() const override;
bool isBufferPoolAllocatorSupported() const override;
uint64_t overridePatIndex(AllocationType allocationType, uint64_t patIndex) const override;
bool isTlbFlushRequired() const override;
bool isDummyBlitWaRequired() const override;
bool isDetectIndirectAccessInKernelSupported(const KernelDescriptor &kernelDescriptor) const override;

View File

@ -83,15 +83,6 @@ std::optional<aub_stream::ProductFamily> ProductHelperHw<gfxProduct>::getAubStre
return aub_stream::ProductFamily::Mtl;
};
template <>
uint64_t ProductHelperHw<gfxProduct>::overridePatIndex(AllocationType allocationType, uint64_t patIndex) const {
if (allocationType == AllocationType::TIMESTAMP_PACKET_TAG_BUFFER) {
constexpr uint64_t uncached = 2u;
return uncached;
}
return patIndex;
}
template <>
bool ProductHelperHw<gfxProduct>::isDummyBlitWaRequired() const {
return true;

View File

@ -1492,15 +1492,6 @@ HWTEST_F(GfxCoreHelperTest, WhenIsDynamicallyPopulatedIsTrueThenGetHighestEnable
EXPECT_EQ(maxDualSubSlice, 16u);
}
HWTEST_F(ProductHelperCommonTest, givenPatIndexAndAllocationTypeWhenCallOverridePatIndexThenSameIndexIsReturned) {
auto &gfxCoreHelper = getHelper<ProductHelper>();
uint64_t patIndex = 1u;
auto allocationType = NEO::AllocationType::TIMESTAMP_PACKET_TAG_BUFFER;
EXPECT_EQ(patIndex, gfxCoreHelper.overridePatIndex(allocationType, patIndex));
allocationType = NEO::AllocationType::BUFFER;
patIndex = 3u;
EXPECT_EQ(patIndex, gfxCoreHelper.overridePatIndex(allocationType, patIndex));
}
HWTEST_F(ProductHelperCommonTest, givenHwHelperWhenIsFusedEuDisabledForDpasCalledThenFalseReturned) {
auto hwInfo = *defaultHwInfo;
auto &gfxCoreHelper = getHelper<ProductHelper>();

View File

@ -23,5 +23,4 @@ HWTEST_EXCLUDE_PRODUCT(ProductHelperTest, givenProductHelperWhenIsAdjustWalkOrde
HWTEST_EXCLUDE_PRODUCT(ProductHelperTest, whenCheckIsCachingOnCpuAvailableThenAlwaysTrue, IGFX_METEORLAKE);
HWTEST_EXCLUDE_PRODUCT(ProductHelperTest, givenProductHelperWhenCheckingIsBufferPoolAllocatorSupportedThenCorrectValueIsReturned, IGFX_METEORLAKE);
HWTEST_EXCLUDE_PRODUCT(ProductHelperTest, givenDebugFlagWhenCheckingIsResolveDependenciesByPipeControlsSupportedThenCorrectValueIsReturned, IGFX_METEORLAKE);
HWTEST_EXCLUDE_PRODUCT(ProductHelperCommonTest, givenPatIndexAndAllocationTypeWhenCallOverridePatIndexThenSameIndexIsReturned, IGFX_METEORLAKE);
HWTEST_EXCLUDE_PRODUCT(ProductHelperTestXeHpgCore, givenProductHelperWhenCheckTimestampWaitSupportForEventsThenReturnFalse, IGFX_METEORLAKE);

View File

@ -247,17 +247,6 @@ MTLTEST_F(MtlProductHelper, givenDebugFlagWhenCheckingIsResolveDependenciesByPip
using ProductHelperTestMtl = Test<DeviceFixture>;
MTLTEST_F(ProductHelperTestMtl, givenPatIndexAndAllocationTypeWhenCallOverridePatIndexThenForTimestampPacketTagBufferReturnTwo) {
auto &helper = getHelper<ProductHelper>();
uint64_t expectedPatIndexWhenTimestampPacketTagBuffer = 2u;
uint64_t patIndex = 1u;
auto allocationType = NEO::AllocationType::TIMESTAMP_PACKET_TAG_BUFFER;
EXPECT_EQ(expectedPatIndexWhenTimestampPacketTagBuffer, helper.overridePatIndex(allocationType, patIndex));
allocationType = NEO::AllocationType::BUFFER;
patIndex = 3u;
EXPECT_EQ(patIndex, helper.overridePatIndex(allocationType, patIndex));
}
MTLTEST_F(ProductHelperTestMtl, givenMtlWhenCheckIsCachingOnCpuAvailableThenAlwaysFalse) {
const auto &productHelper = getHelper<ProductHelper>();
EXPECT_FALSE(productHelper.isCachingOnCpuAvailable());