Cemu/src/Cafe/HW/Latte/Renderer/Metal/MetalQuery.h
2024-11-05 18:07:03 +01:00

28 lines
630 B
C++

#pragma once
#include "Cafe/HW/Latte/Core/LatteQueryObject.h"
#include "Cafe/HW/Latte/Renderer/Metal/MetalCommon.h"
class LatteQueryObjectMtl : public LatteQueryObject
{
public:
LatteQueryObjectMtl(class MetalRenderer* mtlRenderer) : m_mtlr{mtlRenderer} {}
~LatteQueryObjectMtl();
bool getResult(uint64& numSamplesPassed) override;
void begin() override;
void end() override;
void GrowRange()
{
m_range.end++;
}
private:
class MetalRenderer* m_mtlr;
MetalQueryRange m_range = {INVALID_UINT32, INVALID_UINT32};
// TODO: make this a list of command buffers?
MTL::CommandBuffer* m_commandBuffer = nullptr;
};