Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--graphics/opengl/opengl.hpp6
-rw-r--r--graphics/opengl/opengl_es2.cpp (renamed from graphics/opengl/opengl_glsl_es2.cpp)0
-rw-r--r--graphics/opengl/opengl_ext.cpp43
-rw-r--r--graphics/opengl/program.cpp22
-rw-r--r--graphics/opengl/shader.cpp10
-rw-r--r--map/benchmark_engine.cpp2
-rw-r--r--map/map.pro2
-rw-r--r--map/render_policy.cpp4
-rw-r--r--map/test_render_policy.cpp245
-rw-r--r--map/test_render_policy.hpp28
-rw-r--r--qt_tstfrm/tstwidgets.cpp2
11 files changed, 19 insertions, 345 deletions
diff --git a/graphics/opengl/opengl.hpp b/graphics/opengl/opengl.hpp
index 58c99aeda9..17f7021310 100644
--- a/graphics/opengl/opengl.hpp
+++ b/graphics/opengl/opengl.hpp
@@ -158,12 +158,6 @@ namespace graphics
/// to check extensions support and initialize function pointers.
void InitExtensions();
- /// Initialize per-thread OpenGL
- void InitializeThread();
-
- /// Finalize per-thread OpenGL
- void FinalizeThread();
-
/// Does we have an extension with the specified name?
bool HasExtension(char const * name);
diff --git a/graphics/opengl/opengl_glsl_es2.cpp b/graphics/opengl/opengl_es2.cpp
index 2c31e77f34..2c31e77f34 100644
--- a/graphics/opengl/opengl_glsl_es2.cpp
+++ b/graphics/opengl/opengl_es2.cpp
diff --git a/graphics/opengl/opengl_ext.cpp b/graphics/opengl/opengl_ext.cpp
index 0538edc487..60268d84ef 100644
--- a/graphics/opengl/opengl_ext.cpp
+++ b/graphics/opengl/opengl_ext.cpp
@@ -1,7 +1,6 @@
#include "opengl.hpp"
-
-namespace yg
+namespace graphics
{
namespace gl
{
@@ -27,50 +26,10 @@ namespace yg
const GLenum GL_PROJECTION_MWM = GL_PROJECTION;
const GLenum GL_ALPHA_TEST_MWM = GL_ALPHA_TEST;
- const GLenum GL_VERTEX_ARRAY_MWM = GL_VERTEX_ARRAY;
- const GLenum GL_TEXTURE_COORD_ARRAY_MWM = GL_TEXTURE_COORD_ARRAY;
- const GLenum GL_NORMAL_ARRAY_MWM = GL_NORMAL_ARRAY;
-
- void glOrthoImpl (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
- {
- glOrtho(left, right, bottom, top, zNear, zFar);
- }
-
- void InitializeThread()
- {}
-
- void FinalizeThread()
- {}
-
- void glNormalPointerImpl(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
- {
- glNormalPointer(type, stride, pointer);
- }
-
- void glUseSharpGeometryImpl(GLboolean)
- {}
-
void InitExtensions()
{
DumpGLInformation();
- glEnableFn = &glEnable;
- glDisableFn = &glDisable;
- glAlphaFuncFn = &glAlphaFunc;
-
- glVertexPointerFn = &glVertexPointer;
- glTexCoordPointerFn = &glTexCoordPointer;
- glEnableClientStateFn = &glEnableClientState;
- glNormalPointerFn = &glNormalPointerImpl;
-
- glUseSharpGeometryFn = &glUseSharpGeometryImpl;
-
- glMatrixModeFn = &glMatrixMode;
- glLoadIdentityFn = &glLoadIdentity;
- glLoadMatrixfFn = &glLoadMatrixf;
- glOrthoFn = &glOrthoImpl;
- glDrawElementsFn = &glDrawElements;
-
g_isBufferObjectsSupported = HasExtension("GL_ARB_vertex_buffer_object")
|| HasExtension("GLX_ARB_vertex_buffer_object");
diff --git a/graphics/opengl/program.cpp b/graphics/opengl/program.cpp
index 98f67bd85e..30ea40cd19 100644
--- a/graphics/opengl/program.cpp
+++ b/graphics/opengl/program.cpp
@@ -14,29 +14,29 @@ namespace graphics
Program::Program(shared_ptr<Shader> const & vxShader,
shared_ptr<Shader> const & frgShader)
{
- m_handle = glCreateProgramFn();
+ m_handle = glCreateProgram();
OGLCHECKAFTER;
if (!m_handle)
throw Exception("CreateProgram error", "could not create Program!");
- OGLCHECK(glAttachShaderFn(m_handle, vxShader->id()));
- OGLCHECK(glAttachShaderFn(m_handle, frgShader->id()));
+ OGLCHECK(glAttachShader(m_handle, vxShader->id()));
+ OGLCHECK(glAttachShader(m_handle, frgShader->id()));
- OGLCHECK(glLinkProgramFn(m_handle));
+ OGLCHECK(glLinkProgram(m_handle));
int linkStatus = GL_FALSE;
- OGLCHECK(glGetProgramivFn(m_handle, GL_LINK_STATUS, &linkStatus));
+ OGLCHECK(glGetProgramiv(m_handle, GL_LINK_STATUS, &linkStatus));
if (linkStatus != GL_TRUE)
{
int bufLength = 0;
- OGLCHECK(glGetProgramivFn(m_handle, GL_INFO_LOG_LENGTH, &bufLength));
+ OGLCHECK(glGetProgramiv(m_handle, GL_INFO_LOG_LENGTH, &bufLength));
if (bufLength)
{
vector<char> v;
v.resize(bufLength);
- glGetProgramInfoLogFn(m_handle, bufLength, NULL, &v[0]);
+ glGetProgramInfoLog(m_handle, bufLength, NULL, &v[0]);
throw LinkException("Could not link program: ", &v[0]);
}
@@ -47,7 +47,7 @@ namespace graphics
/// getting all uniforms
int cnt = 0;
- OGLCHECK(glGetProgramivFn(m_handle, GL_ACTIVE_UNIFORMS, &cnt));
+ OGLCHECK(glGetProgramiv(m_handle, GL_ACTIVE_UNIFORMS, &cnt));
GLchar name[1024];
GLsizei len = 0;
@@ -70,7 +70,7 @@ namespace graphics
m_uniforms[sem] = f;
}
- OGLCHECK(glGetProgramivFn(m_handle, GL_ACTIVE_ATTRIBUTES, &cnt));
+ OGLCHECK(glGetProgramiv(m_handle, GL_ACTIVE_ATTRIBUTES, &cnt));
for (unsigned i = 0; i < cnt; ++i)
{
@@ -91,7 +91,7 @@ namespace graphics
Program::~Program()
{
- OGLCHECK(glDeleteProgramFn(m_handle));
+ OGLCHECK(glDeleteProgram(m_handle));
}
void Program::setParam(ESemantic sem, float v0)
@@ -351,7 +351,7 @@ namespace graphics
void Program::makeCurrent()
{
- OGLCHECK(glUseProgramFn(m_handle));
+ OGLCHECK(glUseProgram(m_handle));
m_storage.m_vertices->makeCurrent();
diff --git a/graphics/opengl/shader.cpp b/graphics/opengl/shader.cpp
index 8dbb82a957..c54a019432 100644
--- a/graphics/opengl/shader.cpp
+++ b/graphics/opengl/shader.cpp
@@ -12,7 +12,7 @@ namespace graphics
GLenum glType;
convert(type, glType);
- m_handle = glCreateShaderFn(glType);
+ m_handle = glCreateShader(glType);
OGLCHECKAFTER;
if (!m_handle)
@@ -22,22 +22,22 @@ namespace graphics
OGLCHECK(glShaderSource(m_handle, 1, &src, &len));
- OGLCHECK(glCompileShaderFn(m_handle));
+ OGLCHECK(glCompileShader(m_handle));
GLint compileRes;
- OGLCHECK(glGetShaderivFn(m_handle, GL_COMPILE_STATUS, &compileRes));
+ OGLCHECK(glGetShaderiv(m_handle, GL_COMPILE_STATUS, &compileRes));
if (compileRes == GL_FALSE)
{
GLchar msg[256];
- OGLCHECK(glGetShaderInfoLogFn(m_handle, sizeof(msg), 0, msg));
+ OGLCHECK(glGetShaderInfoLog(m_handle, sizeof(msg), 0, msg));
throw CompileException("Couldn't compile shader: ", msg);
}
}
Shader::~Shader()
{
- OGLCHECK(glDeleteShaderFn(m_handle));
+ OGLCHECK(glDeleteShader(m_handle));
}
GLuint Shader::id() const
diff --git a/map/benchmark_engine.cpp b/map/benchmark_engine.cpp
index 3b4e38f82e..55afff7cb9 100644
--- a/map/benchmark_engine.cpp
+++ b/map/benchmark_engine.cpp
@@ -144,7 +144,7 @@ BenchmarkEngine::BenchmarkEngine(Framework * fw)
{
m_startTime = my::FormatCurrentTime();
- m_framework->GetInformationDisplay().enableBenchmarkInfo(true);
+// m_framework->GetInformationDisplay().enableBenchmarkInfo(true);
}
void BenchmarkEngine::BenchmarkCommandFinished()
diff --git a/map/map.pro b/map/map.pro
index aa01fefaba..884cc3cd7a 100644
--- a/map/map.pro
+++ b/map/map.pro
@@ -36,7 +36,6 @@ HEADERS += \
measurement_utils.hpp \
simple_render_policy.hpp \
proto_to_styles.hpp \
- test_render_policy.hpp \
queued_renderer.hpp \
basic_tiling_render_policy.hpp \
bookmark.hpp \
@@ -76,7 +75,6 @@ SOURCES += \
window_handle.cpp \
simple_render_policy.cpp \
proto_to_styles.cpp \
- test_render_policy.cpp \
queued_renderer.cpp \
events.cpp \
basic_tiling_render_policy.cpp \
diff --git a/map/render_policy.cpp b/map/render_policy.cpp
index 23c9cb91e9..65e4a952f2 100644
--- a/map/render_policy.cpp
+++ b/map/render_policy.cpp
@@ -2,7 +2,6 @@
#include "render_policy.hpp"
#include "window_handle.hpp"
-#include "test_render_policy.hpp"
#include "simple_render_policy.hpp"
#include "tiling_render_policy_st.hpp"
#include "tiling_render_policy_mt.hpp"
@@ -25,7 +24,7 @@ RenderPolicy::~RenderPolicy()
{
LOG(LDEBUG, ("clearing cached drawing rules"));
drule::rules().ClearCaches();
- graphics::gl::FinalizeThread();
+ m_primaryRC->endThreadDrawing(m_resourceManager->guiThreadSlot());
}
RenderPolicy::RenderPolicy(Params const & p,
@@ -42,7 +41,6 @@ RenderPolicy::RenderPolicy(Params const & p,
drule::rules().ResizeCaches(idCacheSize);
graphics::gl::InitExtensions();
- graphics::gl::InitializeThread();
graphics::gl::CheckExtensionSupport();
}
diff --git a/map/test_render_policy.cpp b/map/test_render_policy.cpp
deleted file mode 100644
index 1cdfd9d731..0000000000
--- a/map/test_render_policy.cpp
+++ /dev/null
@@ -1,245 +0,0 @@
-#include "test_render_policy.hpp"
-#include "events.hpp"
-#include "drawer.hpp"
-#include "window_handle.hpp"
-
-#include "../graphics/opengl/base_texture.hpp"
-#include "../graphics/opengl/opengl.hpp"
-#include "../graphics/opengl/utils.hpp"
-#include "../graphics/skin.hpp"
-
-#include "../geometry/screenbase.hpp"
-#include "../platform/platform.hpp"
-
-#include "../indexer/scales.hpp"
-
-TestRenderPolicy::TestRenderPolicy(Params const & p)
- : RenderPolicy(p, false, 1)
-{
- graphics::ResourceManager::Params rmp = p.m_rmParams;
-
- rmp.checkDeviceCaps();
-
- rmp.m_primaryStoragesParams = graphics::ResourceManager::StoragePoolParams(50000 * sizeof(graphics::gl::Vertex),
- sizeof(graphics::gl::Vertex),
- 10000 * sizeof(unsigned short),
- sizeof(unsigned short),
- 15,
- false,
- true,
- 1,
- "primaryStorage",
- false,
- false);
-
- rmp.m_smallStoragesParams = graphics::ResourceManager::StoragePoolParams(5000 * sizeof(graphics::gl::Vertex),
- sizeof(graphics::gl::Vertex),
- 10000 * sizeof(unsigned short),
- sizeof(unsigned short),
- 100,
- false,
- true,
- 1,
- "smallStorage",
- false,
- false);
-
- rmp.m_blitStoragesParams = graphics::ResourceManager::StoragePoolParams(10 * sizeof(graphics::gl::Vertex),
- sizeof(graphics::gl::Vertex),
- 10 * sizeof(unsigned short),
- sizeof(unsigned short),
- 50,
- true,
- true,
- 1,
- "blitStorage",
- false,
- false);
-
- rmp.m_primaryTexturesParams = graphics::ResourceManager::TexturePoolParams(512,
- 256,
- 10,
- rmp.m_texFormat,
- true,
- true,
- true,
- 1,
- "primaryTexture",
- false,
- false);
-
- rmp.m_fontTexturesParams = graphics::ResourceManager::TexturePoolParams(512,
- 256,
- 5,
- rmp.m_texFormat,
- true,
- true,
- true,
- 1,
- "fontTexture",
- false,
- false);
-
- rmp.m_glyphCacheParams = graphics::ResourceManager::GlyphCacheParams("unicode_blocks.txt",
- "fonts_whitelist.txt",
- "fonts_blacklist.txt",
- 2 * 1024 * 1024,
- 1,
- 0);
-
-
- rmp.m_useSingleThreadedOGL = false;
- rmp.fitIntoLimits();
-
- m_resourceManager.reset(new graphics::ResourceManager(rmp));
-
- Platform::FilesList fonts;
- GetPlatform().GetFontNames(fonts);
- m_resourceManager->addFonts(fonts);
-
- Drawer::Params dp;
-
- m_primaryFrameBuffer = make_shared_ptr(new graphics::gl::FrameBuffer(p.m_useDefaultFB));
-
- dp.m_frameBuffer = m_primaryFrameBuffer;
- dp.m_resourceManager = m_resourceManager;
- dp.m_glyphCacheID = m_resourceManager->guiThreadGlyphCacheID();
- dp.m_skin = make_shared_ptr(graphics::loadSkin(m_resourceManager, SkinName()));
- dp.m_visualScale = VisualScale();
- dp.m_isSynchronized = true;
-
- m_drawer.reset(new Drawer(dp));
-
- m_windowHandle.reset(new WindowHandle());
-
- m_windowHandle->setUpdatesEnabled(false);
- m_windowHandle->setVideoTimer(p.m_videoTimer);
- m_windowHandle->setRenderPolicy(this);
- m_windowHandle->setRenderContext(p.m_primaryRC);
-
- m_auxFrameBuffer = make_shared_ptr(new graphics::gl::FrameBuffer());
- m_frameBuffer = make_shared_ptr(new graphics::gl::FrameBuffer());
-
- m_depthBuffer = make_shared_ptr(new graphics::gl::RenderBuffer(512, 512, true));
- m_backBuffer = m_resourceManager->createRenderTarget(512, 512);
- m_actualTarget = m_resourceManager->createRenderTarget(512, 512);
-
- m_auxFrameBuffer->onSize(512, 512);
- m_frameBuffer->onSize(512, 512);
- m_hasScreen = false;
-}
-
-void TestRenderPolicy::DrawFrame(shared_ptr<PaintEvent> const & e,
- ScreenBase const & s)
-{
- if (!m_hasScreen)
- {
- m_screen = s;
- m_hasScreen = true;
- }
-
- using namespace graphics::gl;
-
- OGLCHECK(glBindFramebufferFn(GL_FRAMEBUFFER_MWM, m_frameBuffer->id()));
- utils::setupCoordinates(512, 512, false);
-
- OGLCHECK(glFramebufferTexture2DFn(GL_FRAMEBUFFER_MWM, GL_COLOR_ATTACHMENT0_MWM, GL_TEXTURE_2D, m_backBuffer->id(), 0));
- OGLCHECK(glFramebufferRenderbufferFn(GL_FRAMEBUFFER_MWM, GL_DEPTH_ATTACHMENT_MWM, GL_RENDERBUFFER_MWM, m_depthBuffer->id()));
-
- make_shared_ptr(new Renderer::ClearCommand(m_bgColor, true, 1.0, true))->perform();
-
- /// drawing with Z-order
-
- Drawer * pDrawer = e->drawer();
-
- for (unsigned i = 0; i < 40; ++i)
- pDrawer->screen()->drawRectangle(m2::RectD(10 + i, 10 + i, 110 + i, 110 + i),
- graphics::Color(255 - (i * 2) % 255, i * 2 % 255, 0, 255),
- 200 - i);
-
- pDrawer->screen()->drawRectangle(m2::RectD(80, 80, 180, 180), graphics::Color(0, 255, 0, 255), 100);
- pDrawer->screen()->flush(-1);
-
- /// performing updateActualTarget
-
- OGLCHECK(glFramebufferTexture2DFn(GL_FRAMEBUFFER_MWM, GL_COLOR_ATTACHMENT0_MWM, GL_TEXTURE_2D, m_actualTarget->id(), 0));
-
-/* OGLCHECK(glClearColor(m_bgColor.r / 255.0,
- m_bgColor.g / 255.0,
- m_bgColor.b / 255.0,
- m_bgColor.a / 255.0));
-
- OGLCHECK(glClear(GL_COLOR_BUFFER_BIT));*/
-
- shared_ptr<GeometryRenderer::IMMDrawTexturedRect> immDrawTexturedRect;
-
- immDrawTexturedRect.reset(
- new GeometryRenderer::IMMDrawTexturedRect(m2::RectF(0, 0, m_backBuffer->width(), m_backBuffer->height()),
- m2::RectF(0, 0, 1, 1),
- m_backBuffer,
- m_resourceManager));
-
- immDrawTexturedRect->perform();
- immDrawTexturedRect.reset();
-
-// OGLCHECK(glBindFramebufferFn(GL_FRAMEBUFFER_MWM, m_frameBuffer->id()));
- OGLCHECK(glFramebufferTexture2DFn(GL_FRAMEBUFFER_MWM, GL_COLOR_ATTACHMENT0_MWM, GL_TEXTURE_2D, m_backBuffer->id(), 0));
-
- /// drawing with Z-order
-
- pDrawer->screen()->drawRectangle(m2::RectD(110, 110, 210, 210), graphics::Color(0, 0, 255, 255), 50);
- pDrawer->screen()->drawRectangle(m2::RectD(140, 140, 240, 240), graphics::Color(0, 255, 255, 255), 25);
- pDrawer->screen()->flush(-1);
-
- /// performing last updateActualTarget
-
-// OGLCHECK(glBindFramebufferFn(GL_FRAMEBUFFER_MWM, m_auxFrameBuffer->id()));
- OGLCHECK(glFramebufferTexture2DFn(GL_FRAMEBUFFER_MWM, GL_COLOR_ATTACHMENT0_MWM, GL_TEXTURE_2D, m_actualTarget->id(), 0));
-
-/* OGLCHECK(glClearColor(m_bgColor.r / 255.0,
- m_bgColor.g / 255.0,
- m_bgColor.b / 255.0,
- m_bgColor.a / 255.0));
-
- OGLCHECK(glClear(GL_COLOR_BUFFER_BIT));*/
-
- immDrawTexturedRect.reset(
- new GeometryRenderer::IMMDrawTexturedRect(m2::RectF(0, 0, m_backBuffer->width(), m_backBuffer->height()),
- m2::RectF(0, 0, 1, 1),
- m_backBuffer,
- m_resourceManager));
-
- immDrawTexturedRect->perform();
- immDrawTexturedRect.reset();
-
- OGLCHECK(glFramebufferTexture2DFn(GL_FRAMEBUFFER_MWM, GL_COLOR_ATTACHMENT0_MWM, GL_TEXTURE_2D, m_backBuffer->id(), 0));
-
- pDrawer->screen()->drawRectangle(m2::RectD(90, 150, 190, 250), graphics::Color(255, 0, 255, 255), 20);
- pDrawer->screen()->drawRectangle(m2::RectD(120, 180, 220, 280), graphics::Color(128, 128, 255, 255), 10);
- pDrawer->screen()->flush(-1);
-
- /// performing updateActualTarget
- OGLCHECK(glFramebufferTexture2DFn(GL_FRAMEBUFFER_MWM, GL_COLOR_ATTACHMENT0_MWM, GL_TEXTURE_2D, m_actualTarget->id(), 0));
-
- immDrawTexturedRect.reset(
- new GeometryRenderer::IMMDrawTexturedRect(m2::RectF(0, 0, m_backBuffer->width(), m_backBuffer->height()),
- m2::RectF(0, 0, 1, 1),
- m_backBuffer,
- m_resourceManager));
-
- immDrawTexturedRect->perform();
- immDrawTexturedRect.reset();
-
- m_primaryFrameBuffer->makeCurrent();
- utils::setupCoordinates(m_primaryFrameBuffer->width(), m_primaryFrameBuffer->height(), true);
-
- pDrawer->screen()->clear(m_bgColor);
-
- pDrawer->screen()->blit(m_actualTarget, m_screen, s);
-}
-
-m2::RectI const TestRenderPolicy::OnSize(int w, int h)
-{
- m_primaryFrameBuffer->onSize(w, h);
- return RenderPolicy::OnSize(w, h);
-}
diff --git a/map/test_render_policy.hpp b/map/test_render_policy.hpp
deleted file mode 100644
index 7fe445a2f5..0000000000
--- a/map/test_render_policy.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-#pragma once
-
-#include "render_policy.hpp"
-#include "../geometry/screenbase.hpp"
-
-class TestRenderPolicy : public RenderPolicy
-{
-private:
- shared_ptr<graphics::gl::FrameBuffer> m_primaryFrameBuffer;
- shared_ptr<graphics::gl::FrameBuffer> m_auxFrameBuffer;
- shared_ptr<graphics::gl::FrameBuffer> m_frameBuffer;
- shared_ptr<graphics::gl::RenderBuffer> m_depthBuffer;
- shared_ptr<graphics::gl::BaseTexture> m_actualTarget;
- shared_ptr<graphics::gl::BaseTexture> m_backBuffer;
-
- shared_ptr<graphics::Screen> m_auxScreen;
- shared_ptr<graphics::Screen> m_drawerScreen;
-
- bool m_hasScreen;
- ScreenBase m_screen;
-public:
- TestRenderPolicy(Params const & p);
-
- void DrawFrame(shared_ptr<PaintEvent> const & pe,
- ScreenBase const & screenBase);
-
- m2::RectI const OnSize(int w, int h);
-};
diff --git a/qt_tstfrm/tstwidgets.cpp b/qt_tstfrm/tstwidgets.cpp
index b22962da85..c6bd4cf3b3 100644
--- a/qt_tstfrm/tstwidgets.cpp
+++ b/qt_tstfrm/tstwidgets.cpp
@@ -24,7 +24,6 @@ GLDrawWidget::GLDrawWidget() : base_type(0)
GLDrawWidget::~GLDrawWidget()
{
- graphics::gl::FinalizeThread();
}
void GLDrawWidget::initializeGL()
@@ -33,7 +32,6 @@ void GLDrawWidget::initializeGL()
{
graphics::gl::InitExtensions();
graphics::gl::CheckExtensionSupport();
- graphics::gl::InitializeThread();
}
catch (graphics::gl::platform_unsupported & e)
{