bool OsmAnd::GPUAPI_OpenGL_Common::uploadTileToGPU(const std::shared_ptr< const MapTile >& tile, std::shared_ptr< const ResourceInGPU >& resourceInGPU)
{
    // Upload bitmap tiles
    if(tile->dataType == MapTileDataType::Bitmap)
    {
        return uploadTileAsTextureToGPU(tile, resourceInGPU);
    }
    else if(tile->dataType == MapTileDataType::ElevationData)
    {
        if(isSupported_vertexShaderTextureLookup)
        {
            return uploadTileAsTextureToGPU(tile, resourceInGPU);
        }
        else
        {
            return uploadTileAsArrayBufferToGPU(tile, resourceInGPU);
        }
    }

    return false;
}
bool OsmAnd::RenderAPI_OpenGL_Common::uploadTileToGPU( const TileId& tileId, const ZoomLevel& zoom, const std::shared_ptr< IMapTileProvider::Tile >& tile, const uint32_t& tilesPerAtlasTextureLimit, std::shared_ptr< ResourceInGPU >& resourceInGPU )
{
    // Upload bitmap tiles
    if(tile->type == IMapTileProvider::Type::Bitmap)
    {
        return uploadTileAsTextureToGPU(tileId, zoom, tile, tilesPerAtlasTextureLimit, resourceInGPU);
    }
    else if(tile->type == IMapTileProvider::Type::ElevationData)
    {
        if(isSupported_vertexShaderTextureLookup)
        {
            return uploadTileAsTextureToGPU(tileId, zoom, tile, tilesPerAtlasTextureLimit, resourceInGPU);
        }
        else
        {
            return uploadTileAsArrayBufferToGPU(tile, resourceInGPU);
        }
    }

    return false;
}