reuk
efdb3ec72f
OpenGL: Make version number parsing slightly more robust
This fixes an issue on iOS platforms where the version number string is
prefixed with "OpenGL ES " despite the Khronos docs for OpenGL ES
specifying that "The GL_VERSION and GL_SHADING_LANGUAGE_VERSION strings
begin with a version number".
3 years ago
reuk
e97f7d1c6c
OpenGLContext: Use high-priority thread for OpenGL renderer to smooth animations on M1 machines
3 years ago
reuk
6d3504adfa
OpenGLContext: Fix thread/consistency warnings on macOS
Previously, Xcode's main thread checker would complain when selecting
the "OpenGL Renderer" in the DemoRunner on macOS.
3 years ago
reuk
3768349a05
Font: Make Font and TypefaceCache threadsafe
Previously, it wasn't safe to access Font instances from multiple
threads because there was a chance that they might reference the same
shared internal state. In this case, calling getTypeface() or getAscent from
two threads simultaneously would cause a race on the typeface and ascent
data members, even though the Font instances appeared to be disjoint.
With this change in place, it is now safe to use Font instances from
multiple threads simultaneously.
It is still an error to modify the same Font instance from multiple
threads without synchronization!
// Fine:
Font a;
Font b = a;
auto futureA = std::async (std::launch::async, [&a] { /* do something with a */ });
auto futureB = std::async (std::launch::async, [&b] { /* do something with b */ });
// Bad idea:
Font f;
auto futureA = std::async (std::launch::async, [&f] { /* do something with f */ });
auto futureB = std::async (std::launch::async, [&f] { /* do something with f */ });
3 years ago
reuk
056700572c
OpenGLPixelFormat: Tidy up equality function
3 years ago
reuk
f0d11f961b
OpenGLContext: Avoid reading from component on background thread
3 years ago
attila
cea889d311
macOS OpenGL: Use display refresh rate when rate limiting swapBuffers()
3 years ago
attila
5c933d4c4e
macOS OpenGL: Use display refresh rate when rate limiting swapBuffers()
3 years ago
ed
f0002845d5
OpenGL: Correctly reset repaintEvent
3 years ago
reuk
80239b4d50
OpenGL: Only load the core API by default
See the breaking changes document for more details.
3 years ago
reuk
90ad1877af
OpenGL: Only use vertex arrays if the GL version is greater or equal to 3
3 years ago
reuk
d64c4277b4
OpenGL: Reinstate ifdef which was removed accidentally
3 years ago
reuk
280d97eb79
OpenGL: Check at runtime whether non-power-of-two textures are supported
3 years ago
reuk
f0b515cc73
OpenGL: Fix shader compilation on Ubuntu 18.04
Previously, we were always adding a #version 150 directive to shaders
when the GLSL version was higher than 1.2, which could cause compilation
to fail on platforms with GLSL versions between 1.2 and 1.5.
3 years ago
ed
dc61bd63e7
macOS: Manually reset repaint WaitableEvent when using CVDisplayLink
3 years ago
reuk
7ac6911ccc
Windows: Fix clang/gnu compiler warnings
3 years ago
reuk
28882b788a
OpenGL: Add missing function annotations
4 years ago
reuk
31a7c62baf
Windows: Fix and suppress some analysis warnings
This fixes warnings that are emitted when building with the `-analyze`
flag enabled.
4 years ago
reuk
54423f6583
OpenGL: Add GLEW-inspired dynamic function loading
4 years ago
Tom Poole
79fbde7099
Added preliminary support for FreeBSD
4 years ago
ed
b7e28541ca
Replaced deprecated Displays methods
4 years ago
reuk
394c4fd475
Clang: Fix warnings when building with clang 10
4 years ago
ed
009d685179
Updated all license headers
4 years ago
ed
d510b73cdf
Normalised all whitespace before args in std::function
5 years ago
ed
05602341fc
OpenGL: Take global scale factor into account when setting rendering scale on Windows
5 years ago
ed
1bb38fe54a
OpenGL: Take global scale factor into account when setting rendering scale on Windows
5 years ago
ed
e1c18e6461
macOS: Render OpenGL frames on ThreadPoolJob instead of directly on the CVDisplayLink thread to avoid a deadlock
5 years ago
ed
228fc0a8cf
macOS: Disable CVDisplayLink driver when continuous repainting is false
5 years ago
ed
281ae0b067
macOS: Render OpenGL frames on ThreadPoolJob instead of directly on the CVDisplayLink thread to avoid a deadlock
5 years ago
ed
270237be9b
macOS: Disable CVDisplayLink driver when continuous repainting is false
5 years ago
Tom Poole
894e7d2bd2
Updated all license headers
5 years ago
ed
c2e3dcd8bf
Updated the documentation of some methods which now return std::unique_ptr instead of raw pointers to remove references to deleting the returned object
5 years ago
Tom Poole
2d16374b14
Updated all license headers
5 years ago
reuk
327f817b9b
Copyrights: Update commercial/gpl headers to be gpl-only
5 years ago
ed
d77dae186d
Windows: Fixed an OpenGL scale issue in high-DPI plug-ins
5 years ago
ed
59a058fdc6
Fixed some warnings flagged up when enabling -Wswitch-enum, -Wswitch-default, -Wredundant-decls, and -Wimplicit-fallthrough
5 years ago
ed
99a17ad3a9
Windows: Fixed an issue with OpenGL rendering scale in plug-ins
5 years ago
ed
18523101be
Windows: Refactored DPI handling in the VST wrapper and hosting code
5 years ago
ed
b2d8f45e14
Fixed a potential data race in OpenGLContext::CachedImage
5 years ago
ed
a54da0b832
Fixed some more typos
5 years ago
Tom Poole
26027ca9c3
macOS: Use CVDisplayLink to drive OpenGL
5 years ago
ed
558ca3e5e6
OpenGL: Update native context window position when viewport size or scale changes in OpenGLContext::CachedImage::updateViewportSize()
5 years ago
Tom Poole
d8638fdd2a
OpenGL: Fixed an issue cloning OpenGLImageType images
5 years ago
ed
6dda52b98b
OpenGL: Check frame buffer completeness in OpenGLContext::copyTexture() to avoid an GL_INVALID_FRAMEBUFFER_OPERATION error
5 years ago
Tom Poole
670f77f80c
Fixed some Android compiler warnings
6 years ago
Tom Poole
16dd26649a
Fixed some GCC compiler warnings and removed deprecated functions
6 years ago
jules
f58eacc135
Added more unique_ptr use, for functions that create LowLevelGraphicsContext or ImageType objects.
6 years ago
Tom Poole
d475b17a81
Fixed some compiler warnings
6 years ago
Tom Poole
cbdf5e6d21
Fixed some compiler warnings
6 years ago
ed
5bdd3ea8c6
OpenGL: Fixed an incorrect type in OpenGLShaderProgram::Uniform::set()
6 years ago