maplibre-native: tile-avoid-edges test failure

I am trying to track down this issue on my tileserver-gl fork https://github.com/acalcutt/tileserver-gl/issues/5 . From what it looks like, it seems like only 1 of the 4 tiles is getting displayed.

I was looking through the render tests and I found this failed test that looks similar. render-tests/map-mode/tile-avoid-edges

When the test runs, the result looks like this actual

however, it expects this expected

To Reproduce Steps to reproduce the behavior: 1.) On Ubuntu/Debian, Follow the build steps at https://github.com/maplibre/maplibre-gl-native/tree/main/platform/linux 2.) xvfb-run -a ./build/mbgl-render-test-runner --manifestPath metrics/macos-xcode11-release-style.json --filter “render-tests/map-mode/tile-avoid-edges” 3.) Look at ‘maplibre-gl-native/maplibre-gl-js/test/integration/render-tests/map-mode/tile-avoid-edges’ generated actual image compared to expected. Also look at 'maplibre-gl-native-ac/metrics/macos-xcode11-release-style.html 4.) The console will also report a bunch of errors like the user reports “Provided camera options returned 4 tiles, only 13/2099/3045=>13 is taken in Tile mode”

# xvfb-run -a ./build/mbgl-render-test-runner --manifestPath metrics/macos-xcode11-release-style.json --filter "render-tests/map-mode/tile-avoid-edges"
[WARNING] {mbgl-render-tes}[ParseStyle]: The 'width' metadata field is ignored in tile map mode
[WARNING] {mbgl-render-tes}[ParseStyle]: The 'height' metadata field is ignored in tile map mode
[WARNING] {mbgl-render-tes}[General]: Provided camera options returned 4 tiles, only 13/2099/3045=>13 is taken in Tile mode.
[WARNING] {mbgl-render-tes}[General]: Provided camera options returned 4 tiles, only 13/2099/3045=>13 is taken in Tile mode.
[WARNING] {mbgl-render-tes}[General]: Provided camera options returned 4 tiles, only 13/2099/3045=>13 is taken in Tile mode.
[WARNING] {mbgl-render-tes}[General]: Provided camera options returned 4 tiles, only 13/2099/3045=>13 is taken in Tile mode.
[WARNING] {mbgl-render-tes}[General]: Provided camera options returned 4 tiles, only 13/2099/3045=>13 is taken in Tile mode.
[WARNING] {mbgl-render-tes}[General]: Provided camera options returned 4 tiles, only 13/2099/3045=>13 is taken in Tile mode.
[WARNING] {mbgl-render-tes}[General]: Provided camera options returned 4 tiles, only 13/2099/3045=>13 is taken in Tile mode.
[WARNING] {mbgl-render-tes}[General]: Provided camera options returned 4 tiles, only 13/2099/3045=>13 is taken in Tile mode.
[INFO] {mbgl-render-tes}[General]: GPU Identifier: llvmpipe (LLVM 11.0.1, 256 bits)
[WARNING] {mbgl-render-tes}[General]: Provided camera options returned 4 tiles, only 13/2099/3045=>13 is taken in Tile mode.
[WARNING] {mbgl-render-tes}[General]: Provided camera options returned 4 tiles, only 13/2099/3045=>13 is taken in Tile mode.
* failed render-tests/map-mode/tile-avoid-edges
1 failed (100.0%)

Just one note, this test says it passes if i run it with “–manifestPath metrics/linux-clang8-release-style.json”, but it still gets these errors and the results look the same.

Platform information (please complete the following information):

  • OS: Debian 11
  • Platform: Node.js
  • Version: current repo

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 1
  • Comments: 22 (5 by maintainers)

Commits related to this issue

Most upvoted comments

Any opinions on making PR to remove https://github.com/mapbox/mapbox-gl-native/commit/9ceb619940901d06909f7d6d0fc4a4e64572d228

Does this block of code make sense? The image generated by this test obviously has 4 tiles, so why would it be limited to 1? If you were centered on a tile and the view didn’t included any of the other tiles it may make sense…, but here, where the view does included multiple tiles, does it make sense? to me not really.

I looked a bit into the tileserver code and changing the mode for static images, but keeping it tile mode for everything else would be difficult since it sets up a pool of renders when it loads and uses them later when the pages are requested. I couldn’t see a way to switch tile modes unless I set up static renderers up front, which would add a lot of duplicate code. Unfortuanly tile mode is needed for everything but static images, so it can’t just be turned off

not really, it’s still a tile mode bug I think. I can research in the tileserver if I can switch the mode in a static image request, but that wasn’t needed before with the last mapbox release.