Skip to content

Commit 9a67b2d

Browse files
Add flag to kernel that specifies whether stateless writes are used.
- currently no compiler support yet, hence it returns true. - minor cleanup of kernel tests. Change-Id: Ic153810b1a6062d0bae22d6faab5db601764dd98 Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
1 parent b09b946 commit 9a67b2d

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

runtime/kernel/kernel.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,8 @@ class Kernel : public BaseObject<_cl_kernel> {
393393
void setUnifiedMemoryExecInfo(GraphicsAllocation *argValue);
394394
void clearUnifiedMemoryExecInfo();
395395

396+
bool areStatelessWritesUsed() { return containsStatelessWrites; }
397+
396398
protected:
397399
struct ObjectCounts {
398400
uint32_t imageCount;
@@ -510,6 +512,7 @@ class Kernel : public BaseObject<_cl_kernel> {
510512
bool usingSharedObjArgs;
511513
bool usingImagesOnly = false;
512514
bool auxTranslationRequired = false;
515+
bool containsStatelessWrites = true;
513516
uint32_t patchedArgumentsNum = 0;
514517
uint32_t startOffset = 0;
515518
uint32_t uncacheableArgsCount = 0;

unit_tests/kernel/kernel_tests.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,6 @@ using namespace DeviceHostQueue;
4343

4444
class KernelTest : public ProgramFromBinaryTest {
4545
public:
46-
KernelTest() {
47-
}
48-
4946
~KernelTest() override = default;
5047

5148
protected:
@@ -101,10 +98,6 @@ TEST_P(KernelTest, getKernelHeap) {
10198
EXPECT_EQ(pKernel->getKernelInfo().heapInfo.pKernelHeader->KernelHeapSize, pKernel->getKernelHeapSize());
10299
}
103100

104-
TEST_P(KernelTest, Create_Simple) {
105-
// included in the setup of fixture
106-
}
107-
108101
TEST_P(KernelTest, GetInfo_InvalidParamName) {
109102
size_t paramValueSizeRet = 0;
110103

@@ -2722,6 +2715,12 @@ TEST(KernelTest, givenKernelWithPatchInfoCollectionDisabledWhenPatchWithImplicit
27222715
EXPECT_EQ(0u, kernel.mockKernel->getPatchInfoDataList().size());
27232716
}
27242717

2718+
TEST(KernelTest, givenDefaultKernelWhenItIsCreatedThenItReportsStatelessWrites) {
2719+
std::unique_ptr<MockDevice> device(MockDevice::createWithNewExecutionEnvironment<MockDevice>(platformDevices[0]));
2720+
MockKernelWithInternals kernel(*device);
2721+
EXPECT_TRUE(kernel.mockKernel->areStatelessWritesUsed());
2722+
}
2723+
27252724
namespace NEO {
27262725

27272726
template <typename GfxFamily>

0 commit comments

Comments
 (0)