Route renderer feature gates through device snapshot

This commit is contained in:
2026-06-04 19:58:38 +02:00
parent f2cb0f2276
commit 0bd1e92ee1
10 changed files with 30 additions and 9 deletions

View File

@@ -610,6 +610,7 @@ public:
.frame_capture = true,
.float16_render_targets = true,
.float32_render_targets = true,
.float32_linear_filtering = true,
};
}
@@ -1761,6 +1762,7 @@ void renderer_interfaces_support_backend_neutral_dispatch(pp::tests::Harness& h)
PP_EXPECT(h, features.frame_capture);
PP_EXPECT(h, features.float16_render_targets);
PP_EXPECT(h, features.float32_render_targets);
PP_EXPECT(h, features.float32_linear_filtering);
PP_EXPECT(h, device.trace()->begin_scope("renderer", "dispatch").ok());
PP_EXPECT(h, device.trace()->marker("renderer", "begin").ok());
PP_EXPECT(h, device.trace()->end_scope().ok());

View File

@@ -1008,6 +1008,7 @@ void detects_common_extension_capabilities(pp::tests::Harness& h)
PP_EXPECT(h, features.frame_capture);
PP_EXPECT(h, !features.float16_render_targets);
PP_EXPECT(h, !features.float32_render_targets);
PP_EXPECT(h, !features.float32_linear_filtering);
}
void treats_desktop_gl_float_rendering_as_core(pp::tests::Harness& h)
@@ -1023,6 +1024,7 @@ void treats_desktop_gl_float_rendering_as_core(pp::tests::Harness& h)
const auto features = pp::renderer::gl::render_device_features(capabilities);
PP_EXPECT(h, features.float16_render_targets);
PP_EXPECT(h, features.float32_render_targets);
PP_EXPECT(h, features.float32_linear_filtering);
}
void detects_feature_state_from_extension_capabilities(pp::tests::Harness& h)
@@ -1043,6 +1045,7 @@ void detects_feature_state_from_extension_capabilities(pp::tests::Harness& h)
PP_EXPECT(h, feature_state.features.texture_copy);
PP_EXPECT(h, feature_state.features.render_target_blit);
PP_EXPECT(h, !feature_state.features.float32_render_targets);
PP_EXPECT(h, !feature_state.features.float32_linear_filtering);
}
void detects_desktop_feature_state_without_extensions(pp::tests::Harness& h)
@@ -1057,6 +1060,7 @@ void detects_desktop_feature_state_without_extensions(pp::tests::Harness& h)
PP_EXPECT(h, feature_state.capabilities.float16_textures);
PP_EXPECT(h, feature_state.features.float32_render_targets);
PP_EXPECT(h, feature_state.features.float16_render_targets);
PP_EXPECT(h, feature_state.features.float32_linear_filtering);
}
void detects_gles_texture_float_extensions(pp::tests::Harness& h)
@@ -1964,6 +1968,7 @@ void query_capability_detection_preserves_webgl_float_policy(pp::tests::Harness&
PP_EXPECT(h, result.value().feature_state.capabilities.framebuffer_fetch);
PP_EXPECT(h, !result.value().feature_state.capabilities.float32_textures);
PP_EXPECT(h, !result.value().feature_state.features.float32_render_targets);
PP_EXPECT(h, !result.value().feature_state.features.float32_linear_filtering);
}
void rejects_incomplete_capability_detection_dispatch(pp::tests::Harness& h)