feature: implements 2d block load/store helpers

Implemented the product helper specializations for querying device
support for 2D block load/store operations.

The desired support matrix is both load and store is supported for PVC
and up, and unsupported forall else.

The interface for querying 2d block load/storecapabilities was
implemented in a previous PR.

Related-To: NEO-11592
Signed-off-by: Jack Myers <jack.myers@intel.com>
This commit is contained in:
Jack Myers
2024-08-02 23:29:15 +00:00
committed by Compute-Runtime-Automation
parent 959626376e
commit c8746638c9
7 changed files with 41 additions and 2 deletions

View File

@@ -86,6 +86,7 @@ using IsAtLeastSkl = IsAtLeastProduct<IGFX_SKYLAKE>;
using IsAtLeastMtl = IsAtLeastProduct<IGFX_METEORLAKE>;
using IsAtMostDg2 = IsAtMostProduct<IGFX_DG2>;
using IsAtLeastPVC = IsAtLeastProduct<IGFX_PVC>;
using IsAtMostPVC = IsAtMostProduct<IGFX_PVC>;
using IsNotPVC = IsNotWithinProducts<IGFX_PVC, IGFX_PVC>;
using IsNotPvcOrDg2 = IsNotWithinProducts<IGFX_DG2, IGFX_PVC>;

View File

@@ -1016,12 +1016,22 @@ TEST_F(ProductHelperTest, whenGettingMaxSubSliceSpaceThenValueIsNotSmallerThanMa
EXPECT_EQ(maxSupportedSubSlices, productHelper->computeMaxNeededSubSliceSpace(hwInfo));
}
HWTEST_F(ProductHelperTest, givenDefaultProductHelperWhenQuery2DBlockLoadThenReturnFalse) {
HWTEST2_F(ProductHelperTest, givenProductHelperWhenQuery2DBlockLoadThenReturnFalse, IsAtMostDg2) {
EXPECT_FALSE(productHelper->supports2DBlockLoad());
}
HWTEST_F(ProductHelperTest, givenDefaultProductHelperWhenQuery2DBlockStoreThenReturnFalse) {
HWTEST2_F(ProductHelperTest, givenProductHelperWhenQuery2DBlockStoreThenReturnFalse, IsAtMostDg2) {
EXPECT_FALSE(productHelper->supports2DBlockStore());
}
HWTEST2_F(ProductHelperTest, givenProductHelperWhenQuery2DBlockLoadThenReturnTrue, IsAtLeastPVC) {
EXPECT_TRUE(productHelper->supports2DBlockLoad());
}
HWTEST2_F(ProductHelperTest, givenProductHelperWhenQuery2DBlockStoreThenReturnTrue, IsAtLeastPVC) {
EXPECT_TRUE(productHelper->supports2DBlockStore());
}