Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 38 additions & 38 deletions src/bgfx.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1380,7 +1380,7 @@ namespace bgfx

void Frame::sort()
{
BGFX_PROFILER_SCOPE("bgfx/Sort", 0xff2040ff);
BGFX_PROFILER_SCOPE("bgfx/Sort", kColorSubmit);

ViewId viewRemap[BGFX_CONFIG_MAX_VIEWS];
for (uint32_t ii = 0; ii < BGFX_CONFIG_MAX_VIEWS; ++ii)
Expand Down Expand Up @@ -2322,7 +2322,7 @@ namespace bgfx

uint32_t frameNum = m_submit->m_frameNum;

BGFX_PROFILER_SCOPE("bgfx/API thread frame", 0xff2040ff);
BGFX_PROFILER_SCOPE("bgfx/API thread frame", kColorSubmit);
// wait for render thread to finish
renderSemWait();
frameNoRenderWait();
Expand Down Expand Up @@ -2441,35 +2441,35 @@ namespace bgfx

RenderFrame::Enum Context::renderFrame(int32_t _msecs)
{
BGFX_PROFILER_SCOPE("bgfx::renderFrame", 0xff2040ff);
BGFX_PROFILER_SCOPE("bgfx::renderFrame", kColorSubmit);

#if BX_PLATFORM_OSX || BX_PLATFORM_IOS || BX_PLATFORM_VISIONOS
NSAutoreleasePoolScope pool;
#endif // BX_PLATFORM_OSX || BX_PLATFORM_IOS || BX_PLATFORM_VISIONOS

if (!m_flipAfterRender)
{
BGFX_PROFILER_SCOPE("bgfx/flip", 0xff2040ff);
BGFX_PROFILER_SCOPE("bgfx/flip", kColorSubmit);
flip();
}

if (apiSemWait(_msecs) )
{
{
BGFX_PROFILER_SCOPE("bgfx/Exec commands pre", 0xff2040ff);
BGFX_PROFILER_SCOPE("bgfx/Exec commands pre", kColorResource);
rendererExecCommands(m_render->m_cmdPre);
}

if (m_rendererInitialized)
{
{
BGFX_PROFILER_SCOPE("bgfx/Render submit", 0xff2040ff);
BGFX_PROFILER_SCOPE("bgfx/Render submit", kColorSubmit);
m_renderCtx->submit(m_render, m_clearQuad, m_textVideoMemBlitter);
m_flipped = false;
}

{
BGFX_PROFILER_SCOPE("bgfx/Screenshot", 0xff2040ff);
BGFX_PROFILER_SCOPE("bgfx/Screenshot", kColorResource);
for (uint8_t ii = 0, num = m_render->m_numScreenShots; ii < num; ++ii)
{
const ScreenShot& screenShot = m_render->m_screenShot[ii];
Expand All @@ -2479,15 +2479,15 @@ namespace bgfx
}

{
BGFX_PROFILER_SCOPE("bgfx/Exec commands post", 0xff2040ff);
BGFX_PROFILER_SCOPE("bgfx/Exec commands post", kColorResource);
rendererExecCommands(m_render->m_cmdPost);
}

renderSemPost();

if (m_flipAfterRender)
{
BGFX_PROFILER_SCOPE("bgfx/flip", 0xff2040ff);
BGFX_PROFILER_SCOPE("bgfx/flip", kColorSubmit);
flip();
}
}
Expand Down Expand Up @@ -2543,7 +2543,7 @@ namespace bgfx

void Context::flushTextureUpdateBatch(CommandBuffer& _cmdbuf)
{
BGFX_PROFILER_SCOPE("flushTextureUpdateBatch", 0xff2040ff);
BGFX_PROFILER_SCOPE("flushTextureUpdateBatch", kColorResource);
if (m_textureUpdateBatch.sort() )
{
const uint32_t pos = _cmdbuf.m_pos;
Expand Down Expand Up @@ -2954,7 +2954,7 @@ namespace bgfx

case CommandBuffer::CreateIndexBuffer:
{
BGFX_PROFILER_SCOPE("CreateIndexBuffer", 0xff2040ff);
BGFX_PROFILER_SCOPE("CreateIndexBuffer", kColorResource);

IndexBufferHandle handle;
_cmdbuf.read(handle);
Expand All @@ -2973,7 +2973,7 @@ namespace bgfx

case CommandBuffer::DestroyIndexBuffer:
{
BGFX_PROFILER_SCOPE("DestroyIndexBuffer", 0xff2040ff);
BGFX_PROFILER_SCOPE("DestroyIndexBuffer", kColorResource);

IndexBufferHandle handle;
_cmdbuf.read(handle);
Expand All @@ -2984,7 +2984,7 @@ namespace bgfx

case CommandBuffer::CreateVertexLayout:
{
BGFX_PROFILER_SCOPE("CreateVertexLayout", 0xff2040ff);
BGFX_PROFILER_SCOPE("CreateVertexLayout", kColorResource);

VertexLayoutHandle handle;
_cmdbuf.read(handle);
Expand All @@ -2998,7 +2998,7 @@ namespace bgfx

case CommandBuffer::DestroyVertexLayout:
{
BGFX_PROFILER_SCOPE("DestroyVertexLayout", 0xff2040ff);
BGFX_PROFILER_SCOPE("DestroyVertexLayout", kColorResource);

VertexLayoutHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3009,7 +3009,7 @@ namespace bgfx

case CommandBuffer::CreateVertexBuffer:
{
BGFX_PROFILER_SCOPE("CreateVertexBuffer", 0xff2040ff);
BGFX_PROFILER_SCOPE("CreateVertexBuffer", kColorResource);

VertexBufferHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3031,7 +3031,7 @@ namespace bgfx

case CommandBuffer::DestroyVertexBuffer:
{
BGFX_PROFILER_SCOPE("DestroyVertexBuffer", 0xff2040ff);
BGFX_PROFILER_SCOPE("DestroyVertexBuffer", kColorResource);

VertexBufferHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3042,7 +3042,7 @@ namespace bgfx

case CommandBuffer::CreateDynamicIndexBuffer:
{
BGFX_PROFILER_SCOPE("CreateDynamicIndexBuffer", 0xff2040ff);
BGFX_PROFILER_SCOPE("CreateDynamicIndexBuffer", kColorResource);

IndexBufferHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3059,7 +3059,7 @@ namespace bgfx

case CommandBuffer::UpdateDynamicIndexBuffer:
{
BGFX_PROFILER_SCOPE("UpdateDynamicIndexBuffer", 0xff2040ff);
BGFX_PROFILER_SCOPE("UpdateDynamicIndexBuffer", kColorResource);

IndexBufferHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3081,7 +3081,7 @@ namespace bgfx

case CommandBuffer::DestroyDynamicIndexBuffer:
{
BGFX_PROFILER_SCOPE("DestroyDynamicIndexBuffer", 0xff2040ff);
BGFX_PROFILER_SCOPE("DestroyDynamicIndexBuffer", kColorResource);

IndexBufferHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3092,7 +3092,7 @@ namespace bgfx

case CommandBuffer::CreateDynamicVertexBuffer:
{
BGFX_PROFILER_SCOPE("CreateDynamicVertexBuffer", 0xff2040ff);
BGFX_PROFILER_SCOPE("CreateDynamicVertexBuffer", kColorResource);

VertexBufferHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3109,7 +3109,7 @@ namespace bgfx

case CommandBuffer::UpdateDynamicVertexBuffer:
{
BGFX_PROFILER_SCOPE("UpdateDynamicVertexBuffer", 0xff2040ff);
BGFX_PROFILER_SCOPE("UpdateDynamicVertexBuffer", kColorResource);

VertexBufferHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3131,7 +3131,7 @@ namespace bgfx

case CommandBuffer::DestroyDynamicVertexBuffer:
{
BGFX_PROFILER_SCOPE("DestroyDynamicVertexBuffer", 0xff2040ff);
BGFX_PROFILER_SCOPE("DestroyDynamicVertexBuffer", kColorResource);

VertexBufferHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3142,7 +3142,7 @@ namespace bgfx

case CommandBuffer::CreateShader:
{
BGFX_PROFILER_SCOPE("CreateShader", 0xff2040ff);
BGFX_PROFILER_SCOPE("CreateShader", kColorResource);

ShaderHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3158,7 +3158,7 @@ namespace bgfx

case CommandBuffer::DestroyShader:
{
BGFX_PROFILER_SCOPE("DestroyShader", 0xff2040ff);
BGFX_PROFILER_SCOPE("DestroyShader", kColorResource);

ShaderHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3169,7 +3169,7 @@ namespace bgfx

case CommandBuffer::CreateProgram:
{
BGFX_PROFILER_SCOPE("CreateProgram", 0xff2040ff);
BGFX_PROFILER_SCOPE("CreateProgram", kColorResource);

ProgramHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3186,7 +3186,7 @@ namespace bgfx

case CommandBuffer::DestroyProgram:
{
BGFX_PROFILER_SCOPE("DestroyProgram", 0xff2040ff);
BGFX_PROFILER_SCOPE("DestroyProgram", kColorResource);

ProgramHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3197,7 +3197,7 @@ namespace bgfx

case CommandBuffer::CreateTexture:
{
BGFX_PROFILER_SCOPE("CreateTexture", 0xff2040ff);
BGFX_PROFILER_SCOPE("CreateTexture", kColorResource);

TextureHandle handle;
_cmdbuf.read(handle);
Expand Down Expand Up @@ -3240,7 +3240,7 @@ namespace bgfx

case CommandBuffer::UpdateTexture:
{
BGFX_PROFILER_SCOPE("UpdateTexture", 0xff2040ff);
BGFX_PROFILER_SCOPE("UpdateTexture", kColorResource);

if (m_textureUpdateBatch.isFull() )
{
Expand Down Expand Up @@ -3275,7 +3275,7 @@ namespace bgfx

case CommandBuffer::ReadTexture:
{
BGFX_PROFILER_SCOPE("ReadTexture", 0xff2040ff);
BGFX_PROFILER_SCOPE("ReadTexture", kColorResource);

TextureHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3292,7 +3292,7 @@ namespace bgfx

case CommandBuffer::ResizeTexture:
{
BGFX_PROFILER_SCOPE("ResizeTexture", 0xff2040ff);
BGFX_PROFILER_SCOPE("ResizeTexture", kColorResource);

TextureHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3315,7 +3315,7 @@ namespace bgfx

case CommandBuffer::DestroyTexture:
{
BGFX_PROFILER_SCOPE("DestroyTexture", 0xff2040ff);
BGFX_PROFILER_SCOPE("DestroyTexture", kColorResource);

TextureHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3326,7 +3326,7 @@ namespace bgfx

case CommandBuffer::CreateFrameBuffer:
{
BGFX_PROFILER_SCOPE("CreateFrameBuffer", 0xff2040ff);
BGFX_PROFILER_SCOPE("CreateFrameBuffer", kColorResource);

FrameBufferHandle handle;
_cmdbuf.read(handle);
Expand Down Expand Up @@ -3368,7 +3368,7 @@ namespace bgfx

case CommandBuffer::DestroyFrameBuffer:
{
BGFX_PROFILER_SCOPE("DestroyFrameBuffer", 0xff2040ff);
BGFX_PROFILER_SCOPE("DestroyFrameBuffer", kColorResource);

FrameBufferHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3379,7 +3379,7 @@ namespace bgfx

case CommandBuffer::CreateUniform:
{
BGFX_PROFILER_SCOPE("CreateUniform", 0xff2040ff);
BGFX_PROFILER_SCOPE("CreateUniform", kColorResource);

UniformHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3401,7 +3401,7 @@ namespace bgfx

case CommandBuffer::DestroyUniform:
{
BGFX_PROFILER_SCOPE("DestroyUniform", 0xff2040ff);
BGFX_PROFILER_SCOPE("DestroyUniform", kColorResource);

UniformHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3412,7 +3412,7 @@ namespace bgfx

case CommandBuffer::UpdateViewName:
{
BGFX_PROFILER_SCOPE("UpdateViewName", 0xff2040ff);
BGFX_PROFILER_SCOPE("UpdateViewName", kColorResource);

ViewId id;
_cmdbuf.read(id);
Expand All @@ -3428,7 +3428,7 @@ namespace bgfx

case CommandBuffer::InvalidateOcclusionQuery:
{
BGFX_PROFILER_SCOPE("InvalidateOcclusionQuery", 0xff2040ff);
BGFX_PROFILER_SCOPE("InvalidateOcclusionQuery", kColorResource);

OcclusionQueryHandle handle;
_cmdbuf.read(handle);
Expand All @@ -3439,7 +3439,7 @@ namespace bgfx

case CommandBuffer::SetName:
{
BGFX_PROFILER_SCOPE("SetName", 0xff2040ff);
BGFX_PROFILER_SCOPE("SetName", kColorResource);

Handle handle;
_cmdbuf.read(handle);
Expand Down
25 changes: 22 additions & 3 deletions src/bgfx_p.h
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,25 @@ namespace bgfx
{
constexpr uint32_t kChunkMagicTex = BX_MAKEFOURCC('T', 'E', 'X', 0x0);

inline constexpr uint32_t toAbgr8(uint8_t _r, uint8_t _g, uint8_t _b, uint8_t _a = 0xff)
{
return 0
| (uint32_t(_r) << 24)
| (uint32_t(_g) << 16)
| (uint32_t(_b) << 8)
| (uint32_t(_a))
;
}

constexpr uint32_t kColorFrame = toAbgr8(0xa8, 0xe6, 0xcf);
constexpr uint32_t kColorSubmit = toAbgr8(0xdc, 0xed, 0xc1);
constexpr uint32_t kColorView = toAbgr8(0xff, 0xd3, 0xb6);
constexpr uint32_t kColorDraw = toAbgr8(0x76, 0xb4, 0xbd);
constexpr uint32_t kColorCompute = toAbgr8(0xbd, 0xea, 0xee);
constexpr uint32_t kColorResource = toAbgr8(0x88, 0x74, 0xa3);
constexpr uint32_t kColorMarker = toAbgr8(0xff, 0x00, 0x00);
constexpr uint32_t kColorWait = toAbgr8(0xff, 0x8b, 0x94);

extern InternalData g_internalData;
extern PlatformData g_platformData;
extern bool g_platformDataChangedSinceReset;
Expand Down Expand Up @@ -3616,7 +3635,7 @@ namespace bgfx
BX_TRACE("render thread exit");
return bx::kExitSuccess;
}
#endif
#endif // BX_CONFIG_SUPPORTS_THREADING

// game thread
bool init(const Init& _init);
Expand Down Expand Up @@ -5693,7 +5712,7 @@ namespace bgfx
return true;
}

BGFX_PROFILER_SCOPE("bgfx/API thread wait", 0xff2040ff);
BGFX_PROFILER_SCOPE("bgfx/API thread wait", kColorWait);
int64_t start = bx::getHPCounter();
bool ok = m_apiSem.wait(_msecs);
if (ok)
Expand All @@ -5718,7 +5737,7 @@ namespace bgfx
{
if (!m_singleThreaded)
{
BGFX_PROFILER_SCOPE("bgfx/Render thread wait", 0xff2040ff);
BGFX_PROFILER_SCOPE("bgfx/Render thread wait", kColorWait);
int64_t start = bx::getHPCounter();
bool ok = m_renderSem.wait();
BX_ASSERT(ok, "Semaphore wait failed."); BX_UNUSED(ok);
Expand Down
Loading