Create debug zebin in OCL

This commit adds debug zebin creation in OCL.
- Added returning debug zebin in build/linking paths in OCL if
corresponding device binary format was detected.
- Refactored getZebinSegments() method - added common ctor for both
L0/OCL paths

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
This commit is contained in:
Kacper Nowak
2022-01-14 15:39:43 +00:00
committed by Compute-Runtime-Automation
parent 59683ec491
commit fc224202d6
11 changed files with 275 additions and 32 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2021 Intel Corporation
* Copyright (C) 2021-2022 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -15,6 +15,7 @@
#include <vector>
namespace NEO {
class GraphicsAllocation;
namespace Debug {
struct Segments {
struct Segment {
@@ -23,12 +24,15 @@ struct Segments {
};
using CPUSegment = Segment;
using GPUSegment = Segment;
using KernelNameIsaPairT = std::pair<std::string_view, GraphicsAllocation *>;
using KernelNameToSegmentMap = std::unordered_map<std::string, GPUSegment>;
GPUSegment varData;
GPUSegment constData;
CPUSegment stringData;
KernelNameToSegmentMap nameToSegMap;
Segments();
Segments(const GraphicsAllocation *globalVarAlloc, const GraphicsAllocation *globalConstAlloc, ArrayRef<const uint8_t> &globalStrings, std::vector<KernelNameIsaPairT> &kernels);
};
class DebugZebinCreator {