1 /*
2  * Copyright (C) 2020-2021 Intel Corporation
3  *
4  * SPDX-License-Identifier: MIT
5  *
6  */
7 
8 #include "shared/test/unit_test/image/image_surface_state_fixture.h"
9 
10 using namespace NEO;
11 
12 using ImageSurfaceStateTestsGen11 = ImageSurfaceStateTests;
13 
GEN11TEST_F(ImageSurfaceStateTestsGen11,givenGmmWithMediaCompressedWhenSetFlagsForMediaCompressionThenAuxiliarySurfaceNoneIsSet)14 GEN11TEST_F(ImageSurfaceStateTestsGen11, givenGmmWithMediaCompressedWhenSetFlagsForMediaCompressionThenAuxiliarySurfaceNoneIsSet) {
15     auto size = sizeof(typename FamilyType::RENDER_SURFACE_STATE);
16     auto surfaceState = std::make_unique<char[]>(size);
17     auto castSurfaceState = reinterpret_cast<typename FamilyType::RENDER_SURFACE_STATE *>(surfaceState.get());
18     castSurfaceState->setAuxiliarySurfaceMode(FamilyType::RENDER_SURFACE_STATE::AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_CCS_E);
19 
20     mockGmm->gmmResourceInfo->getResourceFlags()->Info.MediaCompressed = false;
21     EncodeSurfaceState<FamilyType>::setFlagsForMediaCompression(castSurfaceState, mockGmm.get());
22     EXPECT_EQ(castSurfaceState->getAuxiliarySurfaceMode(), FamilyType::RENDER_SURFACE_STATE::AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_CCS_E);
23     mockGmm->gmmResourceInfo->getResourceFlags()->Info.MediaCompressed = true;
24     EncodeSurfaceState<FamilyType>::setFlagsForMediaCompression(castSurfaceState, mockGmm.get());
25     EXPECT_EQ(castSurfaceState->getAuxiliarySurfaceMode(), FamilyType::RENDER_SURFACE_STATE::AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_NONE);
26 }
27 
GEN11TEST_F(ImageSurfaceStateTestsGen11,givenGmmWithMediaCompressedWhenSetMipTailStartLodThenMipTailStartLodIsSet)28 GEN11TEST_F(ImageSurfaceStateTestsGen11, givenGmmWithMediaCompressedWhenSetMipTailStartLodThenMipTailStartLodIsSet) {
29     auto size = sizeof(typename FamilyType::RENDER_SURFACE_STATE);
30     auto surfaceState = std::make_unique<char[]>(size);
31     auto castSurfaceState = reinterpret_cast<typename FamilyType::RENDER_SURFACE_STATE *>(surfaceState.get());
32 
33     setMipTailStartLod<FamilyType>(castSurfaceState, nullptr);
34 
35     EXPECT_EQ(castSurfaceState->getMipTailStartLod(), 0u);
36 
37     setMipTailStartLod<FamilyType>(castSurfaceState, mockGmm.get());
38 
39     EXPECT_EQ(castSurfaceState->getMipTailStartLod(), mockGmm->gmmResourceInfo->getMipTailStartLodSurfaceState());
40 }
41