Files
XCEngine/engine/include/XCEngine/RHI/CommandQueue.h

27 lines
620 B
C++

#pragma once
#include "Enums.h"
namespace XCEngine {
namespace RHI {
class ICommandList;
class IFence;
class ICommandQueue {
public:
virtual ~ICommandQueue() = default;
virtual void ExecuteCommandLists(uint32_t count, ICommandList** lists) = 0;
virtual void Signal(IFence* fence, uint64_t value) = 0;
virtual void Wait(IFence* fence, uint64_t value) = 0;
virtual uint64_t GetCompletedValue() = 0;
virtual void WaitForIdle() = 0;
virtual CommandQueueType GetType() const = 0;
virtual uint64_t GetTimestampFrequency() const = 0;
};
} // namespace RHI
} // namespace XCEngine