Plan renderer diagnostics in app status
This commit is contained in:
@@ -2179,23 +2179,28 @@ void App::initLayout()
|
||||
version_label->set_text(g_version);
|
||||
}
|
||||
|
||||
const auto renderer_features = ShaderManager::render_device_features();
|
||||
const auto renderer_diagnostics = pp::app::plan_renderer_diagnostics({
|
||||
.framebuffer_fetch = renderer_features.framebuffer_fetch,
|
||||
.float32_render_targets = renderer_features.float32_render_targets,
|
||||
.float32_linear_filtering = ShaderManager::ext_float32_linear,
|
||||
.float16_render_targets = renderer_features.float16_render_targets,
|
||||
});
|
||||
|
||||
if (auto x = layout[main_id]->find<NodeBorder>("ext-fbf"))
|
||||
{
|
||||
x->m_color = ShaderManager::ext_framebuffer_fetch ? glm::vec4(0, 1, 0, 1) : glm::vec4(1, 0, 0, 1);
|
||||
x->m_color = renderer_diagnostics.framebuffer_fetch.supported ?
|
||||
glm::vec4(0, 1, 0, 1) :
|
||||
glm::vec4(1, 0, 0, 1);
|
||||
}
|
||||
|
||||
if (auto x = layout[main_id]->find<NodeBorder>("ext-flt"))
|
||||
{
|
||||
if (ShaderManager::ext_float32 || ShaderManager::ext_float16)
|
||||
if (renderer_diagnostics.floating_point_targets.supported)
|
||||
{
|
||||
if (auto t = x->find<NodeText>("ext-flt-text"))
|
||||
{
|
||||
if (ShaderManager::ext_float32_linear)
|
||||
t->set_text("F32L");
|
||||
else if (ShaderManager::ext_float32)
|
||||
t->set_text("F32");
|
||||
else if (ShaderManager::ext_float16)
|
||||
t->set_text("F16");
|
||||
t->set_text(std::string(renderer_diagnostics.floating_point_targets.label));
|
||||
}
|
||||
x->m_color = glm::vec4(0, 1, 0, 1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user