DPF

DISTRHO Plugin Framework
Log | Files | Refs | Submodules | README | LICENSE

commit 6d983cbfe7ae99cda177831b8376f6f8d8a459fa
parent d8521efcdd36317421bd4cd3fccf58e1b9bcecf6
Author: falkTX <falktx@falktx.com>
Date:   Tue,  4 Jan 2022 13:59:00 +0000

Fix pure opengl3 build

Diffstat:
Mdgl/OpenGL.hpp | 8++++++++
Mdgl/src/NanoVG.cpp | 2+-
Mdgl/src/OpenGL.cpp | 16++++++++++++++++
3 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/dgl/OpenGL.hpp b/dgl/OpenGL.hpp @@ -129,7 +129,11 @@ ImageFormat asDISTRHOImageFormat(const GLenum format) { switch (format) { +#ifdef DGL_USE_OPENGL3 + case GL_RED: +#else case GL_LUMINANCE: +#endif return kImageFormatGrayscale; case GL_BGR: return kImageFormatBGR; @@ -152,7 +156,11 @@ GLenum asOpenGLImageFormat(const ImageFormat format) case kImageFormatNull: break; case kImageFormatGrayscale: +#ifdef DGL_USE_OPENGL3 + return GL_RED; +#else return GL_LUMINANCE; +#endif case kImageFormatBGR: return GL_BGR; case kImageFormatBGRA: diff --git a/dgl/src/NanoVG.cpp b/dgl/src/NanoVG.cpp @@ -88,7 +88,7 @@ DGL_EXT(PFNGLUNIFORMBLOCKBINDINGPROC, glUniformBlockBinding) # define NANOVG_GL2_IMPLEMENTATION #endif -#if defined(DISTRHO_OS_MAC) && defined(NANOVG_GL3_IMPLEMENTATION) +#if defined(DISTRHO_OS_MAC) && defined(NANOVG_GL2_IMPLEMENTATION) # define glBindVertexArray glBindVertexArrayAPPLE # define glDeleteVertexArrays glDeleteVertexArraysAPPLE # define glGenVertexArrays glGenVertexArraysAPPLE diff --git a/dgl/src/OpenGL.cpp b/dgl/src/OpenGL.cpp @@ -38,10 +38,12 @@ START_NAMESPACE_DGL void Color::setFor(const GraphicsContext&, const bool includeAlpha) { +#ifndef DGL_USE_OPENGL3 if (includeAlpha) glColor4f(red, green, blue, alpha); else glColor3f(red, green, blue); +#endif } // ----------------------------------------------------------------------- @@ -52,6 +54,7 @@ static void drawLine(const Point<T>& posStart, const Point<T>& posEnd) { DISTRHO_SAFE_ASSERT_RETURN(posStart != posEnd,); +#ifndef DGL_USE_OPENGL3 glBegin(GL_LINES); { @@ -60,6 +63,7 @@ static void drawLine(const Point<T>& posStart, const Point<T>& posEnd) } glEnd(); +#endif } template<typename T> @@ -102,6 +106,7 @@ static void drawCircle(const Point<T>& pos, const T origy = pos.getY(); double t, x = size, y = 0.0; +#ifndef DGL_USE_OPENGL3 glBegin(outline ? GL_LINE_LOOP : GL_POLYGON); for (uint i=0; i<numSegments; ++i) @@ -114,6 +119,7 @@ static void drawCircle(const Point<T>& pos, } glEnd(); +#endif } template<typename T> @@ -162,6 +168,7 @@ static void drawTriangle(const Point<T>& pos1, { DISTRHO_SAFE_ASSERT_RETURN(pos1 != pos2 && pos1 != pos3,); +#ifndef DGL_USE_OPENGL3 glBegin(outline ? GL_LINE_LOOP : GL_TRIANGLES); { @@ -171,6 +178,7 @@ static void drawTriangle(const Point<T>& pos1, } glEnd(); +#endif } template<typename T> @@ -216,6 +224,7 @@ static void drawRectangle(const Rectangle<T>& rect, const bool outline) { DISTRHO_SAFE_ASSERT_RETURN(rect.isValid(),); +#ifndef DGL_USE_OPENGL3 glBegin(outline ? GL_LINE_LOOP : GL_QUADS); { @@ -238,6 +247,7 @@ static void drawRectangle(const Rectangle<T>& rect, const bool outline) } glEnd(); +#endif } template<typename T> @@ -316,11 +326,14 @@ static void drawOpenGLImage(const OpenGLImage& image, const Point<int>& pos, con setupCalled = true; } +#ifndef DGL_USE_OPENGL3 glColor4f(1.0f, 1.0f, 1.0f, 1.0f); +#endif glEnable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, textureId); +#ifndef DGL_USE_OPENGL3 glBegin(GL_QUADS); { @@ -343,6 +356,7 @@ static void drawOpenGLImage(const OpenGLImage& image, const Point<int>& pos, con } glEnd(); +#endif glBindTexture(GL_TEXTURE_2D, 0); glDisable(GL_TEXTURE_2D); @@ -528,6 +542,7 @@ void ImageBaseKnob<OpenGLImage>::onDisplay() pData->isReady = true; } +#ifndef DGL_USE_OPENGL3 const int w = static_cast<int>(getWidth()); const int h = static_cast<int>(getHeight()); @@ -549,6 +564,7 @@ void ImageBaseKnob<OpenGLImage>::onDisplay() { Rectangle<int>(0, 0, w, h).draw(context); } +#endif glBindTexture(GL_TEXTURE_2D, 0); glDisable(GL_TEXTURE_2D);