2020-02-13 21:43:34 +08:00
|
|
|
/*
|
2021-01-29 18:17:10 +08:00
|
|
|
* Copyright (C) 2020-2021 Intel Corporation
|
2020-02-13 21:43:34 +08:00
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2020-02-24 08:01:38 +08:00
|
|
|
#include "shared/test/unit_test/image/image_surface_state_fixture.h"
|
2020-02-13 21:43:34 +08:00
|
|
|
|
2020-03-19 21:26:08 +08:00
|
|
|
using namespace NEO;
|
|
|
|
|
2020-02-13 21:43:34 +08:00
|
|
|
using ImageSurfaceStateTestsGen9 = ImageSurfaceStateTests;
|
|
|
|
|
|
|
|
GEN9TEST_F(ImageSurfaceStateTestsGen9, givenGmmWithMediaCompressedWhenSetFlagsForMediaCompressionThenAuxiliarySurfaceNoneIsSet) {
|
|
|
|
auto size = sizeof(typename FamilyType::RENDER_SURFACE_STATE);
|
|
|
|
auto surfaceState = std::make_unique<char[]>(size);
|
|
|
|
auto castSurfaceState = reinterpret_cast<typename FamilyType::RENDER_SURFACE_STATE *>(surfaceState.get());
|
|
|
|
castSurfaceState->setAuxiliarySurfaceMode(FamilyType::RENDER_SURFACE_STATE::AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_CCS_E);
|
|
|
|
|
2021-09-20 22:29:22 +08:00
|
|
|
mockGmm->gmmResourceInfo->getResourceFlags()->Info.MediaCompressed = false;
|
|
|
|
EncodeSurfaceState<FamilyType>::setFlagsForMediaCompression(castSurfaceState, mockGmm.get());
|
2020-02-13 21:43:34 +08:00
|
|
|
EXPECT_EQ(castSurfaceState->getAuxiliarySurfaceMode(), FamilyType::RENDER_SURFACE_STATE::AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_CCS_E);
|
2021-09-20 22:29:22 +08:00
|
|
|
mockGmm->gmmResourceInfo->getResourceFlags()->Info.MediaCompressed = true;
|
|
|
|
EncodeSurfaceState<FamilyType>::setFlagsForMediaCompression(castSurfaceState, mockGmm.get());
|
2020-02-13 21:43:34 +08:00
|
|
|
EXPECT_EQ(castSurfaceState->getAuxiliarySurfaceMode(), FamilyType::RENDER_SURFACE_STATE::AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_NONE);
|
|
|
|
}
|
2020-02-17 06:03:26 +08:00
|
|
|
|
|
|
|
GEN9TEST_F(ImageSurfaceStateTestsGen9, givenGmmWithMediaCompressedWhenSetMipTailStartLodThenMipTailStartLodIsSet) {
|
|
|
|
auto size = sizeof(typename FamilyType::RENDER_SURFACE_STATE);
|
|
|
|
auto surfaceState = std::make_unique<char[]>(size);
|
|
|
|
auto castSurfaceState = reinterpret_cast<typename FamilyType::RENDER_SURFACE_STATE *>(surfaceState.get());
|
|
|
|
|
|
|
|
setMipTailStartLod<FamilyType>(castSurfaceState, nullptr);
|
|
|
|
|
|
|
|
EXPECT_EQ(castSurfaceState->getMipTailStartLod(), 0u);
|
|
|
|
|
2021-09-20 22:29:22 +08:00
|
|
|
setMipTailStartLod<FamilyType>(castSurfaceState, mockGmm.get());
|
2020-02-17 06:03:26 +08:00
|
|
|
|
2021-09-20 22:29:22 +08:00
|
|
|
EXPECT_EQ(castSurfaceState->getMipTailStartLod(), mockGmm->gmmResourceInfo->getMipTailStartLodSurfaceState());
|
2020-02-17 06:03:26 +08:00
|
|
|
}
|