mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-20 00:24:58 +08:00
fix: handle not aligned gtt size reported by i915
when i915 reports gtt size between 47 and 48 bits we consider it as 48 bit VA space Related-To: GSD-8215 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
d6a14d4ed5
commit
420e1391b2
@@ -309,12 +309,45 @@ TEST(DrmTest, GivenDrmWhenAskedForGttSizeThenReturnCorrectValue) {
|
||||
|
||||
drm->storedRetValForGetGttSize = 0;
|
||||
drm->storedGTTSize = 1ull << 31;
|
||||
EXPECT_EQ(0, drm->Drm::queryGttSize(queryGttSize));
|
||||
EXPECT_EQ(0, drm->Drm::queryGttSize(queryGttSize, true));
|
||||
EXPECT_EQ(drm->storedGTTSize, queryGttSize);
|
||||
|
||||
queryGttSize = 0;
|
||||
drm->storedRetValForGetGttSize = 0;
|
||||
drm->storedGTTSize = 1ull << 47;
|
||||
EXPECT_EQ(0, drm->Drm::queryGttSize(queryGttSize, true));
|
||||
EXPECT_EQ(drm->storedGTTSize, queryGttSize);
|
||||
queryGttSize = 0;
|
||||
drm->storedRetValForGetGttSize = 0;
|
||||
drm->storedGTTSize = 1ull << 47;
|
||||
EXPECT_EQ(0, drm->Drm::queryGttSize(queryGttSize, false));
|
||||
EXPECT_EQ(drm->storedGTTSize, queryGttSize);
|
||||
|
||||
queryGttSize = 0;
|
||||
drm->storedRetValForGetGttSize = 0;
|
||||
drm->storedGTTSize = (1ull << 48) - 1;
|
||||
EXPECT_EQ(0, drm->Drm::queryGttSize(queryGttSize, true));
|
||||
EXPECT_EQ(1ull << 48, queryGttSize);
|
||||
queryGttSize = 0;
|
||||
drm->storedRetValForGetGttSize = 0;
|
||||
drm->storedGTTSize = (1ull << 48) - 1;
|
||||
EXPECT_EQ(0, drm->Drm::queryGttSize(queryGttSize, false));
|
||||
EXPECT_EQ(drm->storedGTTSize, queryGttSize);
|
||||
|
||||
queryGttSize = 0;
|
||||
drm->storedRetValForGetGttSize = 0;
|
||||
drm->storedGTTSize = (1ull << 47) + 1;
|
||||
EXPECT_EQ(0, drm->Drm::queryGttSize(queryGttSize, true));
|
||||
EXPECT_EQ(1ull << 48, queryGttSize);
|
||||
queryGttSize = 0;
|
||||
drm->storedRetValForGetGttSize = 0;
|
||||
drm->storedGTTSize = (1ull << 47) + 1;
|
||||
EXPECT_EQ(0, drm->Drm::queryGttSize(queryGttSize, false));
|
||||
EXPECT_EQ(drm->storedGTTSize, queryGttSize);
|
||||
|
||||
queryGttSize = 0;
|
||||
drm->storedRetValForGetGttSize = -1;
|
||||
EXPECT_NE(0, drm->Drm::queryGttSize(queryGttSize));
|
||||
EXPECT_NE(0, drm->Drm::queryGttSize(queryGttSize, true));
|
||||
EXPECT_EQ(0u, queryGttSize);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user