mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-05 18:06:32 +08:00
Refactor TimestampPackets class
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
9fcf89aff6
commit
0bc04f3c31
@@ -32,7 +32,7 @@ constexpr uint32_t preferredPacketCount = 16u;
|
||||
#pragma pack(1)
|
||||
template <typename TSize>
|
||||
class TimestampPackets : public TagTypeBase {
|
||||
public:
|
||||
protected:
|
||||
struct Packet {
|
||||
TSize contextStart = 1u;
|
||||
TSize globalStart = 1u;
|
||||
@@ -40,13 +40,14 @@ class TimestampPackets : public TagTypeBase {
|
||||
TSize globalEnd = 1u;
|
||||
};
|
||||
|
||||
public:
|
||||
static constexpr GraphicsAllocation::AllocationType getAllocationType() {
|
||||
return GraphicsAllocation::AllocationType::TIMESTAMP_PACKET_TAG_BUFFER;
|
||||
}
|
||||
|
||||
static constexpr TagNodeType getTagNodeType() { return TagNodeType::TimestampPacket; }
|
||||
|
||||
size_t getSinglePacketSize() const { return sizeof(Packet); }
|
||||
static constexpr size_t getSinglePacketSize() { return sizeof(Packet); }
|
||||
|
||||
bool isCompleted() const {
|
||||
if (DebugManager.flags.DisableAtomicForPostSyncs.get()) {
|
||||
@@ -77,10 +78,10 @@ class TimestampPackets : public TagTypeBase {
|
||||
memcpy_s(&packets[packetIndex], sizeof(Packet), source, sizeof(Packet));
|
||||
}
|
||||
|
||||
size_t getGlobalStartOffset() const { return ptrDiff(&packets[0].globalStart, this); }
|
||||
size_t getContextStartOffset() const { return ptrDiff(&packets[0].contextStart, this); }
|
||||
size_t getContextEndOffset() const { return ptrDiff(&packets[0].contextEnd, this); }
|
||||
size_t getGlobalEndOffset() const { return ptrDiff(&packets[0].globalEnd, this); }
|
||||
static constexpr size_t getGlobalStartOffset() { return offsetof(Packet, globalStart); }
|
||||
static constexpr size_t getContextStartOffset() { return offsetof(Packet, contextStart); }
|
||||
static constexpr size_t getContextEndOffset() { return offsetof(Packet, contextEnd); }
|
||||
static constexpr size_t getGlobalEndOffset() { return offsetof(Packet, globalEnd); }
|
||||
size_t getImplicitGpuDependenciesCountOffset() const { return ptrDiff(&implicitGpuDependenciesCount, this); }
|
||||
|
||||
uint64_t getContextStartValue(uint32_t packetIndex) const { return static_cast<uint64_t>(packets[packetIndex].contextStart); }
|
||||
|
||||
@@ -113,7 +113,7 @@ void TagAllocator<TagType>::returnTag(TagNodeBase *node) {
|
||||
template <typename TagType>
|
||||
size_t TagNode<TagType>::getGlobalStartOffset() const {
|
||||
if constexpr (TagType::getTagNodeType() == TagNodeType::TimestampPacket) {
|
||||
return tagForCpuAccess->getGlobalStartOffset();
|
||||
return TagType::getGlobalStartOffset();
|
||||
} else {
|
||||
UNRECOVERABLE_IF(true);
|
||||
}
|
||||
@@ -122,7 +122,7 @@ size_t TagNode<TagType>::getGlobalStartOffset() const {
|
||||
template <typename TagType>
|
||||
size_t TagNode<TagType>::getContextStartOffset() const {
|
||||
if constexpr (TagType::getTagNodeType() == TagNodeType::TimestampPacket) {
|
||||
return tagForCpuAccess->getContextStartOffset();
|
||||
return TagType::getContextStartOffset();
|
||||
} else {
|
||||
UNRECOVERABLE_IF(true);
|
||||
}
|
||||
@@ -131,7 +131,7 @@ size_t TagNode<TagType>::getContextStartOffset() const {
|
||||
template <typename TagType>
|
||||
size_t TagNode<TagType>::getContextEndOffset() const {
|
||||
if constexpr (TagType::getTagNodeType() == TagNodeType::TimestampPacket) {
|
||||
return tagForCpuAccess->getContextEndOffset();
|
||||
return TagType::getContextEndOffset();
|
||||
} else {
|
||||
UNRECOVERABLE_IF(true);
|
||||
}
|
||||
@@ -140,7 +140,7 @@ size_t TagNode<TagType>::getContextEndOffset() const {
|
||||
template <typename TagType>
|
||||
size_t TagNode<TagType>::getGlobalEndOffset() const {
|
||||
if constexpr (TagType::getTagNodeType() == TagNodeType::TimestampPacket) {
|
||||
return tagForCpuAccess->getGlobalEndOffset();
|
||||
return TagType::getGlobalEndOffset();
|
||||
} else {
|
||||
UNRECOVERABLE_IF(true);
|
||||
}
|
||||
@@ -244,7 +244,7 @@ uint32_t TagNode<TagType>::getImplicitGpuDependenciesCount() const {
|
||||
template <typename TagType>
|
||||
size_t TagNode<TagType>::getSinglePacketSize() const {
|
||||
if constexpr (TagType::getTagNodeType() == TagNodeType::TimestampPacket) {
|
||||
return tagForCpuAccess->getSinglePacketSize();
|
||||
return TagType::getSinglePacketSize();
|
||||
} else {
|
||||
UNRECOVERABLE_IF(true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user