David Korth
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
Lioncash
c4def7c814
Common: Add missing header guards
2019-06-17 18:37:56 -04:00
Stenzek
dcdd02d646
GLContext: Remove global context pointer
2018-10-20 21:11:34 +10:00
Stenzek
134d967be2
Refactoring and cleanup of GLInterface (now GLContext)
2018-10-20 21:11:34 +10:00
spycrab
40bb9974f2
Reformat all the things!
2018-04-12 21:28:39 +02:00
Stenzek
f43d85921d
VideoBackends: Add AbstractStagingTexture class
...
Can be used for asynchronous readback or upload of textures.
2017-11-22 18:47:04 +10:00
Markus Wick
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
Stenzek
d18988f41e
GLExtensions: Add GL_ARB_texture_compression_bptc
2017-08-01 11:58:57 +10:00
Jonathan Hamilton
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
Stenzek
12bde06dc3
GLExtensions: Add GL_EXT_texture_compression_s3tc
2017-04-29 00:14:23 +10:00
Stenzek
c8cbbd831d
GLExtensions: Seperate GL_ARB_compute_shader from GL 4.3
...
Allows the usage of glDispatchCompute from GLES (requires GLES 3.1).
2017-04-01 12:31:40 +10:00
Stenzek
4e24bfd0ce
GLExtensions: Seperate GL_ARB_shader_image_load_store from GL 4.2
...
Allows the usage of glBindImageTexture and glMemoryBarrier from GLES
(requires GLES 3.1).
2017-04-01 12:31:40 +10:00
Stenzek
bd15d0352a
GLExtensions: Seperate GL_ARB_texture_storage from GL 4.2
...
This allows us to use glTexStorage on GL3.3 implementations that support
the extension.
2017-04-01 12:31:40 +10:00
Michael Maltese
418a7723c8
GLExtensions: remove NV_depth_buffer_float from OpenGL 3.0
...
Regression introduced in e99cd57
/ 4935: VideoBackends: Set the maximum
range when the depth range is oversized[1]. The NV_depth_buffer_float
extension is not part of OpenGL 3.0, and requiring it causes a hard
crash when it's not supported (e.g. macOS).
[1]: https://github.com/dolphin-emu/dolphin/pull/4935
2017-03-10 12:54:46 -08:00
Jules Blok
94522d4cf3
OGL: Add support for glDepthRangedNV to handle oversized depth ranges.
2017-02-24 14:54:16 +01:00
Pierre Bourdon
5fcb4bb3ab
Further fixes to the formatting change. WX sucks.
2016-06-24 12:16:10 +02:00
Pierre Bourdon
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
degasus
c04cff57da
GLExtensions: Fix OpenGL ES 3.2 handling.
2016-05-18 23:22:46 +02:00
Ryan Houdek
d4dfbbf214
Make sure to get the right function pointer for DSA+buffer_storage
2016-02-15 06:05:38 -06:00
Ryan Houdek
64cb57c5ee
Disable a few OpenGL 4.5 functions that AMD fails to expose.
2016-02-15 06:05:09 -06:00
Ryan Houdek
2685ebaed1
Add support for GL 4.3
2016-02-14 20:35:38 -06:00
Ryan Houdek
e253fafe42
Add support for GL 4.4
2016-02-14 20:16:33 -06:00
Ryan Houdek
87afa2c277
Add support for GL 4.5
2016-02-14 20:15:40 -06:00
Ryan Houdek
23787f709c
Change GL 4.2 defines over to the proper naming convention.
2016-02-14 20:01:02 -06:00
Ryan Houdek
921c7139c5
Implement support for GL 4.2 in GLExtensions
2016-01-27 13:58:34 -06:00
Ryan Houdek
8c37498230
Fix typo in GLExtensions
...
I had changed a variable name and forgot to update it everywhere.
Should fix Adreno devices.
2016-01-09 15:06:36 -06:00
Ryan Houdek
37525f3fcf
Make GLExtensions no longer require slghtly modified GL headers.
...
In fact, removes the need for external headers at all.
2016-01-02 10:34:13 -06:00
Ryan Houdek
b620b26f8f
[GLExtensions] Improve the extension loader.
...
This removes some nonsense in the extension loader where under an ES context we would still pull all function pointers and just continue onward if we
fail to pull one.
Now function pointers are only pulled if the version of GL or ES actually supports that function.
2015-12-13 11:37:07 -06:00
Ryan Houdek
6d2fd8ae37
[GLExtensions] Support ORing of extensions when checking for support.
...
Makes my life easier.
2015-12-13 11:35:55 -06:00
Tillmann Karras
32cdd31200
GLExtensions: remove duplicate typedefs
2015-11-03 17:50:41 +01:00
Scott Mansell
95f3c956a8
Move GL interface code out of the OpenGL video backend.
2015-09-22 00:36:45 +12:00