27 lines
620 B
C++
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
|