2019-09-19 01:32:33 +08:00
|
|
|
/*
|
2022-07-25 23:30:11 +08:00
|
|
|
* Copyright (C) 2019-2022 Intel Corporation
|
2019-09-19 01:32:33 +08:00
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2020-10-16 18:10:52 +08:00
|
|
|
#include "shared/source/aub_mem_dump/aub_alloc_dump.h"
|
2022-11-19 01:53:37 +08:00
|
|
|
#include "shared/source/command_stream/aub_command_stream_receiver.h"
|
2021-09-23 06:03:07 +08:00
|
|
|
#include "shared/source/command_stream/aub_command_stream_receiver_hw.h"
|
|
|
|
#include "shared/source/command_stream/aub_command_stream_receiver_hw_bdw_and_later.inl"
|
2020-02-24 05:44:01 +08:00
|
|
|
#include "shared/source/helpers/array_count.h"
|
2020-10-14 20:04:29 +08:00
|
|
|
#include "shared/source/helpers/populate_factory.h"
|
2020-02-24 05:44:01 +08:00
|
|
|
#include "shared/source/memory_manager/memory_pool.h"
|
2020-02-24 17:22:30 +08:00
|
|
|
|
2019-09-19 01:32:33 +08:00
|
|
|
namespace NEO {
|
2022-07-25 23:30:11 +08:00
|
|
|
typedef Gen12LpFamily Family;
|
2019-09-19 01:32:33 +08:00
|
|
|
static auto gfxCore = IGFX_GEN12LP_CORE;
|
|
|
|
|
|
|
|
template <>
|
|
|
|
constexpr uint32_t AUBCommandStreamReceiverHw<Family>::getMaskAndValueForPollForCompletion() {
|
|
|
|
return 0x00008000;
|
|
|
|
}
|
|
|
|
|
|
|
|
template <>
|
|
|
|
void AUBCommandStreamReceiverHw<Family>::addContextToken(uint32_t dumpHandle) {
|
|
|
|
AUB::createContext(*stream, dumpHandle);
|
|
|
|
}
|
|
|
|
|
|
|
|
template <>
|
|
|
|
void populateFactoryTable<AUBCommandStreamReceiverHw<Family>>() {
|
|
|
|
extern AubCommandStreamReceiverCreateFunc aubCommandStreamReceiverFactory[IGFX_MAX_CORE];
|
|
|
|
UNRECOVERABLE_IF(!isInRange(gfxCore, aubCommandStreamReceiverFactory));
|
|
|
|
aubCommandStreamReceiverFactory[gfxCore] = AUBCommandStreamReceiverHw<Family>::create;
|
|
|
|
}
|
|
|
|
|
|
|
|
template <>
|
|
|
|
uint32_t AUBCommandStreamReceiverHw<Family>::getGUCWorkQueueItemHeader() {
|
|
|
|
if (aub_stream::ENGINE_CCS == osContext->getEngineType()) {
|
|
|
|
return 0x00030401;
|
|
|
|
}
|
|
|
|
return 0x00030001;
|
|
|
|
}
|
|
|
|
|
|
|
|
template class AUBCommandStreamReceiverHw<Family>;
|
|
|
|
} // namespace NEO
|