e679502a5d
GLX: Guard against redefinition of PFNGLXSWAPINTERVALEXTPROC
...
This type is already declared in glxext.h in the Steam Runtime.
2022-05-29 13:50:32 -04:00
2025763420
Treewide: Adjust order of includes
2021-12-10 14:49:57 -08:00
b8f4a4ae44
GLInterface: Remove unneeded wglShareLists call
...
When RenderDoc is attached, wglShareLists fails for some reason (see baldurk/renderdoc#2361 ). wglCreateContextAttribsARB has a parameter for the share context, so there's no reason to use a separate wglShareLists call.
Co-authored-by: baldurk <baldurk@baldurk.org >
2021-09-14 10:55:33 -07:00
8c728945fb
AGL: Silence OpenGL deprecation warnings
2021-07-06 14:31:01 -04:00
4d944342fc
AGL: Move more UI API calls to the main thread
2021-07-06 14:30:15 -04:00
90379e243e
licensing: switch GLExtensions/ to use SPDX tags
2021-07-05 04:35:56 +02:00
e149ad4f0a
treewide: convert GPLv2+ license info to SPDX tags
...
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00
2df11d3911
Rehabilitate Haiku support.
2021-01-02 16:54:24 -05:00
139d4fc76e
General: Convert PanicAlerts over to fmt equivalent
...
Converts lingering panic alert calls over to the fmt-capable ones.
2020-12-02 13:38:33 -05:00
4e8df93f41
Common: Migrate logging to fmt
...
Continues the migration of our code over to the fmt logger.
2020-10-23 14:58:03 -04:00
cff4806d8d
windows: fix build if pch were to be disabled
2020-08-22 16:18:24 -07:00
7c7a41ecd8
Cleanup warnings of -Wunused-variable
...
remove unused variables.
2020-03-23 14:24:27 +08:00
b1a6cbc3b4
MacOS: Dispatch GL calls to main thread to prevent crashes on Catalina
2020-01-01 23:06:19 -05:00
a23b3d26f4
GLExtensions.cpp: Use arrays of const char *const
instead of std::string
.
...
The strings end up being copied, so we might as well initialize the
std::string in the unordered_map directly.
2019-12-29 23:45:02 -05:00
0a75e71672
DolphinNoGUI: Add a FBDev platform
...
And the associated GLContext bits
2019-09-01 14:00:40 +10:00
43fe02ee9b
GLContext: Get size using eglQuerySurface()
...
Also no longer assumes that a nullptr display is not headless (needed for fbdev)
2019-09-01 13:35:11 +10:00
c4def7c814
Common: Add missing header guards
2019-06-17 18:37:56 -04:00
ff972e3673
Reformat repo to clang-format 7.0 rules
2019-05-06 18:48:04 +00:00
f039149198
Move most backend functionality to VideoCommon
2019-02-19 16:57:54 +10:00
ef3306e954
GLContext: Fix shared context creation error on Mesa
...
This was failing if the first version tried (4.6) didn't succeed.
2019-02-09 21:51:23 +10:00
6d394d03fe
Common/GLContext: Make member functions const qualified where applicable
...
These don't modify object state, so they can be const qualified.
2018-12-14 11:02:26 -05:00
2c6d96433c
GLContext: Try GL versions 3.2-4.6 when getting a context
...
GLX previously was only creating a 4.0 context.
2018-10-20 21:11:34 +10:00
c95802afeb
CMake: Make X11 and EGL optional
2018-10-20 21:11:34 +10:00
0559311f92
GLContext: Runtime selection of EGL/GLX on Linux
2018-10-20 21:11:34 +10:00
025e909773
GLContext: Use destructor instead of Shutdown() to cleanup
...
Also uses the Initialize() method to make the context current.
2018-10-20 21:11:34 +10:00
4b8d1c2b42
GLContext: Combine shared context initialization and creation
2018-10-20 21:11:34 +10:00
dcdd02d646
GLContext: Remove global context pointer
2018-10-20 21:11:34 +10:00
eb284b5d66
VideoBackends: Pass window system info from host on creation
2018-10-20 21:11:34 +10:00
9c57a98723
GLContext: Use host connection
...
This also removes the need for a sleeping event thread.
2018-10-20 21:11:34 +10:00
134d967be2
Refactoring and cleanup of GLInterface (now GLContext)
2018-10-20 21:11:34 +10:00
74b82bab3b
GLInterface: Drop Haiku support
2018-10-20 21:11:33 +10:00
0e6d01220a
Fix change in comment meaning by autoformat.
2018-04-13 09:20:27 +12:00
40bb9974f2
Reformat all the things!
2018-04-12 21:28:39 +02:00
c82be53d5c
GLInterface: Use EXT_swap_control or MESA_swap_control over SGI
...
The SGI extension does not define calling SwapInterval with a parameter
of zero as valid. It was just lucky that drivers interpreted this as
vsync off. The EXT_swap_control extension defines zero as a valid value.
Mesa does not appear to support the EXT variant, so we fall back to
MESA_swap_control here, which also supports zero.
2018-03-26 22:09:22 +10:00
93ab50c555
OGL: Move primitive restart enable logic to GLUtil
2018-03-10 16:11:20 +10:00
51a586d11a
GLUtil: Encapsulate functions in a namespace
2018-03-10 16:11:19 +10:00
aaea515d71
GLUtil: Drop now-unused attributeless VAO helpers
2018-02-22 19:09:28 +10:00
45ac9b678d
Require WINDOW_BIT if we have a window handle.
2017-12-29 23:20:16 -05:00
eb59267196
Surfaceless egl rendering.
2017-12-29 19:35:43 -05:00
f43d85921d
VideoBackends: Add AbstractStagingTexture class
...
Can be used for asynchronous readback or upload of textures.
2017-11-22 18:47:04 +10:00
3c5112bb21
Merge pull request #5856 from stenzek/optimus-crash
...
Fix ubershader crashes with primus/bumblebee
2017-08-05 00:54:28 -07:00
9649494f67
Merge pull request #5827 from JonnyH/WIP/fix-glMultiDrawElementsBaseVertex-invalid-OES-suffix
...
Fix an incorrect OES suffix on glMultiDrawElementsBaseVertex
2017-08-03 18:45:32 +02:00
287859c5e1
GLInterface: Support surfaceless contexts on GLX
2017-08-02 20:12:28 +10:00
d18988f41e
GLExtensions: Add GL_ARB_texture_compression_bptc
2017-08-01 11:58:57 +10:00
ca49de80c5
Merge pull request #5826 from JonnyH/WIP/add-option-to-prefer-GLES-when-using-EGL
...
Add "PreferGLES" option to EGL GLInterface
2017-07-31 16:43:38 +08:00
447aeb8f77
EGLInterface: Create shared context with same attributes as main context
2017-07-30 12:38:50 +10:00
3e508fc0a2
GLInterface: Support shared contexts on AGL
2017-07-30 12:38:49 +10:00
01ae02482c
GLInterface: Support shared contexts in GLX
2017-07-30 12:38:49 +10:00
0fbd0cab6a
Add "PreferGLES" option to EGL GLInterface
...
This makes the EGL interface select OpenGL|ES contexts over "desktop"
OpenGL ones.
Possibly not useful for anyone outside my own debugging, but you never
know
2017-07-26 19:26:36 -07:00
184e4d7b4a
Fix an incorrect OES suffix on glMultiDrawElementsBaseVertex
...
The spec says it should have an EXT not OES suffix, as it's enabled as
an interaction with GL_EXT_multi_draw_arrays.
On some drivers GetProcAddress() returns NULL, which causes the
GLExtensions init to fail
This 'happened' to work if GetProcAddress() doesn't return NULL on missing
functions (as allowed in EGL) - as the function appears to never be called so
this would not have been noticed.
Mesa also (incorrectly?) exports the EXT version, so this would all
happen to work there, but appears to be contrary to the spec.
This invalid prefix even ended up in the upstream khronos registry, the
issue was reported here:
https://github.com/KhronosGroup/OpenGL-Registry/issues/81
2017-07-25 12:52:39 -07:00