2017-12-21 07:45:38 +08:00
|
|
|
/*
|
2021-05-17 02:51:16 +08:00
|
|
|
* Copyright (C) 2018-2021 Intel Corporation
|
2017-12-21 07:45:38 +08:00
|
|
|
*
|
2018-09-18 15:11:08 +08:00
|
|
|
* SPDX-License-Identifier: MIT
|
2017-12-21 07:45:38 +08:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2021-08-03 19:48:35 +08:00
|
|
|
#include "shared/source/aub/aub_helper_bdw_and_later.inl"
|
2020-10-16 18:10:52 +08:00
|
|
|
#include "shared/source/aub_mem_dump/aub_alloc_dump.inl"
|
|
|
|
#include "shared/source/aub_mem_dump/aub_mem_dump.inl"
|
2020-08-27 04:36:51 +08:00
|
|
|
#include "shared/source/gen8/aub_mapper.h"
|
2020-02-24 05:44:01 +08:00
|
|
|
#include "shared/source/helpers/hw_helper.h"
|
2020-02-24 17:22:30 +08:00
|
|
|
|
2017-12-21 07:45:38 +08:00
|
|
|
namespace AubMemDump {
|
|
|
|
|
|
|
|
enum {
|
|
|
|
device = DeviceValues::Bdw
|
|
|
|
};
|
|
|
|
|
|
|
|
// Instantiate these common template implementations.
|
|
|
|
template struct AubDump<Traits<device, 32>>;
|
|
|
|
template struct AubDump<Traits<device, 48>>;
|
|
|
|
|
|
|
|
template struct AubPageTableHelper32<Traits<device, 32>>;
|
|
|
|
template struct AubPageTableHelper64<Traits<device, 48>>;
|
|
|
|
} // namespace AubMemDump
|
|
|
|
|
2019-03-26 18:59:46 +08:00
|
|
|
namespace NEO {
|
2017-12-21 07:45:38 +08:00
|
|
|
using Family = BDWFamily;
|
|
|
|
|
2019-03-11 23:31:20 +08:00
|
|
|
static const AubMemDump::LrcaHelperRcs rcs(0x002000);
|
|
|
|
static const AubMemDump::LrcaHelperBcs bcs(0x022000);
|
|
|
|
static const AubMemDump::LrcaHelperVcs vcs(0x012000);
|
|
|
|
static const AubMemDump::LrcaHelperVecs vecs(0x01a000);
|
2017-12-21 07:45:38 +08:00
|
|
|
|
2019-03-27 17:06:29 +08:00
|
|
|
const AubMemDump::LrcaHelper *const AUBFamilyMapper<Family>::csTraits[aub_stream::NUM_ENGINES] = {
|
2017-12-21 07:45:38 +08:00
|
|
|
&rcs,
|
|
|
|
&bcs,
|
|
|
|
&vcs,
|
|
|
|
&vecs};
|
|
|
|
|
|
|
|
const MMIOList AUBFamilyMapper<Family>::globalMMIO;
|
|
|
|
|
|
|
|
static const MMIOList mmioListRCS = {
|
|
|
|
MMIOPair(0x000020d8, 0x00020000),
|
2018-11-26 18:20:50 +08:00
|
|
|
MMIOPair(AubMemDump::computeRegisterOffset(rcs.mmioBase, 0x229c), 0xffff8280),
|
2017-12-21 07:45:38 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
static const MMIOList mmioListBCS = {
|
2018-11-26 18:20:50 +08:00
|
|
|
MMIOPair(AubMemDump::computeRegisterOffset(bcs.mmioBase, 0x229c), 0xffff8280),
|
2017-12-21 07:45:38 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
static const MMIOList mmioListVCS = {
|
2018-11-26 18:20:50 +08:00
|
|
|
MMIOPair(AubMemDump::computeRegisterOffset(vcs.mmioBase, 0x229c), 0xffff8280),
|
2017-12-21 07:45:38 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
static const MMIOList mmioListVECS = {
|
2018-11-26 18:20:50 +08:00
|
|
|
MMIOPair(AubMemDump::computeRegisterOffset(vecs.mmioBase, 0x229c), 0xffff8280),
|
2017-12-21 07:45:38 +08:00
|
|
|
};
|
|
|
|
|
2019-03-27 17:06:29 +08:00
|
|
|
const MMIOList *AUBFamilyMapper<Family>::perEngineMMIO[aub_stream::NUM_ENGINES] = {
|
2017-12-21 07:45:38 +08:00
|
|
|
&mmioListRCS,
|
|
|
|
&mmioListBCS,
|
|
|
|
&mmioListVCS,
|
|
|
|
&mmioListVECS};
|
2020-06-02 23:04:11 +08:00
|
|
|
|
|
|
|
template class AubHelperHw<Family>;
|
2019-03-26 18:59:46 +08:00
|
|
|
} // namespace NEO
|
2019-01-28 00:36:42 +08:00
|
|
|
|
|
|
|
namespace AubAllocDump {
|
2019-03-26 18:59:46 +08:00
|
|
|
using namespace NEO;
|
2019-01-28 00:36:42 +08:00
|
|
|
|
2019-04-05 06:33:09 +08:00
|
|
|
template SurfaceInfo *getDumpSurfaceInfo<Family>(GraphicsAllocation &gfxAllocation, DumpFormat dumpFormat);
|
|
|
|
|
2019-01-28 00:36:42 +08:00
|
|
|
template uint32_t getImageSurfaceTypeFromGmmResourceType<Family>(GMM_RESOURCE_TYPE gmmResourceType);
|
|
|
|
|
|
|
|
template void dumpBufferInBinFormat<Family>(GraphicsAllocation &gfxAllocation, AubMemDump::AubFileStream *stream, uint32_t context);
|
|
|
|
|
|
|
|
template void dumpImageInBmpFormat<Family>(GraphicsAllocation &gfxAllocation, AubMemDump::AubFileStream *stream, uint32_t context);
|
|
|
|
|
|
|
|
template void dumpBufferInTreFormat<Family>(GraphicsAllocation &gfxAllocation, AubMemDump::AubFileStream *stream, uint32_t context);
|
|
|
|
|
|
|
|
template void dumpImageInTreFormat<Family>(GraphicsAllocation &gfxAllocation, AubMemDump::AubFileStream *stream, uint32_t context);
|
|
|
|
|
2019-03-15 17:27:23 +08:00
|
|
|
template void dumpAllocation<Family>(DumpFormat dumpFormat, GraphicsAllocation &gfxAllocation, AubMemDump::AubFileStream *stream, uint32_t context);
|
2019-01-28 00:36:42 +08:00
|
|
|
} // namespace AubAllocDump
|