Route VR and startup GL state through backend

This commit is contained in:
2026-06-04 20:37:38 +02:00
parent 967a15f15f
commit f55b1882c0
7 changed files with 116 additions and 26 deletions

View File

@@ -526,6 +526,18 @@ pp::foundation::Status apply_opengl_capability(
return pp::foundation::Status::success();
}
pp::foundation::Result<bool> query_opengl_capability_state(
std::uint32_t state,
OpenGlCapabilityStateQueryDispatch dispatch) noexcept
{
if (dispatch.is_enabled == nullptr) {
return pp::foundation::Result<bool>::failure(
pp::foundation::Status::invalid_argument("OpenGL capability state query callback must not be null"));
}
return pp::foundation::Result<bool>::success(dispatch.is_enabled(state) != 0U);
}
pp::foundation::Status apply_opengl_render_platform_hints(
OpenGlRenderPlatformHintDispatch dispatch) noexcept
{

View File

@@ -530,6 +530,10 @@ struct OpenGlCapabilityDispatch {
OpenGlCapabilityFn disable = nullptr;
};
struct OpenGlCapabilityStateQueryDispatch {
OpenGlIsEnabledFn is_enabled = nullptr;
};
struct OpenGlRenderPlatformHintDispatch {
OpenGlCapabilityFn enable = nullptr;
};
@@ -760,6 +764,9 @@ struct OpenGlMeshDeleteDispatch {
std::uint32_t state,
bool enabled,
OpenGlCapabilityDispatch dispatch) noexcept;
[[nodiscard]] pp::foundation::Result<bool> query_opengl_capability_state(
std::uint32_t state,
OpenGlCapabilityStateQueryDispatch dispatch) noexcept;
[[nodiscard]] pp::foundation::Status apply_opengl_render_platform_hints(
OpenGlRenderPlatformHintDispatch dispatch) noexcept;
[[nodiscard]] pp::foundation::Status apply_opengl_debug_output_states(