diff --git a/examples/common/imgui/imgui.cpp b/examples/common/imgui/imgui.cpp index 6d2d566db..d44a4a46a 100644 --- a/examples/common/imgui/imgui.cpp +++ b/examples/common/imgui/imgui.cpp @@ -604,12 +604,11 @@ struct Imgui bgfx::destroyUniform(u_imageSwizzle); bgfx::destroyUniform(s_texColor); #if !USE_NANOVG_FONT - for (uint16_t ii = 0; ii < IMGUI_CONFIG_MAX_FONTS; ++ii) + for (uint16_t ii = 0, num = m_fontHandle.getNumHandles(); ii < num; ++ii) { - if (bgfx::isValid(m_fonts[ii].m_texture) ) - { - bgfx::destroyTexture(m_fonts[ii].m_texture); - } + uint16_t idx = m_fontHandle.getHandleAt(0); + bgfx::destroyTexture(m_fonts[idx].m_texture); + m_fontHandle.free(idx); } #endif // !USE_NANOVG_FONT bgfx::destroyTexture(m_missingTexture); diff --git a/src/bgfx.cpp b/src/bgfx.cpp index 684825937..42daed162 100644 --- a/src/bgfx.cpp +++ b/src/bgfx.cpp @@ -985,9 +985,13 @@ namespace bgfx m_submit->m_transientVb = createTransientVertexBuffer(BGFX_CONFIG_TRANSIENT_VERTEX_BUFFER_SIZE); m_submit->m_transientIb = createTransientIndexBuffer(BGFX_CONFIG_TRANSIENT_INDEX_BUFFER_SIZE); frame(); - m_submit->m_transientVb = createTransientVertexBuffer(BGFX_CONFIG_TRANSIENT_VERTEX_BUFFER_SIZE); - m_submit->m_transientIb = createTransientIndexBuffer(BGFX_CONFIG_TRANSIENT_INDEX_BUFFER_SIZE); - frame(); + + if (BX_ENABLED(BGFX_CONFIG_MULTITHREADED) ) + { + m_submit->m_transientVb = createTransientVertexBuffer(BGFX_CONFIG_TRANSIENT_VERTEX_BUFFER_SIZE); + m_submit->m_transientIb = createTransientIndexBuffer(BGFX_CONFIG_TRANSIENT_INDEX_BUFFER_SIZE); + frame(); + } } void Context::shutdown()