Skip to content

Commit 63ae267

Browse files
Remove GMock from MockD3DSharingFunctions
Related-To: NEO-4914 Signed-off-by: Fabian Zwolinski <[email protected]>
1 parent 83025da commit 63ae267

File tree

7 files changed

+1059
-583
lines changed

7 files changed

+1059
-583
lines changed

opencl/test/unit_test/d3d_sharing/cl_dx_sharing_tests.cpp

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2019-2021 Intel Corporation
2+
* Copyright (C) 2019-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -17,7 +17,6 @@
1717
#include "opencl/test/unit_test/mocks/mock_buffer.h"
1818
#include "opencl/test/unit_test/mocks/mock_d3d_objects.h"
1919

20-
#include "gmock/gmock.h"
2120
#include "gtest/gtest.h"
2221

2322
static const DXGI_FORMAT DXGIformats[] = {
@@ -146,7 +145,7 @@ struct clIntelSharingFormatQueryDX1X : public PlatformFixture, public ::testing:
146145
std::vector<DXGI_FORMAT> retrievedFormats;
147146
ArrayRef<const DXGI_FORMAT> availableFormats;
148147

149-
NiceMock<MockD3DSharingFunctions<T>> *mockSharingFcns;
148+
MockD3DSharingFunctions<T> *mockSharingFcns;
150149
MockContext *context;
151150
cl_uint numImageFormats;
152151
cl_int retVal;
@@ -155,11 +154,11 @@ struct clIntelSharingFormatQueryDX1X : public PlatformFixture, public ::testing:
155154
void SetUp() override {
156155
PlatformFixture::SetUp();
157156
context = new MockContext(pPlatform->getClDevice(0));
158-
mockSharingFcns = new NiceMock<MockD3DSharingFunctions<T>>();
157+
mockSharingFcns = new MockD3DSharingFunctions<T>();
159158
context->setSharingFunctions(mockSharingFcns);
160159

161-
auto checkFormat = [](DXGI_FORMAT format, UINT *pFormat) -> bool { *pFormat = D3D11_FORMAT_SUPPORT_BUFFER | D3D11_FORMAT_SUPPORT_TEXTURE2D | D3D11_FORMAT_SUPPORT_TEXTURE3D; return true; };
162-
ON_CALL(*mockSharingFcns, checkFormatSupport(::testing::_, ::testing::_)).WillByDefault(::testing::Invoke(checkFormat));
160+
mockSharingFcns->checkFormatSupportSetParam1 = true;
161+
mockSharingFcns->checkFormatSupportParamsSet.pFormat = D3D11_FORMAT_SUPPORT_BUFFER | D3D11_FORMAT_SUPPORT_TEXTURE2D | D3D11_FORMAT_SUPPORT_TEXTURE3D;
163162

164163
availableFormats = ArrayRef<const DXGI_FORMAT>(DXGIformats);
165164
retrievedFormats.assign(availableFormats.size(), DXGI_FORMAT_UNKNOWN);
@@ -273,8 +272,6 @@ TEST_F(clIntelSharingFormatQueryDX11, givenValidParametersWhenRequestedDX11Textu
273272
}
274273

275274
TEST_F(clIntelSharingFormatQueryDX11, givenValidParametersWhenRequestingDX11TextureFormatsForPlane1ThenPlanarFormatsAreReturned) {
276-
ON_CALL(*mockSharingFcns, memObjectFormatSupport(::testing::_, ::testing::_)).WillByDefault(::testing::Return(true));
277-
278275
retVal = clGetSupportedD3D11TextureFormatsINTEL(context, CL_MEM_READ_WRITE, CL_MEM_OBJECT_IMAGE2D, 1,
279276
static_cast<cl_uint>(retrievedFormats.size()),
280277
&retrievedFormats[0], &numImageFormats);

opencl/test/unit_test/d3d_sharing/d3d9_tests.cpp

Lines changed: 253 additions & 105 deletions
Large diffs are not rendered by default.

opencl/test/unit_test/d3d_sharing/d3d_aux_tests.cpp

Lines changed: 43 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2019-2021 Intel Corporation
2+
* Copyright (C) 2019-2022 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -19,7 +19,6 @@
1919
#include "opencl/source/sharings/d3d/d3d_texture.h"
2020
#include "opencl/test/unit_test/fixtures/d3d_test_fixture.h"
2121

22-
#include "gmock/gmock.h"
2322
#include "gtest/gtest.h"
2423

2524
namespace NEO {
@@ -33,9 +32,11 @@ TYPED_TEST_P(D3DAuxTests, given2dSharableTextureWithUnifiedAuxFlagsWhenCreatingT
3332
this->mockSharingFcns->mockTexture2dDesc.MipLevels = 4;
3433

3534
mockGmmResInfo->setUnifiedAuxTranslationCapable();
36-
EXPECT_CALL(*this->mockSharingFcns, getTexture2dDesc(_, _)).Times(1).WillOnce(SetArgPointee<0>(this->mockSharingFcns->mockTexture2dDesc));
3735

38-
auto image = std::unique_ptr<Image>(D3DTexture<TypeParam>::create2d(this->context, (D3DTexture2d *)&this->dummyD3DTexture, CL_MEM_READ_WRITE, 4, nullptr));
36+
this->mockSharingFcns->getTexture2dDescSetParams = true;
37+
this->mockSharingFcns->getTexture2dDescParamsSet.textureDesc = this->mockSharingFcns->mockTexture2dDesc;
38+
39+
auto image = std::unique_ptr<Image>(D3DTexture<TypeParam>::create2d(this->context, reinterpret_cast<D3DTexture2d *>(&this->dummyD3DTexture), CL_MEM_READ_WRITE, 4, nullptr));
3940
ASSERT_NE(nullptr, image.get());
4041

4142
const auto &hwInfo = context->getDevice(0)->getHardwareInfo();
@@ -44,6 +45,8 @@ TYPED_TEST_P(D3DAuxTests, given2dSharableTextureWithUnifiedAuxFlagsWhenCreatingT
4445

4546
EXPECT_EQ(expectedMapAuxGpuVaCalls, mockMM->mapAuxGpuVACalled);
4647
EXPECT_TRUE(gmm->isCompressionEnabled);
48+
49+
EXPECT_EQ(1u, this->mockSharingFcns->getTexture2dDescCalled);
4750
}
4851

4952
TYPED_TEST_P(D3DAuxTests, given2dSharableTextureWithUnifiedAuxFlagsWhenFailOnAuxMappingThenDontSetAsCompressed) {
@@ -52,10 +55,12 @@ TYPED_TEST_P(D3DAuxTests, given2dSharableTextureWithUnifiedAuxFlagsWhenFailOnAux
5255
this->mockSharingFcns->mockTexture2dDesc.MipLevels = 4;
5356

5457
mockGmmResInfo->setUnifiedAuxTranslationCapable();
55-
EXPECT_CALL(*this->mockSharingFcns, getTexture2dDesc(_, _)).Times(1).WillOnce(SetArgPointee<0>(this->mockSharingFcns->mockTexture2dDesc));
58+
59+
this->mockSharingFcns->getTexture2dDescSetParams = true;
60+
this->mockSharingFcns->getTexture2dDescParamsSet.textureDesc = this->mockSharingFcns->mockTexture2dDesc;
5661

5762
mockMM->mapAuxGpuVaRetValue = false;
58-
auto image = std::unique_ptr<Image>(D3DTexture<TypeParam>::create2d(this->context, (D3DTexture2d *)&this->dummyD3DTexture, CL_MEM_READ_WRITE, 4, nullptr));
63+
auto image = std::unique_ptr<Image>(D3DTexture<TypeParam>::create2d(this->context, reinterpret_cast<D3DTexture2d *>(&this->dummyD3DTexture), CL_MEM_READ_WRITE, 4, nullptr));
5964
ASSERT_NE(nullptr, image.get());
6065

6166
const auto &hwInfo = context->getDevice(0)->getHardwareInfo();
@@ -64,6 +69,8 @@ TYPED_TEST_P(D3DAuxTests, given2dSharableTextureWithUnifiedAuxFlagsWhenFailOnAux
6469

6570
EXPECT_EQ(expectedMapAuxGpuVaCalls, mockMM->mapAuxGpuVACalled);
6671
EXPECT_EQ(!hwInfoConfig.isPageTableManagerSupported(hwInfo), gmm->isCompressionEnabled);
72+
73+
EXPECT_EQ(1u, this->mockSharingFcns->getTexture2dDescCalled);
6774
}
6875

6976
TYPED_TEST_P(D3DAuxTests, given2dSharableTextureWithoutUnifiedAuxFlagsWhenCreatingThenDontMapAuxTable) {
@@ -73,21 +80,26 @@ TYPED_TEST_P(D3DAuxTests, given2dSharableTextureWithoutUnifiedAuxFlagsWhenCreati
7380

7481
EXPECT_FALSE(gmm->unifiedAuxTranslationCapable());
7582

76-
EXPECT_CALL(*this->mockSharingFcns, getTexture2dDesc(_, _)).Times(1).WillOnce(SetArgPointee<0>(this->mockSharingFcns->mockTexture2dDesc));
83+
this->mockSharingFcns->getTexture2dDescSetParams = true;
84+
this->mockSharingFcns->getTexture2dDescParamsSet.textureDesc = this->mockSharingFcns->mockTexture2dDesc;
7785

78-
auto image = std::unique_ptr<Image>(D3DTexture<TypeParam>::create2d(this->context, (D3DTexture2d *)&this->dummyD3DTexture, CL_MEM_READ_WRITE, 4, nullptr));
86+
auto image = std::unique_ptr<Image>(D3DTexture<TypeParam>::create2d(this->context, reinterpret_cast<D3DTexture2d *>(&this->dummyD3DTexture), CL_MEM_READ_WRITE, 4, nullptr));
7987
ASSERT_NE(nullptr, image.get());
8088

8189
EXPECT_EQ(0u, mockMM->mapAuxGpuVACalled);
8290
EXPECT_FALSE(gmm->isCompressionEnabled);
91+
92+
EXPECT_EQ(1u, this->mockSharingFcns->getTexture2dDescCalled);
8393
}
8494

8595
TYPED_TEST_P(D3DAuxTests, given2dNonSharableTextureWithUnifiedAuxFlagsWhenCreatingThenMapAuxTableAndSetCompressed) {
8696
mockGmmResInfo->setUnifiedAuxTranslationCapable();
87-
EXPECT_CALL(*this->mockSharingFcns, getTexture2dDesc(_, _)).Times(1).WillOnce(SetArgPointee<0>(this->mockSharingFcns->mockTexture2dDesc));
97+
98+
this->mockSharingFcns->getTexture2dDescSetParams = true;
99+
this->mockSharingFcns->getTexture2dDescParamsSet.textureDesc = this->mockSharingFcns->mockTexture2dDesc;
88100

89101
mockGmmResInfo->setUnifiedAuxTranslationCapable();
90-
auto image = std::unique_ptr<Image>(D3DTexture<TypeParam>::create2d(this->context, (D3DTexture2d *)&this->dummyD3DTexture, CL_MEM_READ_WRITE, 1, nullptr));
102+
auto image = std::unique_ptr<Image>(D3DTexture<TypeParam>::create2d(this->context, reinterpret_cast<D3DTexture2d *>(&this->dummyD3DTexture), CL_MEM_READ_WRITE, 1, nullptr));
91103
ASSERT_NE(nullptr, image.get());
92104

93105
const auto &hwInfo = context->getDevice(0)->getHardwareInfo();
@@ -96,15 +108,19 @@ TYPED_TEST_P(D3DAuxTests, given2dNonSharableTextureWithUnifiedAuxFlagsWhenCreati
96108

97109
EXPECT_EQ(expectedMapAuxGpuVaCalls, mockMM->mapAuxGpuVACalled);
98110
EXPECT_TRUE(gmm->isCompressionEnabled);
111+
112+
EXPECT_EQ(1u, this->mockSharingFcns->getTexture2dDescCalled);
99113
}
100114

101115
TYPED_TEST_P(D3DAuxTests, given3dSharableTextureWithUnifiedAuxFlagsWhenCreatingThenMapAuxTableAndSetAsCompressed) {
102116
this->mockSharingFcns->mockTexture3dDesc.MiscFlags = D3DResourceFlags::MISC_SHARED;
103117

104118
mockGmmResInfo->setUnifiedAuxTranslationCapable();
105-
EXPECT_CALL(*this->mockSharingFcns, getTexture3dDesc(_, _)).Times(1).WillOnce(SetArgPointee<0>(this->mockSharingFcns->mockTexture3dDesc));
106119

107-
std::unique_ptr<Image> image(D3DTexture<TypeParam>::create3d(this->context, (D3DTexture3d *)&this->dummyD3DTexture, CL_MEM_READ_WRITE, 1, nullptr));
120+
this->mockSharingFcns->getTexture3dDescSetParams = true;
121+
this->mockSharingFcns->getTexture3dDescParamsSet.textureDesc = this->mockSharingFcns->mockTexture3dDesc;
122+
123+
std::unique_ptr<Image> image(D3DTexture<TypeParam>::create3d(this->context, reinterpret_cast<D3DTexture3d *>(&this->dummyD3DTexture), CL_MEM_READ_WRITE, 1, nullptr));
108124
ASSERT_NE(nullptr, image.get());
109125

110126
const auto &hwInfo = context->getDevice(0)->getHardwareInfo();
@@ -113,16 +129,19 @@ TYPED_TEST_P(D3DAuxTests, given3dSharableTextureWithUnifiedAuxFlagsWhenCreatingT
113129

114130
EXPECT_EQ(expectedMapAuxGpuVaCalls, mockMM->mapAuxGpuVACalled);
115131
EXPECT_TRUE(gmm->isCompressionEnabled);
132+
EXPECT_EQ(1u, this->mockSharingFcns->getTexture3dDescCalled);
116133
}
117134

118135
TYPED_TEST_P(D3DAuxTests, given3dSharableTextureWithUnifiedAuxFlagsWhenFailOnAuxMappingThenDontSetAsCompressed) {
119136
this->mockSharingFcns->mockTexture3dDesc.MiscFlags = D3DResourceFlags::MISC_SHARED;
120137

121138
mockGmmResInfo->setUnifiedAuxTranslationCapable();
122-
EXPECT_CALL(*this->mockSharingFcns, getTexture3dDesc(_, _)).Times(1).WillOnce(SetArgPointee<0>(this->mockSharingFcns->mockTexture3dDesc));
139+
140+
this->mockSharingFcns->getTexture3dDescSetParams = true;
141+
this->mockSharingFcns->getTexture3dDescParamsSet.textureDesc = this->mockSharingFcns->mockTexture3dDesc;
123142

124143
mockMM->mapAuxGpuVaRetValue = false;
125-
std::unique_ptr<Image> image(D3DTexture<TypeParam>::create3d(this->context, (D3DTexture3d *)&this->dummyD3DTexture, CL_MEM_READ_WRITE, 1, nullptr));
144+
std::unique_ptr<Image> image(D3DTexture<TypeParam>::create3d(this->context, reinterpret_cast<D3DTexture3d *>(&this->dummyD3DTexture), CL_MEM_READ_WRITE, 1, nullptr));
126145
ASSERT_NE(nullptr, image.get());
127146

128147
const auto &hwInfo = context->getDevice(0)->getHardwareInfo();
@@ -131,28 +150,33 @@ TYPED_TEST_P(D3DAuxTests, given3dSharableTextureWithUnifiedAuxFlagsWhenFailOnAux
131150

132151
EXPECT_EQ(expectedMapAuxGpuVaCalls, mockMM->mapAuxGpuVACalled);
133152
EXPECT_EQ(!hwInfoConfig.isPageTableManagerSupported(hwInfo), gmm->isCompressionEnabled);
153+
EXPECT_EQ(1u, this->mockSharingFcns->getTexture3dDescCalled);
134154
}
135155

136156
TYPED_TEST_P(D3DAuxTests, given3dSharableTextureWithoutUnifiedAuxFlagsWhenCreatingThenDontMapAuxTable) {
137157
this->mockSharingFcns->mockTexture3dDesc.MiscFlags = D3DResourceFlags::MISC_SHARED;
138158

139159
EXPECT_FALSE(gmm->unifiedAuxTranslationCapable());
140160

141-
EXPECT_CALL(*this->mockSharingFcns, getTexture3dDesc(_, _)).Times(1).WillOnce(SetArgPointee<0>(this->mockSharingFcns->mockTexture3dDesc));
161+
this->mockSharingFcns->getTexture3dDescSetParams = true;
162+
this->mockSharingFcns->getTexture3dDescParamsSet.textureDesc = this->mockSharingFcns->mockTexture3dDesc;
142163

143-
std::unique_ptr<Image> image(D3DTexture<TypeParam>::create3d(this->context, (D3DTexture3d *)&this->dummyD3DTexture, CL_MEM_READ_WRITE, 1, nullptr));
164+
std::unique_ptr<Image> image(D3DTexture<TypeParam>::create3d(this->context, reinterpret_cast<D3DTexture3d *>(&this->dummyD3DTexture), CL_MEM_READ_WRITE, 1, nullptr));
144165
ASSERT_NE(nullptr, image.get());
145166

146167
EXPECT_EQ(0u, mockMM->mapAuxGpuVACalled);
147168
EXPECT_FALSE(gmm->isCompressionEnabled);
169+
EXPECT_EQ(1u, this->mockSharingFcns->getTexture3dDescCalled);
148170
}
149171

150172
TYPED_TEST_P(D3DAuxTests, given3dNonSharableTextureWithUnifiedAuxFlagsWhenCreatingThenMapAuxTableAndSetCompressed) {
151173
mockGmmResInfo->setUnifiedAuxTranslationCapable();
152-
EXPECT_CALL(*this->mockSharingFcns, getTexture3dDesc(_, _)).Times(1).WillOnce(SetArgPointee<0>(this->mockSharingFcns->mockTexture3dDesc));
174+
175+
this->mockSharingFcns->getTexture3dDescSetParams = true;
176+
this->mockSharingFcns->getTexture3dDescParamsSet.textureDesc = this->mockSharingFcns->mockTexture3dDesc;
153177

154178
mockGmmResInfo->setUnifiedAuxTranslationCapable();
155-
std::unique_ptr<Image> image(D3DTexture<TypeParam>::create3d(this->context, (D3DTexture3d *)&this->dummyD3DTexture, CL_MEM_READ_WRITE, 1, nullptr));
179+
std::unique_ptr<Image> image(D3DTexture<TypeParam>::create3d(this->context, reinterpret_cast<D3DTexture3d *>(&this->dummyD3DTexture), CL_MEM_READ_WRITE, 1, nullptr));
156180
ASSERT_NE(nullptr, image.get());
157181

158182
const auto &hwInfo = context->getDevice(0)->getHardwareInfo();
@@ -161,6 +185,7 @@ TYPED_TEST_P(D3DAuxTests, given3dNonSharableTextureWithUnifiedAuxFlagsWhenCreati
161185

162186
EXPECT_EQ(expectedMapAuxGpuVaCalls, mockMM->mapAuxGpuVACalled);
163187
EXPECT_TRUE(gmm->isCompressionEnabled);
188+
EXPECT_EQ(1u, this->mockSharingFcns->getTexture3dDescCalled);
164189
}
165190

166191
REGISTER_TYPED_TEST_CASE_P(D3DAuxTests,

0 commit comments

Comments
 (0)