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