mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-30 01:35:20 +08:00
feature: propagate hasPrintfCalls info from zeinfo to kernel descriptor
Related-To: NEO-15211 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
32b97af912
commit
678e2d66e9
@@ -736,6 +736,7 @@ void populateKernelExecutionEnvironment(KernelDescriptor &dst, const KernelExecu
|
||||
dst.kernelAttributes.flags.hasSample = execEnv.hasSample;
|
||||
dst.kernelAttributes.flags.requiresImplicitArgs = execEnv.requireImplicitArgBuffer;
|
||||
dst.kernelAttributes.flags.hasIndirectCalls = execEnv.hasIndirectCalls;
|
||||
dst.kernelAttributes.flags.hasPrintfCalls = execEnv.hasPrintfCalls;
|
||||
dst.kernelAttributes.barrierCount = execEnv.barrierCount;
|
||||
dst.kernelAttributes.bufferAddressingMode = (execEnv.has4GBBuffers) ? KernelDescriptor::Stateless : KernelDescriptor::BindfulAndStateless;
|
||||
dst.kernelAttributes.inlineDataPayloadSize = static_cast<uint16_t>(execEnv.inlineDataPayloadSize);
|
||||
|
||||
@@ -144,7 +144,8 @@ struct KernelDescriptor : NEO::NonCopyableAndNonMovableClass {
|
||||
bool usesAssert : 1;
|
||||
// 3
|
||||
bool usesRegionGroupBarrier : 1;
|
||||
bool reserved : 7;
|
||||
bool hasPrintfCalls : 1;
|
||||
bool reserved : 6;
|
||||
};
|
||||
std::array<bool, 4> packed;
|
||||
} flags = {};
|
||||
|
||||
@@ -3916,6 +3916,8 @@ TEST_F(decodeZeInfoKernelEntryTest, GivenMinimalExecutionEnvThenPopulateKernelDe
|
||||
EXPECT_EQ(kernelDescriptor.kernelAttributes.flags.usesSystolicPipelineSelectMode, Defaults::hasDpas);
|
||||
EXPECT_EQ(kernelDescriptor.kernelAttributes.flags.hasSample, Defaults::hasSample);
|
||||
EXPECT_EQ(kernelDescriptor.kernelAttributes.flags.usesStatelessWrites, (false == Defaults::hasNoStatelessWrite));
|
||||
EXPECT_EQ(kernelDescriptor.kernelAttributes.flags.hasIndirectCalls, Defaults::hasIndirectCalls);
|
||||
EXPECT_EQ(kernelDescriptor.kernelAttributes.flags.hasPrintfCalls, Defaults::hasPrintfCalls);
|
||||
EXPECT_EQ(kernelDescriptor.kernelAttributes.barrierCount, static_cast<uint8_t>(Defaults::barrierCount));
|
||||
EXPECT_EQ(kernelDescriptor.kernelAttributes.binaryFormat, DeviceBinaryFormat::zebin);
|
||||
EXPECT_EQ(kernelDescriptor.kernelAttributes.bufferAddressingMode, (Defaults::has4GBBuffers) ? KernelDescriptor::Stateless : KernelDescriptor::BindfulAndStateless);
|
||||
@@ -7465,6 +7467,21 @@ kernels:
|
||||
EXPECT_TRUE(kernelDescriptor->kernelAttributes.flags.hasIndirectCalls);
|
||||
}
|
||||
|
||||
TEST_F(decodeZeInfoKernelEntryTest, GivenKernelWithPrintfCallsWhenPopulatingKernelDescriptorThenHasPrintfCallsIsSet) {
|
||||
ConstStringRef zeinfo = R"===(
|
||||
kernels:
|
||||
- name : some_kernel
|
||||
execution_env:
|
||||
simd_size: 8
|
||||
has_printf_calls: true
|
||||
...
|
||||
)===";
|
||||
auto err = decodeZeInfoKernelEntry(zeinfo);
|
||||
EXPECT_EQ(NEO::DecodeError::success, err);
|
||||
|
||||
EXPECT_TRUE(kernelDescriptor->kernelAttributes.flags.hasPrintfCalls);
|
||||
}
|
||||
|
||||
TEST(PopulateInlineSamplers, GivenInvalidSamplerIndexThenPopulateInlineSamplersFails) {
|
||||
NEO::KernelDescriptor kd;
|
||||
std::string errors, warnings;
|
||||
|
||||
Reference in New Issue
Block a user