Files
Seele/src/Engine/Graphics/Query.h
T

39 lines
1021 B
C++
Raw Normal View History

2024-06-11 16:55:20 +02:00
#pragma once
#include "MinimalEngine.h"
namespace Seele {
namespace Gfx {
2024-06-15 21:47:20 +02:00
struct OcclusionResult {
uint64 numFragments;
};
2024-06-11 16:55:20 +02:00
class OcclusionQuery {
public:
OcclusionQuery();
virtual ~OcclusionQuery();
virtual void beginQuery() = 0;
virtual void endQuery() = 0;
2024-06-15 21:47:20 +02:00
virtual OcclusionResult getResults() = 0;
2024-06-11 16:55:20 +02:00
};
DEFINE_REF(OcclusionQuery)
2024-06-15 21:47:20 +02:00
struct PipelineStatisticsResult {
uint64 inputAssemblyVertices;
uint64 inputAssemblyPrimitives;
uint64 vertexShaderInvocations;
uint64 clippingInvocations;
uint64 clippingPrimitives;
uint64 fragmentShaderInvocations;
uint64 computeShaderInvocations;
uint64 taskShaderInvocations;
uint64 meshShaderInvocations;
};
class PipelineStatisticsQuery {
public:
PipelineStatisticsQuery();
virtual ~PipelineStatisticsQuery();
virtual void beginQuery() = 0;
virtual void endQuery() = 0;
virtual PipelineStatisticsResult getResults() = 0;
};
DEFINE_REF(PipelineStatisticsQuery)
2024-06-11 16:55:20 +02:00
} // namespace Gfx
} // namespace Seele