Commit graph

101 commits

Author SHA1 Message Date
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
Ryan Houdek
921c7139c5 Implement support for GL 4.2 in GLExtensions 2016-01-27 13:58:34 -06:00
Ryan Houdek
aed693eded Implement shared contexts in the EGL context.
This is being implemented here first under EGL since the infrastructure is already in place for this due to the Android code requiring some bits.
The rest of the interfaces will come in a little bit.

This will be required for threaded shader compiling in the near future.
2016-01-27 13:15:02 -06:00
Ryan Houdek
6448e5e5ee Add support to EGL to on the fly destroy the resulting surface 2016-01-10 12:28:05 -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
0a42a0ab1b Merge pull request #3428 from Sonicadvance1/proper_glextensions
Make GLExtensions no longer require slghtly modified GL headers
2016-01-06 15:24:47 -05:00
Lioncash
f3c05d39b9 GLInterface: Make GLInterfaceMode an enum class 2016-01-02 14:26:43 -05:00
Lioncash
df9c9ad706 GLInterfaceBase: In-class initialize protected members
Gives the class a well-defined initial state
2016-01-02 14:26:42 -05:00
Lioncash
11a7defdba WGL: Make class member private 2016-01-02 14:26:41 -05:00
Lioncash
df2f6089be GLInterface: Add missing override specifiers 2016-01-02 14:26:36 -05: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
b4e9bbb551 Merge pull request #3336 from Sonicadvance1/improve_glextensions
[GLExtensions] Improve the extension loader.
2016-01-01 13:01:51 -05:00
Lioncash
f295182833 VideoBackends: Simplify initialization and deinitialization of resources
Approximately three or four times now, the issue of pointers being
in an inconsistent state been an issue in the video backend renderers
with regards to tripping up other developers.

Global (ugh) resources are put into a unique_ptr and will always have a
well-defined state of being - null or not null
2015-12-20 22:40:37 -05:00
Ryan Houdek
d9999bf30c Fix minor memory leak in WGL interface.
Would have a memory leak on game end
2015-12-13 11:42:18 -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
1ba600b688 Merge pull request #3145 from catzilla4/master
FreeBSD Compilation fix
2015-10-19 17:29:34 +13:00
degasus
b69bff0690 VideoSW: Use OpenGL Core context 2015-10-14 00:13:54 +02:00
catzilla4
867a1beb9f Added some headers to allow Dolphin to compile in my environment. 2015-10-06 19:09:57 -05:00
Lioncash
cc036ca86c Common: Remove other Common prefixed headers from Common.h 2015-09-26 18:51:58 -04:00
Lioncash
19ac565e0d Common: Move asserts to their own header 2015-09-26 18:51:27 -04:00
Scott Mansell
c9836ff592 EGL: Don't depend on VideoCommon or Core 2015-09-22 00:36:48 +12:00
Scott Mansell
72249b8085 GLX: Don't depend on Core or VideoCommon 2015-09-22 00:36:47 +12:00
Scott Mansell
01ed925fec AGL: Don't depend on VideoCommon 2015-09-22 00:36:46 +12:00
Scott Mansell
93f6563789 WGL: Don't depend on Core/VideoCommon 2015-09-22 00:36:45 +12:00
Scott Mansell
95f3c956a8 Move GL interface code out of the OpenGL video backend. 2015-09-22 00:36:45 +12:00