Commit Graph

76 Commits

Author SHA1 Message Date
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
Leo Lam 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
Stenzek 447aeb8f77 EGLInterface: Create shared context with same attributes as main context 2017-07-30 12:38:50 +10:00
Stenzek 3e508fc0a2 GLInterface: Support shared contexts on AGL 2017-07-30 12:38:49 +10:00
Ryan Houdek 01ae02482c GLInterface: Support shared contexts in GLX 2017-07-30 12:38:49 +10:00
Jonathan Hamilton 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
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
Jules Blok f3508742ac OGL: Support Quad-Buffered stereoscopy. 2017-07-05 22:43:39 +02:00
Shawn Hoffman 9357cee2ef do not assign in conditional statements 2017-06-07 20:09:44 -07:00
shuffle2 192fec50b9 Merge pull request #5276 from ligfx/macosheadless
Add headless support on macOS
2017-06-05 20:49:02 -07:00
Léo Lam d9fd056803 Fix minor formatting issues
These were not caught by the lint script while it was broken.
2017-06-05 02:32:19 +02:00
Stenzek 12bde06dc3 GLExtensions: Add GL_EXT_texture_compression_s3tc 2017-04-29 00:14:23 +10:00
Michael Maltese c63925dc21 AGL: small style fixes 2017-04-15 20:54:19 -07:00
Michael Maltese 4770e66811 AGL: refactor some functions 2017-04-15 20:53:47 -07:00
Michael Maltese 5298328cb1 Add headless support on macOS 2017-04-15 19:34:42 -07: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
Matthew Parlane 85d74a506f Merge pull request #4951 from waddlesplash/haiku-2
Initial support for Haiku.
2017-03-28 17:19:35 +13:00
Augustin Cavalier 0831dad467 Initial support for Haiku. 2017-03-27 23:46:19 -04:00
Michael Maltese 3f8a471d64 EGL: Fix missing-braces warning
Fixes warning:

```
../Source/Core/Common/GL/GLInterface/EGL.cpp:57:7: warning: suggest braces around initialization of subobject [-Wmissing-braces]
      EGL_OPENGL_BIT, (1 << 6), /* EGL_OPENGL_ES3_BIT_KHR */
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
2017-03-25 17:09:50 -07: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
Michael Maltese 713ec5ffd5 Add includes for building on Windows without PCH 2017-01-23 01:37:41 -08:00
Stenzek 7353cae707 GLInterface: Implement core and shared context creation for WGL 2016-11-29 20:04:32 +10:00
Emmanuel Gil Peyrot c9e6b05ce9 Core: Remove double newlines at the end of *_LOG messages. 2016-11-02 02:09:33 +00:00
shuffle2 8fcc3b04e0 Merge pull request #4227 from ligfx/clean_objc
Don't force compile everything as Objective-C++ on macOS
2016-10-02 19:42:04 -07:00
aldelaro5 f0aa9b3751 Reorganise a ton of logs level
Most of this commits changes performance decreasing logs from info to debug and also cleans up innacurate levels.
2016-10-01 15:50:28 -04:00
Michael Maltese cd19c9fa22 Don't force compile everything as Objective-C++ on macOS 2016-09-18 17:33:51 -07: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
Karol Herbst c0e21871cd EGL: specify version first
allthough this is a mesa bug, this is a simple enough workaround for context
creation fails with EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR set.

Otherwise dolphin will fail to create 3.3+ core context with current mesa
version
2016-05-29 22:12:31 +02:00
sigmabeta c92f7ef173 Fix builds when using newest version of NDK 2016-05-25 14:23:35 -04:00
degasus c04cff57da GLExtensions: Fix OpenGL ES 3.2 handling. 2016-05-18 23:22:46 +02:00
degasus 64f9941595 EGL: Also check for higher GL versions.
Seems like NVidia just ignores the forward compatible flag.
Additionally, they neither enable any extension which was designed later...
So either compatible profile, or a huge list of core profiles....
2016-03-01 07:55:57 +01: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 018625e54f Rearrange GLInterface interface generation.
This will be important when we enable headless on Android
2016-02-05 10:53:32 -06:00
Ryan Houdek 19cd9ecf16 Fix a few missing includes 2016-02-05 10:50:08 -06:00
Ryan Houdek 31523b7e80 Merge pull request #3572 from Sonicadvance1/egl_support_headless
Egl support headless
2016-01-30 11:15:07 -05:00
Ryan Houdek 5edc7705fe Merge pull request #3550 from Sonicadvance1/egl_support_core_profile
Support the OpenGL core profile in EGL.
2016-01-29 19:37:24 -05:00
Ryan Houdek c50efb17e5 Merge pull request #3546 from Sonicadvance1/egl_shared_context
Implement shared contexts in the EGL context.
2016-01-29 19:33:52 -05:00
Ryan Houdek 628e9bad92 Support a headless EGL option.
This is a new option to support completely headless running of Dolphin without X11 on systems that can properly support it.
2016-01-27 15:04:14 -06:00
Ryan Houdek 184a7a3e0d Include the EGL defines we need for KHR_create_context ourselves.
This is because Google decided it was in their best interest to update eglext.h for android-21/arch-arm only and completely neglect all the other
architectures.
Sucks to suck.
2016-01-27 14:54:44 -06:00
Ryan Houdek 34d0e7835b Support the OpenGL core profile in EGL.
This should make our Mesa EGL users happy.
2016-01-27 14:54:32 -06:00