summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2016-02-14 13:17:59 +0200
committerBruno de Oliveira Abinader <bruno@mapbox.com>2016-02-18 13:27:35 +0200
commit0386dc7a4ea9badffb6298781c8870bfa4fbf49b (patch)
tree966c6ce3a88821b8525e4e35dc7f483416c4ee4c /src
parentee72e93f94c7b9ea20144287bcd473d35f07e9ed (diff)
downloadqtlocation-mapboxgl-0386dc7a4ea9badffb6298781c8870bfa4fbf49b.tar.gz
[gl] Use Shader::getID() whenever possible
Diffstat (limited to 'src')
-rw-r--r--src/mbgl/renderer/painter.cpp4
-rw-r--r--src/mbgl/renderer/painter_circle.cpp2
-rw-r--r--src/mbgl/renderer/painter_clipping.cpp2
-rw-r--r--src/mbgl/renderer/painter_debug.cpp4
-rw-r--r--src/mbgl/renderer/painter_fill.cpp8
-rw-r--r--src/mbgl/renderer/painter_line.cpp6
-rw-r--r--src/mbgl/renderer/painter_raster.cpp2
-rw-r--r--src/mbgl/renderer/painter_symbol.cpp6
-rw-r--r--src/mbgl/shader/box_shader.cpp4
-rw-r--r--src/mbgl/shader/icon_shader.cpp6
-rw-r--r--src/mbgl/shader/line_shader.cpp2
-rw-r--r--src/mbgl/shader/linepattern_shader.cpp2
-rw-r--r--src/mbgl/shader/linesdf_shader.cpp2
-rw-r--r--src/mbgl/shader/sdf_shader.cpp6
-rw-r--r--src/mbgl/shader/uniform.hpp6
15 files changed, 32 insertions, 30 deletions
diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp
index 1ade5c0396..ccee950c73 100644
--- a/src/mbgl/renderer/painter.cpp
+++ b/src/mbgl/renderer/painter.cpp
@@ -270,7 +270,7 @@ void Painter::renderBackground(const BackgroundLayer& layer) {
float zoomFraction = state.getZoomFraction();
- config.program = patternShader->program;
+ config.program = patternShader->getID();
patternShader->u_matrix = identityMatrix;
patternShader->u_pattern_tl_a = (*imagePosA).tl;
patternShader->u_pattern_br_a = (*imagePosA).br;
@@ -325,7 +325,7 @@ void Painter::renderBackground(const BackgroundLayer& layer) {
color[2] *= properties.opacity;
color[3] *= properties.opacity;
- config.program = plainShader->program;
+ config.program = plainShader->getID();
plainShader->u_matrix = identityMatrix;
plainShader->u_color = color;
backgroundArray.bind(*plainShader, backgroundBuffer, BUFFER_OFFSET(0));
diff --git a/src/mbgl/renderer/painter_circle.cpp b/src/mbgl/renderer/painter_circle.cpp
index 9518cf9e39..9965e3ab7a 100644
--- a/src/mbgl/renderer/painter_circle.cpp
+++ b/src/mbgl/renderer/painter_circle.cpp
@@ -38,7 +38,7 @@ void Painter::renderCircle(CircleBucket& bucket,
// are inversely related.
float antialiasing = 1 / data.pixelRatio / properties.radius;
- config.program = circleShader->program;
+ config.program = circleShader->getID();
circleShader->u_matrix = vtxMatrix;
circleShader->u_exmatrix = extrudeMatrix;
diff --git a/src/mbgl/renderer/painter_clipping.cpp b/src/mbgl/renderer/painter_clipping.cpp
index 3dfe8101db..f3f8a647d4 100644
--- a/src/mbgl/renderer/painter_clipping.cpp
+++ b/src/mbgl/renderer/painter_clipping.cpp
@@ -13,7 +13,7 @@ void Painter::drawClippingMasks(const std::map<TileID, ClipID>& stencils) {
mat4 matrix;
const GLuint mask = 0b11111111;
- config.program = plainShader->program;
+ config.program = plainShader->getID();
config.stencilOp.reset();
config.stencilTest = GL_TRUE;
config.depthTest = GL_FALSE;
diff --git a/src/mbgl/renderer/painter_debug.cpp b/src/mbgl/renderer/painter_debug.cpp
index a4b5ca1788..756c5e41ea 100644
--- a/src/mbgl/renderer/painter_debug.cpp
+++ b/src/mbgl/renderer/painter_debug.cpp
@@ -33,7 +33,7 @@ void Painter::renderDebugText(TileData& tileData, const mat4 &matrix) {
tileData.debugBucket = std::make_unique<DebugBucket>(tileData.id, tileData.getState(), tileData.modified, tileData.expires, data.getDebug());
}
- config.program = plainShader->program;
+ config.program = plainShader->getID();
plainShader->u_matrix = matrix;
// Draw white outline
@@ -66,7 +66,7 @@ void Painter::renderDebugFrame(const mat4 &matrix) {
config.stencilOp.reset();
config.stencilTest = GL_TRUE;
- config.program = plainShader->program;
+ config.program = plainShader->getID();
plainShader->u_matrix = matrix;
// draw tile outline
diff --git a/src/mbgl/renderer/painter_fill.cpp b/src/mbgl/renderer/painter_fill.cpp
index 44ae1919a0..28f64c1baf 100644
--- a/src/mbgl/renderer/painter_fill.cpp
+++ b/src/mbgl/renderer/painter_fill.cpp
@@ -44,7 +44,7 @@ void Painter::renderFill(FillBucket& bucket, const FillLayer& layer, const TileI
// Because we're drawing top-to-bottom, and we update the stencil mask
// befrom, we have to draw the outline first (!)
if (outline && pass == RenderPass::Translucent) {
- config.program = outlineShader->program;
+ config.program = outlineShader->getID();
outlineShader->u_matrix = vtxMatrix;
config.lineWidth = 2.0f; // This is always fixed and does not depend on the pixelRatio!
@@ -78,7 +78,7 @@ void Painter::renderFill(FillBucket& bucket, const FillLayer& layer, const TileI
1.0f / ((*posB).size[0] * factor * properties.pattern.value.toScale),
1.0f / ((*posB).size[1] * factor * properties.pattern.value.toScale));
- config.program = patternShader->program;
+ config.program = patternShader->getID();
patternShader->u_matrix = vtxMatrix;
patternShader->u_pattern_tl_a = (*posA).tl;
patternShader->u_pattern_br_a = (*posA).br;
@@ -125,7 +125,7 @@ void Painter::renderFill(FillBucket& bucket, const FillLayer& layer, const TileI
// fragments or when it's translucent and we're drawing translucent
// fragments
// Draw filling rectangle.
- config.program = plainShader->program;
+ config.program = plainShader->getID();
plainShader->u_matrix = vtxMatrix;
plainShader->u_color = fill_color;
@@ -138,7 +138,7 @@ void Painter::renderFill(FillBucket& bucket, const FillLayer& layer, const TileI
// Because we're drawing top-to-bottom, and we update the stencil mask
// below, we have to draw the outline first (!)
if (fringeline && pass == RenderPass::Translucent) {
- config.program = outlineShader->program;
+ config.program = outlineShader->getID();
outlineShader->u_matrix = vtxMatrix;
config.lineWidth = 2.0f; // This is always fixed and does not depend on the pixelRatio!
diff --git a/src/mbgl/renderer/painter_line.cpp b/src/mbgl/renderer/painter_line.cpp
index dd2833b117..c17beb3f6b 100644
--- a/src/mbgl/renderer/painter_line.cpp
+++ b/src/mbgl/renderer/painter_line.cpp
@@ -70,7 +70,7 @@ void Painter::renderLine(LineBucket& bucket, const LineLayer& layer, const TileI
if (!properties.dasharray.value.from.empty()) {
- config.program = linesdfShader->program;
+ config.program = linesdfShader->getID();
linesdfShader->u_matrix = vtxMatrix;
linesdfShader->u_exmatrix = extrudeMatrix;
@@ -113,7 +113,7 @@ void Painter::renderLine(LineBucket& bucket, const LineLayer& layer, const TileI
float factor = util::EXTENT / (512 * id.overscaling) / std::pow(2, state.getIntegerZoom() - id.z);
- config.program = linepatternShader->program;
+ config.program = linepatternShader->getID();
linepatternShader->u_matrix = vtxMatrix;
linepatternShader->u_exmatrix = extrudeMatrix;
@@ -139,7 +139,7 @@ void Painter::renderLine(LineBucket& bucket, const LineLayer& layer, const TileI
bucket.drawLinePatterns(*linepatternShader);
} else {
- config.program = lineShader->program;
+ config.program = lineShader->getID();
lineShader->u_matrix = vtxMatrix;
lineShader->u_exmatrix = extrudeMatrix;
diff --git a/src/mbgl/renderer/painter_raster.cpp b/src/mbgl/renderer/painter_raster.cpp
index 2cce1f7b18..f921ceefc2 100644
--- a/src/mbgl/renderer/painter_raster.cpp
+++ b/src/mbgl/renderer/painter_raster.cpp
@@ -12,7 +12,7 @@ void Painter::renderRaster(RasterBucket& bucket, const RasterLayer& layer, const
const RasterPaintProperties& properties = layer.paint;
if (bucket.hasData()) {
- config.program = rasterShader->program;
+ config.program = rasterShader->getID();
rasterShader->u_matrix = matrix;
rasterShader->u_buffer = 0;
rasterShader->u_opacity = properties.opacity;
diff --git a/src/mbgl/renderer/painter_symbol.cpp b/src/mbgl/renderer/painter_symbol.cpp
index 81d35cd50c..c2bb1e757f 100644
--- a/src/mbgl/renderer/painter_symbol.cpp
+++ b/src/mbgl/renderer/painter_symbol.cpp
@@ -49,7 +49,7 @@ void Painter::renderSDF(SymbolBucket &bucket,
float fontScale = fontSize / sdfFontSize;
matrix::scale(exMatrix, exMatrix, fontScale, fontScale, 1.0f);
- config.program = sdfShader.program;
+ config.program = sdfShader.getID();
sdfShader.u_matrix = vtxMatrix;
sdfShader.u_exmatrix = exMatrix;
sdfShader.u_texsize = texsize;
@@ -211,7 +211,7 @@ void Painter::renderSymbol(SymbolBucket& bucket, const SymbolLayer& layer, const
float x = state.getHeight() / 2.0f * std::tan(state.getPitch());
float extra = (topedgelength + x) / topedgelength - 1;
- config.program = iconShader->program;
+ config.program = iconShader->getID();
iconShader->u_matrix = vtxMatrix;
iconShader->u_exmatrix = exMatrix;
iconShader->u_texsize = {{ float(activeSpriteAtlas->getWidth()) / 4.0f, float(activeSpriteAtlas->getHeight()) / 4.0f }};
@@ -259,7 +259,7 @@ void Painter::renderSymbol(SymbolBucket& bucket, const SymbolLayer& layer, const
config.stencilOp.reset();
config.stencilTest = GL_TRUE;
- config.program = collisionBoxShader->program;
+ config.program = collisionBoxShader->getID();
collisionBoxShader->u_matrix = matrix;
collisionBoxShader->u_scale = std::pow(2, state.getZoom() - id.z);
collisionBoxShader->u_zoom = state.getZoom() * 10;
diff --git a/src/mbgl/shader/box_shader.cpp b/src/mbgl/shader/box_shader.cpp
index c9cd9bf091..59fd104f83 100644
--- a/src/mbgl/shader/box_shader.cpp
+++ b/src/mbgl/shader/box_shader.cpp
@@ -9,8 +9,8 @@ using namespace mbgl;
CollisionBoxShader::CollisionBoxShader()
: Shader("collisionbox", shaders::box::vertex, shaders::box::fragment) {
- a_extrude = MBGL_CHECK_ERROR(glGetAttribLocation(program, "a_extrude"));
- a_data = MBGL_CHECK_ERROR(glGetAttribLocation(program, "a_data"));
+ a_extrude = MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_extrude"));
+ a_data = MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_data"));
}
void CollisionBoxShader::bind(GLbyte *offset) {
diff --git a/src/mbgl/shader/icon_shader.cpp b/src/mbgl/shader/icon_shader.cpp
index 28d84853de..609f2bb293 100644
--- a/src/mbgl/shader/icon_shader.cpp
+++ b/src/mbgl/shader/icon_shader.cpp
@@ -8,9 +8,9 @@
using namespace mbgl;
IconShader::IconShader() : Shader("icon", shaders::icon::vertex, shaders::icon::fragment) {
- a_offset = MBGL_CHECK_ERROR(glGetAttribLocation(program, "a_offset"));
- a_data1 = MBGL_CHECK_ERROR(glGetAttribLocation(program, "a_data1"));
- a_data2 = MBGL_CHECK_ERROR(glGetAttribLocation(program, "a_data2"));
+ a_offset = MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_offset"));
+ a_data1 = MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_data1"));
+ a_data2 = MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_data2"));
}
void IconShader::bind(GLbyte* offset) {
diff --git a/src/mbgl/shader/line_shader.cpp b/src/mbgl/shader/line_shader.cpp
index 12790de00a..e0dc5384b5 100644
--- a/src/mbgl/shader/line_shader.cpp
+++ b/src/mbgl/shader/line_shader.cpp
@@ -8,7 +8,7 @@
using namespace mbgl;
LineShader::LineShader() : Shader("line", shaders::line::vertex, shaders::line::fragment) {
- a_data = MBGL_CHECK_ERROR(glGetAttribLocation(program, "a_data"));
+ a_data = MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_data"));
}
void LineShader::bind(GLbyte* offset) {
diff --git a/src/mbgl/shader/linepattern_shader.cpp b/src/mbgl/shader/linepattern_shader.cpp
index 18ec2c23f5..4c15d8b075 100644
--- a/src/mbgl/shader/linepattern_shader.cpp
+++ b/src/mbgl/shader/linepattern_shader.cpp
@@ -9,7 +9,7 @@ using namespace mbgl;
LinepatternShader::LinepatternShader()
: Shader("linepattern", shaders::linepattern::vertex, shaders::linepattern::fragment) {
- a_data = MBGL_CHECK_ERROR(glGetAttribLocation(program, "a_data"));
+ a_data = MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_data"));
}
void LinepatternShader::bind(GLbyte* offset) {
diff --git a/src/mbgl/shader/linesdf_shader.cpp b/src/mbgl/shader/linesdf_shader.cpp
index 48622cb763..f5eba0a046 100644
--- a/src/mbgl/shader/linesdf_shader.cpp
+++ b/src/mbgl/shader/linesdf_shader.cpp
@@ -9,7 +9,7 @@ using namespace mbgl;
LineSDFShader::LineSDFShader()
: Shader("line", shaders::linesdf::vertex, shaders::linesdf::fragment) {
- a_data = MBGL_CHECK_ERROR(glGetAttribLocation(program, "a_data"));
+ a_data = MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_data"));
}
void LineSDFShader::bind(GLbyte* offset) {
diff --git a/src/mbgl/shader/sdf_shader.cpp b/src/mbgl/shader/sdf_shader.cpp
index 7ca3bf84de..e613863041 100644
--- a/src/mbgl/shader/sdf_shader.cpp
+++ b/src/mbgl/shader/sdf_shader.cpp
@@ -8,9 +8,9 @@
using namespace mbgl;
SDFShader::SDFShader() : Shader("sdf", shaders::sdf::vertex, shaders::sdf::fragment) {
- a_offset = MBGL_CHECK_ERROR(glGetAttribLocation(program, "a_offset"));
- a_data1 = MBGL_CHECK_ERROR(glGetAttribLocation(program, "a_data1"));
- a_data2 = MBGL_CHECK_ERROR(glGetAttribLocation(program, "a_data2"));
+ a_offset = MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_offset"));
+ a_data1 = MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_data1"));
+ a_data2 = MBGL_CHECK_ERROR(glGetAttribLocation(getID(), "a_data2"));
}
void SDFGlyphShader::bind(GLbyte* offset) {
diff --git a/src/mbgl/shader/uniform.hpp b/src/mbgl/shader/uniform.hpp
index ceeb22bd99..5c4a2b14c4 100644
--- a/src/mbgl/shader/uniform.hpp
+++ b/src/mbgl/shader/uniform.hpp
@@ -4,13 +4,15 @@
#include <mbgl/shader/shader.hpp>
#include <mbgl/gl/gl.hpp>
+#include <array>
+
namespace mbgl {
template <typename T>
class Uniform {
public:
Uniform(const GLchar* name, const Shader& shader) : current() {
- location = MBGL_CHECK_ERROR(glGetUniformLocation(shader.program, name));
+ location = MBGL_CHECK_ERROR(glGetUniformLocation(shader.getID(), name));
}
void operator=(const T& t) {
@@ -33,7 +35,7 @@ public:
typedef std::array<float, C*R> T;
UniformMatrix(const GLchar* name, const Shader& shader) : current() {
- location = MBGL_CHECK_ERROR(glGetUniformLocation(shader.program, name));
+ location = MBGL_CHECK_ERROR(glGetUniformLocation(shader.getID(), name));
}
void operator=(const std::array<double, C*R>& t) {