Add platform specific getter of debug surface size

For different platforms based on number of available threads
and debug surface layout, calculate max debug surface size.

Related-To: NEO-6676
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
This commit is contained in:
Jitendra Sharma
2022-03-16 16:08:37 +00:00
committed by Compute-Runtime-Automation
parent fec738208a
commit f52f3df274
12 changed files with 48 additions and 27 deletions

View File

@@ -25,8 +25,6 @@
namespace NEO {
const size_t SipKernel::maxDbgSurfaceSize = 0x1800000; // proper value should be taken from compiler when it's ready
SipClassType SipKernel::classType = SipClassType::Init;
std::vector<char> readFile(const std::string &fileName, size_t &retSize) {
@@ -72,14 +70,17 @@ const std::vector<char> &SipKernel::getStateSaveAreaHeader() const {
return stateSaveAreaHeader;
}
size_t SipKernel::getStateSaveAreaSize() const {
size_t SipKernel::getStateSaveAreaSize(Device *device) const {
auto &hwInfo = device->getHardwareInfo();
auto &hwHelper = HwHelper::get(hwInfo.platform.eRenderCoreFamily);
auto maxDbgSurfaceSize = hwHelper.getSipKernelMaxDbgSurfaceSize(hwInfo);
auto stateSaveAreaHeader = getStateSaveAreaHeader();
if (stateSaveAreaHeader.empty()) {
return SipKernel::maxDbgSurfaceSize;
return maxDbgSurfaceSize;
}
if (strcmp(stateSaveAreaHeader.data(), "tssarea")) {
return SipKernel::maxDbgSurfaceSize;
return maxDbgSurfaceSize;
}
auto hdr = reinterpret_cast<const SIP::StateSaveAreaHeader *>(stateSaveAreaHeader.data());