Added occlusion query handle debug code.
This commit is contained in:
parent
202bfbd174
commit
dc71df5ecc
@ -1328,6 +1328,11 @@ namespace bgfx
|
||||
{
|
||||
BX_CHECK(0 == m_instBufferCount, "Instance buffer allocated, but not used. This is incorrect, and causes memory leak.");
|
||||
|
||||
if (BX_ENABLED(BGFX_CONFIG_DEBUG_OCCLUSION) )
|
||||
{
|
||||
m_occlusionQuerySet.clear();
|
||||
}
|
||||
|
||||
// wait for render thread to finish
|
||||
renderSemWait();
|
||||
frameNoRenderWait();
|
||||
|
17
src/bgfx_p.h
17
src/bgfx_p.h
@ -3605,6 +3605,17 @@ namespace bgfx
|
||||
{
|
||||
m_uniformSet.clear();
|
||||
}
|
||||
|
||||
if (BX_ENABLED(BGFX_CONFIG_DEBUG_OCCLUSION)
|
||||
&& isValid(_occlusionQuery) )
|
||||
{
|
||||
BX_CHECK(m_occlusionQuerySet.end() == m_occlusionQuerySet.find(_occlusionQuery.idx)
|
||||
, "OcclusionQuery %d was already used for this frame."
|
||||
, _occlusionQuery.idx
|
||||
);
|
||||
m_occlusionQuerySet.insert(_occlusionQuery.idx);
|
||||
}
|
||||
|
||||
return m_submit->submit(_id, _program, _occlusionQuery, _depth);
|
||||
}
|
||||
|
||||
@ -3873,10 +3884,12 @@ namespace bgfx
|
||||
bool m_window;
|
||||
};
|
||||
|
||||
typedef stl::unordered_set<uint16_t> HandleSet;
|
||||
HandleSet m_uniformSet;
|
||||
HandleSet m_occlusionQuerySet;
|
||||
|
||||
typedef stl::unordered_map<stl::string, UniformHandle> UniformHashMap;
|
||||
UniformHashMap m_uniformHashMap;
|
||||
typedef stl::unordered_set<uint16_t> UniformSet;
|
||||
UniformSet m_uniformSet;
|
||||
UniformRef m_uniformRef[BGFX_CONFIG_MAX_UNIFORMS];
|
||||
|
||||
ShaderRef m_shaderRef[BGFX_CONFIG_MAX_SHADERS];
|
||||
|
@ -164,11 +164,16 @@
|
||||
# define BGFX_CONFIG_DEBUG_MTL BGFX_CONFIG_DEBUG
|
||||
#endif // BGFX_CONFIG_DEBUG_MTL
|
||||
|
||||
///
|
||||
/// Enable uniform debug checks.
|
||||
#ifndef BGFX_CONFIG_DEBUG_UNIFORM
|
||||
# define BGFX_CONFIG_DEBUG_UNIFORM BGFX_CONFIG_DEBUG
|
||||
#endif // BGFX_CONFIG_DEBUG_UNIFORM
|
||||
|
||||
/// Enable occlusion debug checks.
|
||||
#ifndef BGFX_CONFIG_DEBUG_OCCLUSION
|
||||
# define BGFX_CONFIG_DEBUG_OCCLUSION BGFX_CONFIG_DEBUG
|
||||
#endif // BGFX_CONFIG_DEBUG_OCCLUSION
|
||||
|
||||
#ifndef BGFX_CONFIG_MULTITHREADED
|
||||
# define BGFX_CONFIG_MULTITHREADED ( (!BGFX_CONFIG_RENDERER_NULL)&&(0 \
|
||||
|| BX_PLATFORM_ANDROID \
|
||||
|
Loading…
Reference in New Issue
Block a user