[core] DEMData: do decode on GPU (port mapbox/mapbox-gl-js#8694)

This is first part of work on porting mapbox/mapbox-gl-js#8694 - in follow up patch(es) it is required to remove CPU side copy using 2d canvas support on all supported platforms, similar to approach taken in gl.js  https://github.com/mapbox/mapbox-gl-js/pull/8694/files#diff-34dbe5f7de34dc4b9a8745dcde9bdc37R48

Decoding on CPU removed.
Padding is still done in DEMData() but, instead od doing it wwhile decoding, it is using memcpy to pad original values.

Rebase to latest mapbox-gl-js master and re-generate shaders.

Partly fixes: #15503
This commit is contained in:
Aleksandar Stojiljkovic
2019-08-28 15:29:59 +03:00
parent 6ef2710e5c
commit 4ba1270dcc
18 changed files with 523 additions and 528 deletions

View File

@@ -33,14 +33,6 @@ TEST(DEMData, ConstructorTerrarium) {
EXPECT_EQ(demdata.getImage()->bytes(), size_t(18*18*4));
};
TEST(DEMData, RoundTrip) {
PremultipliedImage image = fakeImage({16, 16});
DEMData demdata(image, Tileset::DEMEncoding::Mapbox);
demdata.set(4, 6, 255);
EXPECT_EQ(demdata.get(4, 6), 255);
}
TEST(DEMData, InitialBackfill) {
PremultipliedImage image1 = fakeImage({4, 4});