[core] move DepthMode to gfx namespace

This commit is contained in:
Konstantin Käfer
2019-02-28 11:23:26 +01:00
parent fde7c20f36
commit 4982933a78
30 changed files with 140 additions and 123 deletions

View File

@@ -21,7 +21,6 @@
"src/mbgl/gl/cull_face_mode.cpp",
"src/mbgl/gl/debugging.cpp",
"src/mbgl/gl/debugging_extension.cpp",
"src/mbgl/gl/depth_mode.cpp",
"src/mbgl/gl/enum.cpp",
"src/mbgl/gl/object.cpp",
"src/mbgl/gl/stencil_mode.cpp",
@@ -500,6 +499,7 @@
"mbgl/geometry/line_atlas.hpp": "src/mbgl/geometry/line_atlas.hpp",
"mbgl/gfx/attribute.hpp": "src/mbgl/gfx/attribute.hpp",
"mbgl/gfx/color_mode.hpp": "src/mbgl/gfx/color_mode.hpp",
"mbgl/gfx/depth_mode.hpp": "src/mbgl/gfx/depth_mode.hpp",
"mbgl/gfx/draw_mode.hpp": "src/mbgl/gfx/draw_mode.hpp",
"mbgl/gfx/primitives.hpp": "src/mbgl/gfx/primitives.hpp",
"mbgl/gfx/types.hpp": "src/mbgl/gfx/types.hpp",
@@ -510,7 +510,6 @@
"mbgl/gl/debugging.hpp": "src/mbgl/gl/debugging.hpp",
"mbgl/gl/debugging_extension.hpp": "src/mbgl/gl/debugging_extension.hpp",
"mbgl/gl/defines.hpp": "src/mbgl/gl/defines.hpp",
"mbgl/gl/depth_mode.hpp": "src/mbgl/gl/depth_mode.hpp",
"mbgl/gl/enum.hpp": "src/mbgl/gl/enum.hpp",
"mbgl/gl/extension.hpp": "src/mbgl/gl/extension.hpp",
"mbgl/gl/features.hpp": "src/mbgl/gl/features.hpp",

View File

@@ -0,0 +1,21 @@
#pragma once
#include <mbgl/gfx/types.hpp>
#include <mbgl/util/range.hpp>
namespace mbgl {
namespace gfx {
class DepthMode {
public:
DepthFunctionType func;
DepthMaskType mask;
Range<float> range;
static DepthMode disabled() {
return DepthMode { DepthFunctionType::Always, DepthMaskType::ReadOnly, { 0.0, 1.0 } };
}
};
} // namespace gfx
} // namespace mbgl

View File

@@ -12,13 +12,13 @@ enum class PrimitiveType : uint8_t {
LineStrip,
Triangles,
TriangleStrip,
TriangleFan
TriangleFan,
};
enum class ColorBlendEquationType : uint8_t {
Add,
Subtract,
ReverseSubtract
ReverseSubtract,
};
enum class ColorBlendFactorType : uint8_t {
@@ -36,7 +36,23 @@ enum class ColorBlendFactorType : uint8_t {
ConstantColor,
OneMinusConstantColor,
ConstantAlpha,
OneMinusConstantAlpha
OneMinusConstantAlpha,
};
enum class DepthFunctionType : uint8_t {
Never,
Less,
Equal,
LessEqual,
Greater,
NotEqual,
GreaterEqual,
Always,
};
enum class DepthMaskType : bool {
ReadOnly = false,
ReadWrite = true,
};
} // namespace gfx

View File

@@ -698,8 +698,8 @@ void Context::setDrawMode(const gfx::Triangles&) {
void Context::setDrawMode(const gfx::TriangleStrip&) {
}
void Context::setDepthMode(const DepthMode& depth) {
if (depth.func == DepthMode::Always && !depth.mask) {
void Context::setDepthMode(const gfx::DepthMode& depth) {
if (depth.func == gfx::DepthFunctionType::Always && depth.mask != gfx::DepthMaskType::ReadWrite) {
depthTest = false;
// Workaround for rendering errors on Adreno 2xx GPUs. Depth-related state should

View File

@@ -12,7 +12,7 @@
#include <mbgl/gl/vertex_array.hpp>
#include <mbgl/gl/types.hpp>
#include <mbgl/gfx/draw_mode.hpp>
#include <mbgl/gl/depth_mode.hpp>
#include <mbgl/gfx/depth_mode.hpp>
#include <mbgl/gl/stencil_mode.hpp>
#include <mbgl/gfx/color_mode.hpp>
#include <mbgl/platform/gl_functions.hpp>
@@ -170,7 +170,7 @@ public:
void setDrawMode(const gfx::Triangles&);
void setDrawMode(const gfx::TriangleStrip&);
void setDepthMode(const DepthMode&);
void setDepthMode(const gfx::DepthMode&);
void setStencilMode(const StencilMode&);
void setColorMode(const gfx::ColorMode&);
void setCullFaceMode(const CullFaceMode&);

View File

@@ -1,18 +0,0 @@
#include <mbgl/gl/depth_mode.hpp>
#include <mbgl/gl/defines.hpp>
#include <mbgl/util/traits.hpp>
namespace mbgl {
namespace gl {
static_assert(underlying_type(DepthMode::Never) == GL_NEVER, "OpenGL enum mismatch");
static_assert(underlying_type(DepthMode::Less) == GL_LESS, "OpenGL enum mismatch");
static_assert(underlying_type(DepthMode::Equal) == GL_EQUAL, "OpenGL enum mismatch");
static_assert(underlying_type(DepthMode::LessEqual) == GL_LEQUAL, "OpenGL enum mismatch");
static_assert(underlying_type(DepthMode::Greater) == GL_GREATER, "OpenGL enum mismatch");
static_assert(underlying_type(DepthMode::NotEqual) == GL_NOTEQUAL, "OpenGL enum mismatch");
static_assert(underlying_type(DepthMode::GreaterEqual) == GL_GEQUAL, "OpenGL enum mismatch");
static_assert(underlying_type(DepthMode::Always) == GL_ALWAYS, "OpenGL enum mismatch");
} // namespace gl
} // namespace mbgl

View File

@@ -1,36 +0,0 @@
#pragma once
#include <mbgl/util/range.hpp>
namespace mbgl {
namespace gl {
class DepthMode {
public:
enum Function {
Never = 0x0200,
Less = 0x0201,
Equal = 0x0202,
LessEqual = 0x0203,
Greater = 0x0204,
NotEqual = 0x0205,
GreaterEqual = 0x0206,
Always = 0x0207
};
enum Mask : bool {
ReadOnly = false,
ReadWrite = true
};
Function func;
Mask mask;
Range<float> range;
static DepthMode disabled() {
return DepthMode { Always, ReadOnly, { 0.0, 1.0 } };
}
};
} // namespace gl
} // namespace mbgl

View File

@@ -5,16 +5,6 @@
namespace mbgl {
namespace gl {
// template <>
// gfx::PrimitiveType Enum::from(const platform::GLint value) {
// }
// template <>
// platform::GLenum Enum::to(const gfx::PrimitiveType value) {
// }
template <>
platform::GLenum Enum<gfx::PrimitiveType>::to(const gfx::PrimitiveType value) {
switch (value) {
@@ -50,8 +40,8 @@ platform::GLenum Enum<gfx::ColorBlendEquationType>::to(const gfx::ColorBlendEqua
}
template <>
gfx::ColorBlendFactorType Enum<gfx::ColorBlendFactorType>::from(const platform::GLint blendFactor) {
switch (blendFactor) {
gfx::ColorBlendFactorType Enum<gfx::ColorBlendFactorType>::from(const platform::GLint value) {
switch (value) {
case GL_ZERO: return gfx::ColorBlendFactorType::Zero;
case GL_ONE: return gfx::ColorBlendFactorType::One;
case GL_SRC_COLOR: return gfx::ColorBlendFactorType::SrcColor;
@@ -93,5 +83,45 @@ platform::GLenum Enum<gfx::ColorBlendFactorType>::to(const gfx::ColorBlendFactor
return GL_INVALID_ENUM;
}
template <>
gfx::DepthFunctionType Enum<gfx::DepthFunctionType>::from(const platform::GLint value) {
switch (value) {
case GL_NEVER: return gfx::DepthFunctionType::Never;
case GL_LESS: return gfx::DepthFunctionType::Less;
case GL_EQUAL: return gfx::DepthFunctionType::Equal;
case GL_LEQUAL: return gfx::DepthFunctionType::LessEqual;
case GL_GREATER: return gfx::DepthFunctionType::Greater;
case GL_NOTEQUAL: return gfx::DepthFunctionType::NotEqual;
case GL_GEQUAL: return gfx::DepthFunctionType::GreaterEqual;
case GL_ALWAYS: return gfx::DepthFunctionType::Always;
}
return {};
}
template <>
platform::GLenum Enum<gfx::DepthFunctionType>::to(const gfx::DepthFunctionType value) {
switch (value) {
case gfx::DepthFunctionType::Never: return GL_NEVER;
case gfx::DepthFunctionType::Less: return GL_LESS;
case gfx::DepthFunctionType::Equal: return GL_EQUAL;
case gfx::DepthFunctionType::LessEqual: return GL_LEQUAL;
case gfx::DepthFunctionType::Greater: return GL_GREATER;
case gfx::DepthFunctionType::NotEqual: return GL_NOTEQUAL;
case gfx::DepthFunctionType::GreaterEqual: return GL_GEQUAL;
case gfx::DepthFunctionType::Always: return GL_ALWAYS;
}
return GL_INVALID_ENUM;
}
template <>
gfx::DepthMaskType Enum<gfx::DepthMaskType>::from(const platform::GLboolean value) {
return value ? gfx::DepthMaskType::ReadWrite : gfx::DepthMaskType::ReadOnly;
}
template <>
platform::GLboolean Enum<gfx::DepthMaskType>::to(const gfx::DepthMaskType value) {
return value == gfx::DepthMaskType::ReadWrite ? GL_TRUE : GL_FALSE;
}
} // namespace gl
} // namespace mbgl

View File

@@ -2,14 +2,19 @@
#include <mbgl/platform/gl_functions.hpp>
#include <type_traits>
namespace mbgl {
namespace gl {
template <typename T>
class Enum {
public:
static T from(const platform::GLint);
static platform::GLenum to(T);
using InType = std::conditional_t<std::is_same<std::underlying_type_t<T>, bool>::value, platform::GLboolean, platform::GLint>;
using OutType = std::conditional_t<std::is_same<std::underlying_type_t<T>, bool>::value, platform::GLboolean, platform::GLenum>;
static T from(const InType);
static OutType to(T);
};
} // namespace gl

View File

@@ -115,7 +115,7 @@ public:
template <class DrawMode>
void draw(Context& context,
DrawMode drawMode,
DepthMode depthMode,
gfx::DepthMode depthMode,
StencilMode stencilMode,
gfx::ColorMode colorMode,
CullFaceMode cullFaceMode,

View File

@@ -60,13 +60,13 @@ StencilMask::Type StencilMask::Get() {
const constexpr DepthMask::Type DepthMask::Default;
void DepthMask::Set(const Type& value) {
MBGL_CHECK_ERROR(glDepthMask(value));
MBGL_CHECK_ERROR(glDepthMask(Enum<gfx::DepthMaskType>::to(value)));
}
DepthMask::Type DepthMask::Get() {
GLboolean depthMask;
MBGL_CHECK_ERROR(glGetBooleanv(GL_DEPTH_WRITEMASK, &depthMask));
return depthMask;
return Enum<gfx::DepthMaskType>::from(depthMask);
}
const constexpr ColorMask::Type ColorMask::Default;

View File

@@ -1,7 +1,7 @@
#pragma once
#include <mbgl/gl/types.hpp>
#include <mbgl/gl/depth_mode.hpp>
#include <mbgl/gfx/depth_mode.hpp>
#include <mbgl/gl/stencil_mode.hpp>
#include <mbgl/gfx/color_mode.hpp>
#include <mbgl/gl/cull_face_mode.hpp>
@@ -47,8 +47,8 @@ struct StencilMask {
};
struct DepthMask {
using Type = bool;
static const constexpr Type Default = true;
using Type = gfx::DepthMaskType;
static const constexpr Type Default = gfx::DepthMaskType::ReadWrite;
static void Set(const Type&);
static Type Get();
};
@@ -112,8 +112,8 @@ struct DepthTest {
};
struct DepthFunc {
using Type = DepthMode::Function;
static const constexpr Type Default = DepthMode::Less;
using Type = gfx::DepthFunctionType;
static const constexpr Type Default = gfx::DepthFunctionType::Less;
static void Set(const Type&);
static Type Get();
};

View File

@@ -58,7 +58,7 @@ public:
template <class DrawMode>
void draw(gl::Context& context,
DrawMode drawMode,
gl::DepthMode depthMode,
gfx::DepthMode depthMode,
gl::StencilMode stencilMode,
gfx::ColorMode colorMode,
gl::CullFaceMode cullFaceMode,
@@ -139,7 +139,7 @@ public:
template <class DrawMode>
void draw(gl::Context& context,
DrawMode drawMode,
gl::DepthMode depthMode,
gfx::DepthMode depthMode,
gl::StencilMode stencilMode,
gfx::ColorMode colorMode,
gl::CullFaceMode cullFaceMode,

View File

@@ -71,7 +71,7 @@ public:
template <class DrawMode>
void draw(gl::Context& context,
DrawMode drawMode,
gl::DepthMode depthMode,
gfx::DepthMode depthMode,
gl::StencilMode stencilMode,
gfx::ColorMode colorMode,
gl::CullFaceMode cullFaceMode,

View File

@@ -306,7 +306,7 @@ public:
template <class DrawMode>
void draw(gl::Context& context,
DrawMode drawMode,
gl::DepthMode depthMode,
gfx::DepthMode depthMode,
gl::StencilMode stencilMode,
gfx::ColorMode colorMode,
gl::CullFaceMode cullFaceMode,

View File

@@ -68,7 +68,7 @@ void RenderBackgroundLayer::render(PaintParameters& parameters, RenderSource*) {
program.draw(
parameters.context,
gfx::Triangles(),
parameters.depthModeForSublayer(0, gl::DepthMode::ReadOnly),
parameters.depthModeForSublayer(0, gfx::DepthMaskType::ReadOnly),
gl::StencilMode::disabled(),
parameters.colorModeForRenderPass(),
gl::CullFaceMode::disabled(),

View File

@@ -97,7 +97,7 @@ void RenderCircleLayer::render(PaintParameters& parameters, RenderSource*) {
programInstance.draw(
parameters.context,
gfx::Triangles(),
parameters.depthModeForSublayer(0, gl::DepthMode::ReadOnly),
parameters.depthModeForSublayer(0, gfx::DepthMaskType::ReadOnly),
parameters.mapMode != MapMode::Continuous
? parameters.stencilModeForClipping(tile.clip)
: gl::StencilMode::disabled(),

View File

@@ -62,7 +62,7 @@ void RenderCustomLayer::render(PaintParameters& paintParameters, RenderSource*)
// Reset GL state to a known state so the CustomLayer always has a clean slate.
glContext.bindVertexArray = 0;
glContext.setDepthMode(paintParameters.depthModeForSublayer(0, gl::DepthMode::ReadOnly));
glContext.setDepthMode(paintParameters.depthModeForSublayer(0, gfx::DepthMaskType::ReadOnly));
glContext.setStencilMode(gl::StencilMode::disabled());
glContext.setColorMode(paintParameters.colorModeForRenderPass());
glContext.setCullFaceMode(gl::CullFaceMode::disabled());

View File

@@ -93,7 +93,7 @@ void RenderFillExtrusionLayer::render(PaintParameters& parameters, RenderSource*
programInstance.draw(
parameters.context,
gfx::Triangles(),
parameters.depthModeFor3D(gl::DepthMode::ReadWrite),
parameters.depthModeFor3D(gfx::DepthMaskType::ReadWrite),
gl::StencilMode::disabled(),
parameters.colorModeForRenderPass(),
gl::CullFaceMode::backCCW(),
@@ -194,7 +194,7 @@ void RenderFillExtrusionLayer::render(PaintParameters& parameters, RenderSource*
programInstance.draw(
parameters.context,
gfx::Triangles(),
gl::DepthMode::disabled(),
gfx::DepthMode::disabled(),
gl::StencilMode::disabled(),
parameters.colorModeForRenderPass(),
gl::CullFaceMode::disabled(),

View File

@@ -121,8 +121,8 @@ void RenderFillLayer::render(PaintParameters& parameters, RenderSource*) {
draw(parameters.programs.getFillLayerPrograms().fill,
gfx::Triangles(),
parameters.depthModeForSublayer(1, parameters.pass == RenderPass::Opaque
? gl::DepthMode::ReadWrite
: gl::DepthMode::ReadOnly),
? gfx::DepthMaskType::ReadWrite
: gfx::DepthMaskType::ReadOnly),
*bucket.triangleIndexBuffer,
bucket.triangleSegments);
}
@@ -132,7 +132,7 @@ void RenderFillLayer::render(PaintParameters& parameters, RenderSource*) {
gfx::Lines{ 2.0f },
parameters.depthModeForSublayer(
unevaluated.get<FillOutlineColor>().isUndefined() ? 2 : 0,
gl::DepthMode::ReadOnly),
gfx::DepthMaskType::ReadOnly),
*bucket.lineIndexBuffer,
bucket.lineSegments);
}
@@ -206,14 +206,14 @@ void RenderFillLayer::render(PaintParameters& parameters, RenderSource*) {
draw(parameters.programs.getFillLayerPrograms().fillPattern,
gfx::Triangles(),
parameters.depthModeForSublayer(1, gl::DepthMode::ReadWrite),
parameters.depthModeForSublayer(1, gfx::DepthMaskType::ReadWrite),
*bucket.triangleIndexBuffer,
bucket.triangleSegments);
if (evaluated.get<FillAntialias>() && unevaluated.get<FillOutlineColor>().isUndefined()) {
draw(parameters.programs.getFillLayerPrograms().fillOutlinePattern,
gfx::Lines { 2.0f },
parameters.depthModeForSublayer(2, gl::DepthMode::ReadOnly),
parameters.depthModeForSublayer(2, gfx::DepthMaskType::ReadOnly),
*bucket.lineIndexBuffer,
bucket.lineSegments);
}

View File

@@ -120,7 +120,7 @@ void RenderHeatmapLayer::render(PaintParameters& parameters, RenderSource*) {
programInstance.draw(
parameters.context,
gfx::Triangles(),
parameters.depthModeForSublayer(0, gl::DepthMode::ReadOnly),
parameters.depthModeForSublayer(0, gfx::DepthMaskType::ReadOnly),
stencilMode,
gfx::ColorMode::additive(),
gl::CullFaceMode::disabled(),
@@ -168,7 +168,7 @@ void RenderHeatmapLayer::render(PaintParameters& parameters, RenderSource*) {
programInstance.draw(
parameters.context,
gfx::Triangles(),
gl::DepthMode::disabled(),
gfx::DepthMode::disabled(),
gl::StencilMode::disabled(),
parameters.colorModeForRenderPass(),
gl::CullFaceMode::disabled(),

View File

@@ -97,7 +97,7 @@ void RenderHillshadeLayer::render(PaintParameters& parameters, RenderSource* src
programInstance.draw(
parameters.context,
gfx::Triangles(),
parameters.depthModeForSublayer(0, gl::DepthMode::ReadOnly),
parameters.depthModeForSublayer(0, gfx::DepthMaskType::ReadOnly),
gl::StencilMode::disabled(),
parameters.colorModeForRenderPass(),
gl::CullFaceMode::disabled(),
@@ -158,7 +158,7 @@ void RenderHillshadeLayer::render(PaintParameters& parameters, RenderSource* src
programInstance.draw(
parameters.context,
gfx::Triangles(),
parameters.depthModeForSublayer(0, gl::DepthMode::ReadOnly),
parameters.depthModeForSublayer(0, gfx::DepthMaskType::ReadOnly),
gl::StencilMode::disabled(),
parameters.colorModeForRenderPass(),
gl::CullFaceMode::disabled(),

View File

@@ -88,7 +88,7 @@ void RenderLineLayer::render(PaintParameters& parameters, RenderSource*) {
programInstance.draw(
parameters.context,
gfx::Triangles(),
parameters.depthModeForSublayer(0, gl::DepthMode::ReadOnly),
parameters.depthModeForSublayer(0, gfx::DepthMaskType::ReadOnly),
parameters.stencilModeForClipping(tile.clip),
parameters.colorModeForRenderPass(),
gl::CullFaceMode::disabled(),

View File

@@ -111,7 +111,7 @@ void RenderRasterLayer::render(PaintParameters& parameters, RenderSource* source
programInstance.draw(
parameters.context,
gfx::Triangles(),
parameters.depthModeForSublayer(0, gl::DepthMode::ReadOnly),
parameters.depthModeForSublayer(0, gfx::DepthMaskType::ReadOnly),
gl::StencilMode::disabled(),
parameters.colorModeForRenderPass(),
gl::CullFaceMode::disabled(),

View File

@@ -118,8 +118,8 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
parameters.context,
gfx::Triangles(),
values_.pitchAlignment == AlignmentType::Map
? parameters.depthModeForSublayer(0, gl::DepthMode::ReadOnly)
: gl::DepthMode::disabled(),
? parameters.depthModeForSublayer(0, gfx::DepthMaskType::ReadOnly)
: gfx::DepthMode::disabled(),
gl::StencilMode::disabled(),
parameters.colorModeForRenderPass(),
gl::CullFaceMode::disabled(),
@@ -252,7 +252,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
parameters.programs.getSymbolLayerPrograms().collisionBox.draw(
parameters.context,
gfx::Lines { 1.0f },
gl::DepthMode::disabled(),
gfx::DepthMode::disabled(),
gl::StencilMode::disabled(),
parameters.colorModeForRenderPass(),
gl::CullFaceMode::disabled(),
@@ -287,7 +287,7 @@ void RenderSymbolLayer::render(PaintParameters& parameters, RenderSource*) {
parameters.programs.getSymbolLayerPrograms().collisionCircle.draw(
parameters.context,
gfx::Triangles(),
gl::DepthMode::disabled(),
gfx::DepthMode::disabled(),
gl::StencilMode::disabled(),
parameters.colorModeForRenderPass(),
gl::CullFaceMode::disabled(),

View File

@@ -58,14 +58,14 @@ mat4 PaintParameters::matrixForTile(const UnwrappedTileID& tileID, bool aligned)
return matrix;
}
gl::DepthMode PaintParameters::depthModeForSublayer(uint8_t n, gl::DepthMode::Mask mask) const {
gfx::DepthMode PaintParameters::depthModeForSublayer(uint8_t n, gfx::DepthMaskType mask) const {
float nearDepth = ((1 + currentLayer) * numSublayers + n) * depthEpsilon;
float farDepth = nearDepth + depthRangeSize;
return gl::DepthMode { gl::DepthMode::LessEqual, mask, { nearDepth, farDepth } };
return gfx::DepthMode { gfx::DepthFunctionType::LessEqual, mask, { nearDepth, farDepth } };
}
gl::DepthMode PaintParameters::depthModeFor3D(gl::DepthMode::Mask mask) const {
return gl::DepthMode { gl::DepthMode::LessEqual, mask, { 0.0, 1.0 } };
gfx::DepthMode PaintParameters::depthModeFor3D(gfx::DepthMaskType mask) const {
return gfx::DepthMode { gfx::DepthFunctionType::LessEqual, mask, { 0.0, 1.0 } };
}
gl::StencilMode PaintParameters::stencilModeForClipping(const ClipID& id) const {

View File

@@ -4,7 +4,7 @@
#include <mbgl/renderer/render_light.hpp>
#include <mbgl/renderer/mode.hpp>
#include <mbgl/map/mode.hpp>
#include <mbgl/gl/depth_mode.hpp>
#include <mbgl/gfx/depth_mode.hpp>
#include <mbgl/gl/stencil_mode.hpp>
#include <mbgl/gfx/color_mode.hpp>
#include <mbgl/util/mat4.hpp>
@@ -61,8 +61,8 @@ public:
Programs& programs;
gl::DepthMode depthModeForSublayer(uint8_t n, gl::DepthMode::Mask) const;
gl::DepthMode depthModeFor3D(gl::DepthMode::Mask) const;
gfx::DepthMode depthModeForSublayer(uint8_t n, gfx::DepthMaskType) const;
gfx::DepthMode depthModeFor3D(gfx::DepthMaskType) const;
gl::StencilMode stencilModeForClipping(const ClipID&) const;
gfx::ColorMode colorModeForRenderPass() const;

View File

@@ -96,7 +96,7 @@ void RenderTile::finishRender(PaintParameters& parameters) {
program.draw(
parameters.context,
gfx::Lines { 4.0f * parameters.pixelRatio },
gl::DepthMode::disabled(),
gfx::DepthMode::disabled(),
parameters.stencilModeForClipping(clip),
gfx::ColorMode::unblended(),
gl::CullFaceMode::disabled(),
@@ -118,7 +118,7 @@ void RenderTile::finishRender(PaintParameters& parameters) {
program.draw(
parameters.context,
gfx::Lines { 2.0f * parameters.pixelRatio },
gl::DepthMode::disabled(),
gfx::DepthMode::disabled(),
parameters.stencilModeForClipping(clip),
gfx::ColorMode::unblended(),
gl::CullFaceMode::disabled(),
@@ -142,7 +142,7 @@ void RenderTile::finishRender(PaintParameters& parameters) {
parameters.programs.debug.draw(
parameters.context,
gfx::LineStrip { 4.0f * parameters.pixelRatio },
gl::DepthMode::disabled(),
gfx::DepthMode::disabled(),
parameters.stencilModeForClipping(clip),
gfx::ColorMode::unblended(),
gl::CullFaceMode::disabled(),

View File

@@ -443,7 +443,7 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
program.draw(
parameters.context,
gfx::Triangles(),
gl::DepthMode::disabled(),
gfx::DepthMode::disabled(),
gl::StencilMode {
gl::StencilMode::Always(),
static_cast<int32_t>(clipID.second.reference.to_ulong()),
@@ -478,7 +478,7 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
// Render tile clip boundaries, using stencil buffer to calculate fill color.
if (parameters.debugOptions & MapDebugOptions::StencilClip) {
parameters.context.setStencilMode(gl::StencilMode::disabled());
parameters.context.setDepthMode(gl::DepthMode::disabled());
parameters.context.setDepthMode(gfx::DepthMode::disabled());
parameters.context.setColorMode(gfx::ColorMode::unblended());
parameters.context.program = 0;
@@ -561,7 +561,7 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
// Render the depth buffer.
if (parameters.debugOptions & MapDebugOptions::DepthBuffer) {
parameters.context.setStencilMode(gl::StencilMode::disabled());
parameters.context.setDepthMode(gl::DepthMode::disabled());
parameters.context.setDepthMode(gfx::DepthMode::disabled());
parameters.context.setColorMode(gfx::ColorMode::unblended());
parameters.context.program = 0;

View File

@@ -64,7 +64,7 @@ void RenderImageSource::finishRender(PaintParameters& parameters) {
programInstance.draw(
parameters.context,
gfx::LineStrip { 4.0f * parameters.pixelRatio },
gl::DepthMode::disabled(),
gfx::DepthMode::disabled(),
gl::StencilMode::disabled(),
gfx::ColorMode::unblended(),
gl::CullFaceMode::disabled(),