d3d9 debug render groups

This commit is contained in:
aap 2021-02-18 13:08:22 +01:00
parent e8b435a624
commit 253021866c
2 changed files with 30 additions and 3 deletions

View File

@ -1,8 +1,11 @@
#pragma once
#if defined(RW_OPENGL)
#define PUSH_RENDERGROUP(str) glPushDebugGroup(GL_DEBUG_SOURCE_APPLICATION, 0, -1, str)
#define POP_RENDERGROUP() glPopDebugGroup()
#ifndef FINAL
// defined in RwHelpder.cpp
void PushRendergroup(const char *name);
void PopRendergroup(void);
#define PUSH_RENDERGROUP(str) PushRendergroup(str)
#define POP_RENDERGROUP() PopRendergroup()
#else
#define PUSH_RENDERGROUP(str)
#define POP_RENDERGROUP()

View File

@ -113,6 +113,30 @@ SetCullMode(uint32 mode)
RwRenderStateSet(rwRENDERSTATECULLMODE, (void*)rwCULLMODECULLNONE);
}
#ifndef FINAL
void
PushRendergroup(const char *name)
{
#if defined(RW_OPENGL)
glPushDebugGroup(GL_DEBUG_SOURCE_APPLICATION, 0, -1, name);
#elif defined(RW_D3D9)
static WCHAR tmp[256];
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, name, -1, tmp, sizeof(tmp));
D3DPERF_BeginEvent(0xFFFFFFFF, tmp);
#endif
}
void
PopRendergroup(void)
{
#if defined(RW_OPENGL)
glPopDebugGroup();
#elif defined(RW_D3D9)
D3DPERF_EndEvent();
#endif
}
#endif
RwFrame*
GetFirstFrameCallback(RwFrame *child, void *data)
{