Replace rather than update Metal buffers (#1842)

This commit is contained in:
Tim Sylvester
2023-11-20 12:58:19 -08:00
committed by GitHub
parent 48106f7422
commit ffcf132f20
11 changed files with 115 additions and 40 deletions

View File

@@ -1606,10 +1606,6 @@ TEST(Map, ObserveShaderRegistration) {
TEST(Map, StencilOverflow) {
MapTest<> test;
const auto& backend = test.frontend.getBackend();
gfx::BackendScope scope{*backend};
const auto& context = backend->getContext();
auto& style = test.map.getStyle();
style.loadJSON("{}");
@@ -1627,17 +1623,17 @@ TEST(Map, StencilOverflow) {
style.addLayer(std::make_unique<style::FillLayer>("fill", "custom"));
test.map.jumpTo(CameraOptions().withZoom(5));
test.frontend.render(test.map);
auto result = test.frontend.render(test.map);
// In drawable builds, no drawables are built because no bucket/tiledata is available.
#if MLN_DRAWABLE_RENDERER
ASSERT_LE(0, context.renderingStats().stencilUpdates);
ASSERT_LE(0, result.stats.stencilUpdates);
#else
ASSERT_LT(0, context.renderingStats().stencilClears);
ASSERT_LT(0, result.stats.stencilClears);
#endif // MLN_DRAWABLE_RENDERER
#if !defined(NDEBUG)
Log::Info(Event::General, context.renderingStats().toString("\n"));
Log::Info(Event::General, result.stats.toString("\n"));
#endif // !defined(NDEBUG)
// TODO: confirm that the stencil masking actually worked