summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuha Alanen <juha.alanen@mapbox.com>2019-05-23 15:27:08 +0300
committerJuha Alanen <juha.alanen@mapbox.com>2019-06-04 14:04:54 +0300
commit4d3d3e4452223bbd27a5f8e971e8ce60c4091d03 (patch)
tree43f459ede763f046d933a730064c6daec2105d4c
parent892699a39a7fb569a8536f96d2eecc89d0a4e904 (diff)
downloadqtlocation-mapboxgl-upstream/jmalanen-render-fix.tar.gz
[core] Fix symbol rendering under opaque fill layersupstream/jmalanen-render-fix
-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 2e7cae4d3a..63062e7a8a 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 {