summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Software/SWOGLWindow.cpp
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2016-06-24 10:43:46 +0200
committerPierre Bourdon <delroth@gmail.com>2016-06-24 10:43:46 +0200
commit3570c7f03a2aa90aa634f96c0af1969af610f14d (patch)
tree4252e03c0e853ba7cffe022937698c854ad0eaa9 /Source/Core/VideoBackends/Software/SWOGLWindow.cpp
parent2115e8a4a6814e32107b5205ff5c95bbd3c6e99c (diff)
Reformat all the things. Have fun with merge conflicts.
Diffstat (limited to 'Source/Core/VideoBackends/Software/SWOGLWindow.cpp')
-rw-r--r--Source/Core/VideoBackends/Software/SWOGLWindow.cpp170
1 files changed, 84 insertions, 86 deletions
diff --git a/Source/Core/VideoBackends/Software/SWOGLWindow.cpp b/Source/Core/VideoBackends/Software/SWOGLWindow.cpp
index cd411610ed..f64b9656db 100644
--- a/Source/Core/VideoBackends/Software/SWOGLWindow.cpp
+++ b/Source/Core/VideoBackends/Software/SWOGLWindow.cpp
@@ -12,120 +12,118 @@
std::unique_ptr<SWOGLWindow> SWOGLWindow::s_instance;
-void SWOGLWindow::Init(void *window_handle)
+void SWOGLWindow::Init(void* window_handle)
{
- InitInterface();
- GLInterface->SetMode(GLInterfaceMode::MODE_DETECT);
- if (!GLInterface->Create(window_handle))
- {
- INFO_LOG(VIDEO, "GLInterface::Create failed.");
- }
-
- s_instance.reset(new SWOGLWindow());
+ InitInterface();
+ GLInterface->SetMode(GLInterfaceMode::MODE_DETECT);
+ if (!GLInterface->Create(window_handle))
+ {
+ INFO_LOG(VIDEO, "GLInterface::Create failed.");
+ }
+
+ s_instance.reset(new SWOGLWindow());
}
void SWOGLWindow::Shutdown()
{
- GLInterface->Shutdown();
- GLInterface.reset();
+ GLInterface->Shutdown();
+ GLInterface.reset();
- s_instance.reset();
+ s_instance.reset();
}
void SWOGLWindow::Prepare()
{
- if (m_init) return;
- m_init = true;
-
- // Init extension support.
- if (!GLExtensions::Init())
- {
- ERROR_LOG(VIDEO, "GLExtensions::Init failed!Does your video card support OpenGL 2.0?");
- return;
- }
- else if (GLExtensions::Version() < 310)
- {
- ERROR_LOG(VIDEO, "OpenGL Version %d detected, but at least 3.1 is required.", GLExtensions::Version());
- return;
- }
-
- std::string frag_shader =
- "in vec2 TexCoord;\n"
- "out vec4 ColorOut;\n"
- "uniform sampler2D Texture;\n"
- "void main() {\n"
- " ColorOut = texture2D(Texture, TexCoord);\n"
- "}\n";
-
- std::string vertex_shader =
- "out vec2 TexCoord;\n"
- "void main() {\n"
- " vec2 rawpos = vec2(gl_VertexID & 1, (gl_VertexID & 2) >> 1);\n"
- " gl_Position = vec4(rawpos * 2.0 - 1.0, 0.0, 1.0);\n"
- " TexCoord = vec2(rawpos.x, -rawpos.y);\n"
- "}\n";
-
- std::string header =
- GLInterface->GetMode() == GLInterfaceMode::MODE_OPENGL ?
- "#version 140\n"
- :
- "#version 300 es\n"
- "precision highp float;\n";
-
- m_image_program = OpenGL_CompileProgram(header + vertex_shader, header + frag_shader);
-
- glUseProgram(m_image_program);
-
- glUniform1i(glGetUniformLocation(m_image_program, "Texture"), 0);
-
- glGenTextures(1, &m_image_texture);
- glBindTexture(GL_TEXTURE_2D, m_image_texture);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-
- glGenVertexArrays(1, &m_image_vao);
+ if (m_init)
+ return;
+ m_init = true;
+
+ // Init extension support.
+ if (!GLExtensions::Init())
+ {
+ ERROR_LOG(VIDEO, "GLExtensions::Init failed!Does your video card support OpenGL 2.0?");
+ return;
+ }
+ else if (GLExtensions::Version() < 310)
+ {
+ ERROR_LOG(VIDEO, "OpenGL Version %d detected, but at least 3.1 is required.",
+ GLExtensions::Version());
+ return;
+ }
+
+ std::string frag_shader = "in vec2 TexCoord;\n"
+ "out vec4 ColorOut;\n"
+ "uniform sampler2D Texture;\n"
+ "void main() {\n"
+ " ColorOut = texture2D(Texture, TexCoord);\n"
+ "}\n";
+
+ std::string vertex_shader = "out vec2 TexCoord;\n"
+ "void main() {\n"
+ " vec2 rawpos = vec2(gl_VertexID & 1, (gl_VertexID & 2) >> 1);\n"
+ " gl_Position = vec4(rawpos * 2.0 - 1.0, 0.0, 1.0);\n"
+ " TexCoord = vec2(rawpos.x, -rawpos.y);\n"
+ "}\n";
+
+ std::string header = GLInterface->GetMode() == GLInterfaceMode::MODE_OPENGL ?
+ "#version 140\n" :
+ "#version 300 es\n"
+ "precision highp float;\n";
+
+ m_image_program = OpenGL_CompileProgram(header + vertex_shader, header + frag_shader);
+
+ glUseProgram(m_image_program);
+
+ glUniform1i(glGetUniformLocation(m_image_program, "Texture"), 0);
+
+ glGenTextures(1, &m_image_texture);
+ glBindTexture(GL_TEXTURE_2D, m_image_texture);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+
+ glGenVertexArrays(1, &m_image_vao);
}
void SWOGLWindow::PrintText(const std::string& text, int x, int y, u32 color)
{
- TextData data{text, x, y, color};
- m_text.emplace_back(data);
+ TextData data{text, x, y, color};
+ m_text.emplace_back(data);
}
void SWOGLWindow::ShowImage(u8* data, int stride, int width, int height, float aspect)
{
- GLInterface->MakeCurrent();
- GLInterface->Update();
- Prepare();
+ GLInterface->MakeCurrent();
+ GLInterface->Update();
+ Prepare();
- GLsizei glWidth = (GLsizei)GLInterface->GetBackBufferWidth();
- GLsizei glHeight = (GLsizei)GLInterface->GetBackBufferHeight();
+ GLsizei glWidth = (GLsizei)GLInterface->GetBackBufferWidth();
+ GLsizei glHeight = (GLsizei)GLInterface->GetBackBufferHeight();
- glViewport(0, 0, glWidth, glHeight);
+ glViewport(0, 0, glWidth, glHeight);
- glBindTexture(GL_TEXTURE_2D, m_image_texture);
+ glBindTexture(GL_TEXTURE_2D, m_image_texture);
- glPixelStorei(GL_UNPACK_ALIGNMENT, 4); // 4-byte pixel alignment
- glPixelStorei(GL_UNPACK_ROW_LENGTH, stride / 4);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, (GLsizei)width, (GLsizei)height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);
+ glPixelStorei(GL_UNPACK_ALIGNMENT, 4); // 4-byte pixel alignment
+ glPixelStorei(GL_UNPACK_ROW_LENGTH, stride / 4);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, (GLsizei)width, (GLsizei)height, 0, GL_RGBA,
+ GL_UNSIGNED_BYTE, data);
- glUseProgram(m_image_program);
+ glUseProgram(m_image_program);
- glBindVertexArray(m_image_vao);
- glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
+ glBindVertexArray(m_image_vao);
+ glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
-// TODO: implement OSD
-// for (TextData& text : m_text)
-// {
-// }
- m_text.clear();
+ // TODO: implement OSD
+ // for (TextData& text : m_text)
+ // {
+ // }
+ m_text.clear();
- GLInterface->Swap();
- GLInterface->ClearCurrent();
+ GLInterface->Swap();
+ GLInterface->ClearCurrent();
}
int SWOGLWindow::PeekMessages()
{
- return GLInterface->PeekMessages();
+ return GLInterface->PeekMessages();
}
-