printf support with ZEBinary

Resolves: NEO-5657

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
This commit is contained in:
Krystian Chmielewski
2021-03-17 15:31:36 +01:00
committed by Compute-Runtime-Automation
parent e19a4aadd6
commit d62049035a
11 changed files with 132 additions and 30 deletions

View File

@@ -29,10 +29,11 @@ NEO::GraphicsAllocation *PrintfHandler::createPrintfBuffer(Device *device) {
void PrintfHandler::printOutput(const KernelImmutableData *kernelData,
NEO::GraphicsAllocation *printfBuffer, Device *device) {
bool using32BitGpuPointers = kernelData->getDescriptor().kernelAttributes.gpuPointerSize == 4u;
NEO::PrintFormatter printfFormatter{static_cast<uint8_t *>(printfBuffer->getUnderlyingBuffer()),
static_cast<uint32_t>(printfBuffer->getUnderlyingBufferSize()),
using32BitGpuPointers,
kernelData->getDescriptor().kernelMetadata.printfStringsMap};
NEO::PrintFormatter printfFormatter{
static_cast<uint8_t *>(printfBuffer->getUnderlyingBuffer()),
static_cast<uint32_t>(printfBuffer->getUnderlyingBufferSize()),
using32BitGpuPointers,
kernelData->getDescriptor().kernelAttributes.flags.usesStringMapForPrintf ? &kernelData->getDescriptor().kernelMetadata.printfStringsMap : nullptr};
printfFormatter.printKernelOutput();
*reinterpret_cast<uint32_t *>(printfBuffer->getUnderlyingBuffer()) =