Refactor ULTs checking DSH usage

Change-Id: I02d1aece9a13c75508feef0af7a7322dd9fc7852
This commit is contained in:
Zdanowicz, Zbigniew 2018-08-21 19:55:20 +02:00 committed by sys_ocldev
parent e0e48203d2
commit 00170eb998
13 changed files with 35 additions and 12 deletions

View File

@ -29,6 +29,7 @@
#include "unit_tests/command_queue/enqueue_fixture.h"
#include "unit_tests/command_queue/enqueue_copy_buffer_fixture.h"
#include "unit_tests/gen_common/gen_commands_common_validation.h"
#include "unit_tests/helpers/unit_test_helper.h"
#include "test.h"
#include <memory>
@ -159,7 +160,7 @@ HWTEST_F(EnqueueCopyBufferTest, addsIndirectData) {
auto kernel = multiDispatchInfo.begin()->getKernel();
EXPECT_NE(dshBefore, pDSH->getUsed());
EXPECT_TRUE(UnitTestHelper<FamilyType>::evaluateDshUsage(dshBefore, pDSH->getUsed(), kernel));
EXPECT_NE(iohBefore, pIOH->getUsed());
if (kernel->requiresSshForBuffers()) {
EXPECT_NE(sshBefore, pSSH->getUsed());

View File

@ -25,6 +25,7 @@
#include "reg_configs_common.h"
#include "unit_tests/command_queue/enqueue_copy_buffer_to_image_fixture.h"
#include "unit_tests/gen_common/gen_commands_common_validation.h"
#include "unit_tests/helpers/unit_test_helper.h"
#include "unit_tests/mocks/mock_builtin_dispatch_info_builder.h"
#include "test.h"
@ -92,7 +93,7 @@ HWTEST_F(EnqueueCopyBufferToImageTest, addsIndirectData) {
auto sshBefore = pSSH->getUsed();
EnqueueCopyBufferToImageHelper<>::enqueueCopyBufferToImage(pCmdQ, srcBuffer, dstImage);
EXPECT_NE(dshBefore, pDSH->getUsed());
EXPECT_TRUE(UnitTestHelper<FamilyType>::evaluateDshUsage(dshBefore, pDSH->getUsed(), nullptr));
EXPECT_NE(iohBefore, pIOH->getUsed());
EXPECT_NE(sshBefore, pSSH->getUsed());
}

View File

@ -25,6 +25,7 @@
#include "reg_configs_common.h"
#include "unit_tests/command_queue/enqueue_copy_image_fixture.h"
#include "unit_tests/gen_common/gen_commands_common_validation.h"
#include "unit_tests/helpers/unit_test_helper.h"
#include "unit_tests/mocks/mock_builtin_dispatch_info_builder.h"
#include "test.h"
@ -95,7 +96,7 @@ HWTEST_F(EnqueueCopyImageTest, addsIndirectData) {
auto sshBefore = pSSH->getUsed();
EnqueueCopyImageHelper<>::enqueueCopyImage(pCmdQ, srcImage, dstImage);
EXPECT_NE(dshBefore, pDSH->getUsed());
EXPECT_TRUE(UnitTestHelper<FamilyType>::evaluateDshUsage(dshBefore, pDSH->getUsed(), nullptr));
EXPECT_NE(iohBefore, pIOH->getUsed());
EXPECT_NE(sshBefore, pSSH->getUsed());
}

View File

@ -25,6 +25,7 @@
#include "reg_configs_common.h"
#include "unit_tests/command_queue/enqueue_copy_image_to_buffer_fixture.h"
#include "unit_tests/gen_common/gen_commands_common_validation.h"
#include "unit_tests/helpers/unit_test_helper.h"
#include "unit_tests/mocks/mock_builtin_dispatch_info_builder.h"
#include "test.h"
@ -93,7 +94,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, EnqueueCopyImageToBufferTest, addsIndirectData) {
auto sshBefore = pSSH->getUsed();
enqueueCopyImageToBuffer<FamilyType>();
EXPECT_NE(dshBefore, pDSH->getUsed());
EXPECT_TRUE(UnitTestHelper<FamilyType>::evaluateDshUsage(dshBefore, pDSH->getUsed(), nullptr));
EXPECT_NE(iohBefore, pIOH->getUsed());
EXPECT_NE(sshBefore, pSSH->getUsed());
}

View File

@ -31,6 +31,7 @@
#include "unit_tests/command_queue/enqueue_fixture.h"
#include "unit_tests/command_queue/enqueue_fill_buffer_fixture.h"
#include "unit_tests/gen_common/gen_commands_common_validation.h"
#include "unit_tests/helpers/unit_test_helper.h"
#include "runtime/memory_manager/memory_manager.h"
#include "test.h"
@ -122,7 +123,7 @@ HWTEST_F(EnqueueFillBufferCmdTests, addsIndirectData) {
auto kernel = multiDispatchInfo.begin()->getKernel();
EXPECT_NE(dshBefore, pDSH->getUsed());
EXPECT_TRUE(UnitTestHelper<FamilyType>::evaluateDshUsage(dshBefore, pDSH->getUsed(), kernel));
EXPECT_NE(iohBefore, pIOH->getUsed());
if (kernel->requiresSshForBuffers()) {
EXPECT_NE(sshBefore, pSSH->getUsed());

View File

@ -22,9 +22,10 @@
#include <algorithm>
#include "reg_configs_common.h"
#include "runtime/helpers/convert_color.h"
#include "unit_tests/command_queue/enqueue_fill_image_fixture.h"
#include "unit_tests/gen_common/gen_commands_common_validation.h"
#include "runtime/helpers/convert_color.h"
#include "unit_tests/helpers/unit_test_helper.h"
#include "test.h"
using namespace OCLRT;
@ -102,7 +103,7 @@ HWTEST_F(EnqueueFillImageTest, addsIndirectData) {
auto sshBefore = pSSH->getUsed();
EnqueueFillImageHelper<>::enqueueFillImage(pCmdQ, image);
EXPECT_NE(dshBefore, pDSH->getUsed());
EXPECT_TRUE(UnitTestHelper<FamilyType>::evaluateDshUsage(dshBefore, pDSH->getUsed(), nullptr));
EXPECT_NE(iohBefore, pIOH->getUsed());
EXPECT_NE(sshBefore, pSSH->getUsed());
}

View File

@ -33,6 +33,7 @@
#include "unit_tests/gen_common/gen_commands_common_validation.h"
#include "unit_tests/helpers/hw_parse.h"
#include "unit_tests/helpers/debug_manager_state_restore.h"
#include "unit_tests/helpers/unit_test_helper.h"
#include "unit_tests/mocks/mock_csr.h"
#include "unit_tests/mocks/mock_device_queue.h"
#include "unit_tests/mocks/mock_buffer.h"
@ -391,7 +392,7 @@ HWTEST_P(EnqueueWorkItemTests, addsIndirectData) {
auto sshBefore = pSSH->getUsed();
enqueueKernel<FamilyType, false>();
EXPECT_NE(dshBefore, pDSH->getUsed());
EXPECT_TRUE(UnitTestHelper<FamilyType>::evaluateDshUsage(dshBefore, pDSH->getUsed(), pKernel));
EXPECT_NE(iohBefore, pIOH->getUsed());
if (pKernel->requiresSshForBuffers() || (pKernel->getKernelInfo().patchInfo.imageMemObjKernelArgs.size() > 0)) {
EXPECT_NE(sshBefore, pSSH->getUsed());

View File

@ -29,6 +29,7 @@
#include "unit_tests/gen_common/gen_commands_common_validation.h"
#include "unit_tests/command_queue/enqueue_read_buffer_fixture.h"
#include "unit_tests/helpers/debug_manager_state_restore.h"
#include "unit_tests/helpers/unit_test_helper.h"
#include "test.h"
using namespace OCLRT;
@ -162,7 +163,7 @@ HWTEST_F(EnqueueReadBufferTypeTest, addsIndirectData) {
auto kernel = multiDispatchInfo.begin()->getKernel();
EXPECT_NE(dshBefore, pDSH->getUsed());
EXPECT_TRUE(UnitTestHelper<FamilyType>::evaluateDshUsage(dshBefore, pDSH->getUsed(), kernel));
EXPECT_NE(iohBefore, pIOH->getUsed());
if (kernel->requiresSshForBuffers()) {
EXPECT_NE(sshBefore, pSSH->getUsed());

View File

@ -24,6 +24,7 @@
#include "reg_configs_common.h"
#include "unit_tests/command_queue/enqueue_read_image_fixture.h"
#include "unit_tests/gen_common/gen_commands_common_validation.h"
#include "unit_tests/helpers/unit_test_helper.h"
#include "unit_tests/mocks/mock_builtin_dispatch_info_builder.h"
#include "test.h"
@ -103,7 +104,7 @@ HWTEST_F(EnqueueReadImageTest, addsIndirectData) {
auto sshBefore = pSSH->getUsed();
EnqueueReadImageHelper<>::enqueueReadImage(pCmdQ, srcImage, EnqueueReadImageTraits::blocking);
EXPECT_NE(dshBefore, pDSH->getUsed());
EXPECT_TRUE(UnitTestHelper<FamilyType>::evaluateDshUsage(dshBefore, pDSH->getUsed(), nullptr));
EXPECT_NE(iohBefore, pIOH->getUsed());
EXPECT_NE(sshBefore, pSSH->getUsed());
}

View File

@ -28,6 +28,7 @@
#include "unit_tests/command_queue/enqueue_fixture.h"
#include "unit_tests/gen_common/gen_commands_common_validation.h"
#include "unit_tests/helpers/debug_manager_state_restore.h"
#include "unit_tests/helpers/unit_test_helper.h"
#include "test.h"
using namespace OCLRT;
@ -161,7 +162,7 @@ HWTEST_F(EnqueueWriteBufferTypeTest, addsIndirectData) {
auto kernel = multiDispatchInfo.begin()->getKernel();
EXPECT_NE(dshBefore, pDSH->getUsed());
EXPECT_TRUE(UnitTestHelper<FamilyType>::evaluateDshUsage(dshBefore, pDSH->getUsed(), kernel));
EXPECT_NE(iohBefore, pIOH->getUsed());
if (kernel->requiresSshForBuffers()) {
EXPECT_NE(sshBefore, pSSH->getUsed());

View File

@ -25,6 +25,7 @@
#include "runtime/memory_manager/memory_manager.h"
#include "unit_tests/command_queue/enqueue_write_image_fixture.h"
#include "unit_tests/gen_common/gen_commands_common_validation.h"
#include "unit_tests/helpers/unit_test_helper.h"
#include "unit_tests/mocks/mock_builtin_dispatch_info_builder.h"
#include "test.h"
@ -104,7 +105,7 @@ HWTEST_F(EnqueueWriteImageTest, addsIndirectData) {
auto sshBefore = pSSH->getUsed();
EnqueueWriteImageHelper<>::enqueueWriteImage(pCmdQ, dstImage, EnqueueWriteImageTraits::blocking);
EXPECT_NE(dshBefore, pDSH->getUsed());
EXPECT_TRUE(UnitTestHelper<FamilyType>::evaluateDshUsage(dshBefore, pDSH->getUsed(), nullptr));
EXPECT_NE(iohBefore, pIOH->getUsed());
EXPECT_NE(sshBefore, pSSH->getUsed());
}

View File

@ -24,8 +24,12 @@
namespace OCLRT {
class Kernel;
template <typename GfxFamily>
struct UnitTestHelper {
static bool isL3ConfigProgrammable();
static bool evaluateDshUsage(size_t sizeBeforeEnqueue, size_t sizeAfterEnqueue, Kernel *kernel);
};
} // namespace OCLRT

View File

@ -26,4 +26,12 @@ template <typename GfxFamily>
bool UnitTestHelper<GfxFamily>::isL3ConfigProgrammable() {
return true;
};
template <typename GfxFamily>
bool UnitTestHelper<GfxFamily>::evaluateDshUsage(size_t sizeBeforeEnqueue, size_t sizeAfterEnqueue, Kernel *kernel) {
if (sizeBeforeEnqueue != sizeAfterEnqueue) {
return true;
}
return false;
}
} // namespace OCLRT