summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuha Alanen <juha.alanen@mapbox.com>2019-05-23 15:27:08 +0300
committerJuha Alanen <19551460+jmalanen@users.noreply.github.com>2019-06-04 16:35:53 +0300
commitf9796d2a28aa55936a9bb1cb99f9aac39d29b27c (patch)
treef7cdc656f9ae6f6ab15ad1156672b5eefb35535a
parent76d8fd0a798ac49445b0211f4c3b04909a61e344 (diff)
downloadqtlocation-mapboxgl-f9796d2a28aa55936a9bb1cb99f9aac39d29b27c.tar.gz
[core] Fix symbol rendering under opaque fill layers
-rw-r--r--platform/node/test/ignores.json1
-rw-r--r--src/mbgl/renderer/layers/render_symbol_layer.cpp14
-rw-r--r--src/mbgl/renderer/paint_parameters.cpp5
3 files changed, 4 insertions, 16 deletions
diff --git a/platform/node/test/ignores.json b/platform/node/test/ignores.json
index 26378b6571..fdbd566133 100644
--- a/platform/node/test/ignores.json
+++ b/platform/node/test/ignores.json
@@ -105,7 +105,6 @@
"render-tests/feature-state/composite-expression": "https://github.com/mapbox/mapbox-gl-native/issues/12613",
"render-tests/feature-state/data-expression": "https://github.com/mapbox/mapbox-gl-native/issues/12613",
"render-tests/feature-state/vector-source": "https://github.com/mapbox/mapbox-gl-native/issues/12613",
- "render-tests/fill-opacity/opaque-fill-over-symbol-layer": "skip - port https://github.com/mapbox/mapbox-gl-js/pull/7612",
"render-tests/text-variable-anchor/pitched-rotated-debug": "https://github.com/mapbox/mapbox-gl-native/issues/14211",
"render-tests/text-variable-anchor/rotated-offset": "https://github.com/mapbox/mapbox-gl-native/issues/14211",
"render-tests/text-variable-anchor/remember-last-placement": "skip - fails on gl-native, as symbol index is not functional at static map mode - needs issue",
diff --git a/src/mbgl/renderer/layers/render_symbol_layer.cpp b/src/mbgl/renderer/layers/render_symbol_layer.cpp
index a77f26088a..7c0eab699a 100644
--- a/src/mbgl/renderer/layers/render_symbol_layer.cpp
+++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp
@@ -139,7 +139,6 @@ void drawIcon(const DrawFn& draw,
bucket.icon,
iconSegments,
bucket.iconSizeBinder,
- values,
bucketPaintProperties.iconBinders,
paintPropertyValues,
SymbolSDFIconProgram::TextureBindings{
@@ -154,7 +153,6 @@ void drawIcon(const DrawFn& draw,
bucket.icon,
iconSegments,
bucket.iconSizeBinder,
- values,
bucketPaintProperties.iconBinders,
paintPropertyValues,
SymbolSDFIconProgram::TextureBindings{
@@ -168,7 +166,6 @@ void drawIcon(const DrawFn& draw,
bucket.icon,
iconSegments,
bucket.iconSizeBinder,
- values,
bucketPaintProperties.iconBinders,
paintPropertyValues,
SymbolIconProgram::TextureBindings{
@@ -206,7 +203,6 @@ void drawText(const DrawFn& draw,
bucket.text,
textSegments,
bucket.textSizeBinder,
- values,
bucketPaintProperties.textBinders,
paintPropertyValues,
SymbolSDFTextProgram::TextureBindings{
@@ -221,7 +217,6 @@ void drawText(const DrawFn& draw,
bucket.text,
textSegments,
bucket.textSizeBinder,
- values,
bucketPaintProperties.textBinders,
paintPropertyValues,
SymbolSDFTextProgram::TextureBindings{
@@ -293,7 +288,6 @@ void RenderSymbolLayer::render(PaintParameters& parameters) {
const auto& buffers,
auto& segments,
const auto& symbolSizeBinder,
- const SymbolPropertyValues& values_,
const auto& binders,
const auto& paintProperties,
const auto& textureBindings,
@@ -322,9 +316,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters) {
parameters.context,
*parameters.renderPass,
gfx::Triangles(),
- values_.pitchAlignment == AlignmentType::Map
- ? parameters.depthModeForSublayer(0, gfx::DepthMaskType::ReadOnly)
- : gfx::DepthMode::disabled(),
+ parameters.depthModeForSublayer(0, gfx::DepthMaskType::ReadOnly),
gfx::StencilMode::disabled(),
parameters.colorModeForRenderPass(),
gfx::CullFaceMode::disabled(),
@@ -341,9 +333,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters) {
parameters.context,
*parameters.renderPass,
gfx::Triangles(),
- values_.pitchAlignment == AlignmentType::Map
- ? parameters.depthModeForSublayer(0, gfx::DepthMaskType::ReadOnly)
- : gfx::DepthMode::disabled(),
+ parameters.depthModeForSublayer(0, gfx::DepthMaskType::ReadOnly),
gfx::StencilMode::disabled(),
parameters.colorModeForRenderPass(),
gfx::CullFaceMode::disabled(),
diff --git a/src/mbgl/renderer/paint_parameters.cpp b/src/mbgl/renderer/paint_parameters.cpp
index f4498f66b1..badd60a53e 100644
--- a/src/mbgl/renderer/paint_parameters.cpp
+++ b/src/mbgl/renderer/paint_parameters.cpp
@@ -70,9 +70,8 @@ mat4 PaintParameters::matrixForTile(const UnwrappedTileID& tileID, bool aligned)
}
gfx::DepthMode PaintParameters::depthModeForSublayer(uint8_t n, gfx::DepthMaskType mask) const {
- float nearDepth = ((1 + currentLayer) * numSublayers + n) * depthEpsilon;
- float farDepth = nearDepth + depthRangeSize;
- return gfx::DepthMode { gfx::DepthFunctionType::LessEqual, mask, { nearDepth, farDepth } };
+ float depth = depthRangeSize + ((1 + currentLayer) * numSublayers + n) * depthEpsilon;
+ return gfx::DepthMode { gfx::DepthFunctionType::LessEqual, mask, { depth, depth } };
}
gfx::DepthMode PaintParameters::depthModeFor3D() const {