Skip to content

Commit fb8df1a

Browse files
fix compilation with clang 9
ci: add build with clang on Arch Signed-off-by: Jacek Danecki <[email protected]> #241 Change-Id: I1a8620c9f8146e7108098d18e9db75b9ff178f44
1 parent c7755c2 commit fb8df1a

File tree

7 files changed

+53
-14
lines changed

7 files changed

+53
-14
lines changed

core/helpers/preamble.h

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,13 @@ struct L3CNTLRegisterOffset {
8080
static const uint32_t registerOffset;
8181
};
8282

83-
namespace DebugModeRegisterOffset {
8483
template <typename GfxFamily>
85-
constexpr uint32_t registerOffset = 0x20ec;
86-
template <typename GfxFamily>
87-
constexpr uint32_t debugEnabledValue = (1 << 6) | (1 << 22);
88-
}; // namespace DebugModeRegisterOffset
84+
struct DebugModeRegisterOffset {
85+
enum {
86+
registerOffset = 0x20ec,
87+
debugEnabledValue = (1 << 6) | (1 << 22)
88+
};
89+
};
8990

9091
namespace TdDebugControlRegisterOffset {
9192
static constexpr uint32_t registerOffset = 0xe400;

core/helpers/preamble_base.inl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ template <typename GfxFamily>
8989
void PreambleHelper<GfxFamily>::programKernelDebugging(LinearStream *pCommandStream) {
9090
auto pCmd = reinterpret_cast<MI_LOAD_REGISTER_IMM *>(pCommandStream->getSpace(sizeof(MI_LOAD_REGISTER_IMM)));
9191
*pCmd = GfxFamily::cmdInitLoadRegisterImm;
92-
pCmd->setRegisterOffset(DebugModeRegisterOffset::registerOffset<GfxFamily>);
93-
pCmd->setDataDword(DebugModeRegisterOffset::debugEnabledValue<GfxFamily>);
92+
pCmd->setRegisterOffset(DebugModeRegisterOffset<GfxFamily>::registerOffset);
93+
pCmd->setDataDword(DebugModeRegisterOffset<GfxFamily>::debugEnabledValue);
9494

9595
auto pCmd2 = reinterpret_cast<MI_LOAD_REGISTER_IMM *>(pCommandStream->getSpace(sizeof(MI_LOAD_REGISTER_IMM)));
9696
*pCmd2 = GfxFamily::cmdInitLoadRegisterImm;

core/unit_tests/preamble/preamble_tests.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,8 @@ HWTEST_F(PreambleTest, whenKernelDebuggingCommandsAreProgrammedThenCorrectComman
121121
auto it = cmdList.begin();
122122

123123
MI_LOAD_REGISTER_IMM *pCmd = reinterpret_cast<MI_LOAD_REGISTER_IMM *>(*it);
124-
EXPECT_EQ(DebugModeRegisterOffset::registerOffset<FamilyType>, pCmd->getRegisterOffset());
125-
EXPECT_EQ(DebugModeRegisterOffset::debugEnabledValue<FamilyType>, pCmd->getDataDword());
124+
EXPECT_EQ(DebugModeRegisterOffset<FamilyType>::registerOffset, pCmd->getRegisterOffset());
125+
EXPECT_EQ(DebugModeRegisterOffset<FamilyType>::debugEnabledValue, pCmd->getDataDword());
126126
it++;
127127

128128
pCmd = reinterpret_cast<MI_LOAD_REGISTER_IMM *>(*it);

runtime/gen11/reg_configs.h

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,13 @@ struct L3CNTLRegisterOffset<ICLFamily> {
2323
static const uint32_t registerOffset = 0x7034;
2424
};
2525

26-
namespace DebugModeRegisterOffset {
2726
template <>
28-
constexpr uint32_t registerOffset<ICLFamily> = 0x20d8;
29-
template <>
30-
constexpr uint32_t debugEnabledValue<ICLFamily> = (1 << 5) | (1 << 21);
31-
}; // namespace DebugModeRegisterOffset
27+
struct DebugModeRegisterOffset<ICLFamily> {
28+
enum {
29+
registerOffset = 0x20d8,
30+
debugEnabledValue = (1 << 5) | (1 << 21)
31+
};
32+
};
3233

3334
namespace gen11HdcModeRegister {
3435
const uint32_t address = 0xE5F4;

scripts/build-arch-clang.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/bin/bash
2+
#
3+
# Copyright (C) 2018-2019 Intel Corporation
4+
#
5+
# SPDX-License-Identifier: MIT
6+
#
7+
8+
git fetch -t
9+
git clone ../compute-runtime neo
10+
docker build -f scripts/docker/Dockerfile-arch-clang -t neo-arch-clang:ci .
11+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
FROM docker.io/archlinux/base
2+
MAINTAINER Jacek Danecki <[email protected]>
3+
4+
COPY neo /root/neo
5+
COPY scripts/prepare-arch-clang.sh /root
6+
7+
RUN /root/prepare-arch-clang.sh
8+
RUN cd /root/build ; cmake -G Ninja -DCMAKE_BUILD_TYPE=Release \
9+
-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \
10+
-DDO_NOT_RUN_AUB_TESTS=1 ../neo ; \
11+
ninja -j `nproc`
12+
CMD ["/bin/bash"]

scripts/prepare-arch-clang.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
#
3+
# Copyright (C) 2018-2019 Intel Corporation
4+
#
5+
# SPDX-License-Identifier: MIT
6+
#
7+
8+
set -e
9+
set -x
10+
11+
mkdir /root/build
12+
pacman -Suy --noconfirm clang cmake git make pkg-config ninja libva \
13+
intel-gmmlib intel-opencl-clang spirv-llvm-translator intel-graphics-compiler
14+

0 commit comments

Comments
 (0)