mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-16 04:17:03 +00:00
aurora: Add graphics debug group stack
This commit is contained in:
@@ -287,6 +287,11 @@ void CCubeRenderer::RemoveStaticGeometry(const std::vector<CMetroidModelInstance
|
||||
}
|
||||
|
||||
void CCubeRenderer::DrawUnsortedGeometry(s32 areaIdx, s32 mask, s32 targetMask, bool shadowRender) {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP(
|
||||
fmt::format(FMT_STRING("CCubeRenderer::DrawUnsortedGeometry areaIdx={} mask={} targetMask={} shadowRender={}"),
|
||||
areaIdx, mask, targetMask, shadowRender),
|
||||
zeus::skBlue);
|
||||
|
||||
SetupRendererStates(true);
|
||||
CModelFlags flags;
|
||||
CAreaListItem* lastOctreeItem = nullptr;
|
||||
@@ -359,6 +364,11 @@ void CCubeRenderer::DrawUnsortedGeometry(s32 areaIdx, s32 mask, s32 targetMask,
|
||||
}
|
||||
|
||||
void CCubeRenderer::DrawSortedGeometry(s32 areaIdx, s32 mask, s32 targetMask) {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP(
|
||||
fmt::format(FMT_STRING("CCubeRenderer::DrawSortedGeometry areaIdx={} mask={} targetMask={}"), areaIdx, mask,
|
||||
targetMask),
|
||||
zeus::skBlue);
|
||||
|
||||
SetupRendererStates(true);
|
||||
const CAreaListItem* item = nullptr;
|
||||
for (const auto& areaListItem : x1c_areaListItems) {
|
||||
@@ -387,6 +397,11 @@ void CCubeRenderer::DrawStaticGeometry(s32 areaIdx, s32 mask, s32 targetMask) {
|
||||
}
|
||||
|
||||
void CCubeRenderer::DrawAreaGeometry(s32 areaIdx, s32 mask, s32 targetMask) {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP(
|
||||
fmt::format(FMT_STRING("CCubeRenderer::DrawAreaGeometry areaIdx={} mask={} targetMask={}"), areaIdx, mask,
|
||||
targetMask),
|
||||
zeus::skBlue);
|
||||
|
||||
x318_30_inAreaDraw = true;
|
||||
SetupRendererStates(true);
|
||||
constexpr CModelFlags flags{0, 0, 3, zeus::skWhite};
|
||||
@@ -427,6 +442,9 @@ void CCubeRenderer::DrawAreaGeometry(s32 areaIdx, s32 mask, s32 targetMask) {
|
||||
}
|
||||
|
||||
void CCubeRenderer::RenderBucketItems(const CAreaListItem* item) {
|
||||
SCOPED_GRAPHICS_DEBUG_GROUP(fmt::format(FMT_STRING("CCubeRenderer::RenderBucketItems areaIdx={}"), item->x18_areaIdx),
|
||||
zeus::skBlue);
|
||||
|
||||
CCubeModel* lastModel = nullptr;
|
||||
EDrawableType lastDrawableType = EDrawableType::Invalid;
|
||||
for (u16 idx : Buckets::sBucketIndex) {
|
||||
|
||||
@@ -406,22 +406,10 @@ public:
|
||||
// void Draw() const { CGraphics::DrawArray(m_start, m_vec.size() - m_start); }
|
||||
};
|
||||
|
||||
#ifdef BOO_GRAPHICS_DEBUG_GROUPS
|
||||
class GraphicsDebugGroup {
|
||||
/* Stack only */
|
||||
void* operator new(size_t);
|
||||
void operator delete(void*);
|
||||
void* operator new[](size_t);
|
||||
void operator delete[](void*);
|
||||
|
||||
public:
|
||||
explicit GraphicsDebugGroup(const char* name, const zeus::CColor& color = zeus::skWhite) {
|
||||
zeus::simd_floats f(color.mSimd);
|
||||
CGraphics::g_BooMainCommandQueue->pushDebugGroup(name, f.array());
|
||||
}
|
||||
~GraphicsDebugGroup() { CGraphics::g_BooMainCommandQueue->popDebugGroup(); }
|
||||
};
|
||||
#define SCOPED_GRAPHICS_DEBUG_GROUP(...) GraphicsDebugGroup _GfxDbg_(__VA_ARGS__);
|
||||
#ifdef AURORA_GFX_DEBUG_GROUPS
|
||||
#define SCOPED_GRAPHICS_DEBUG_GROUP(name, ...) \
|
||||
OPTICK_EVENT_DYNAMIC(name); \
|
||||
aurora::gfx::ScopedDebugGroup _GfxDbg_{name}
|
||||
#else
|
||||
#define SCOPED_GRAPHICS_DEBUG_GROUP(name, ...) OPTICK_EVENT_DYNAMIC(name)
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user