Stefanos A
6493ab0188
Threads with message pump require STA comparment
...
May affect issue #19
2013-12-22 14:15:47 +01:00
Stefanos A
ecd7db99c1
Replace Wgl.GetCurrentDC with cached dc
...
with
2013-12-22 14:15:47 +01:00
Stefanos A
b81aaf9a12
No point in using 16bpp color
2013-12-22 14:15:47 +01:00
Stefanos A
c42090835f
Cleaned up temporary context construction
...
The temporary context is now retained until the actual context has been
constructed. If we don't do this, then WGL_ARB_create_context may fail
to work correctly on specific GPUs (e.g. Intel). This may affect issue
#19 .
2013-12-22 14:15:46 +01:00
Stefanos A
146e8f3fb1
Fixed GetModesARB implementation
...
The correct way to query number of available pixel formats is to use
Wgl.Arb.GetPixelFormatAttrib(NumberPixelFormatsArb), not
Wgl.Arb.ChoosePixelFormats. This fixes an issue where Intel drivers
would fail to report any pixel formats in GetModesARB, even when
WGL_ARB_pixel_format is supported.
2013-12-22 14:15:46 +01:00
Stefanos A
4ced172bdc
Minor code cleanup
2013-12-22 14:15:45 +01:00
Stefanos A
613ca93d89
Use gdi32 implementations of functions
...
Several functions are defined in both gdi32 and opengl32. Using the
opengl32/wgl versions did not appear to help with issue #19 . Let's use
the gdi32 version instead, as suggested here:
https://www.opengl.org/wiki/Platform_specifics:_Windows#The_WGL_functions
2013-12-22 14:15:45 +01:00
Stefanos A
3413271d8a
Load opengl32.dll before gdi32.dll
...
According to
http://stackoverflow.com/questions/199016/wglcreatecontext-in-c-sharp-failing-but-not-in-managed-c ,
opengl32.dll must be loaded before gdi32.dll. Affect issue #19 .
2013-12-22 14:15:45 +01:00
Stefanos A
954b1e98b6
Minor code cleanup
...
No need to wrap Wgl.DescribePixelFormat, just call it directly.
2013-12-22 14:15:44 +01:00
Stefanos A
1c8e7bc993
Use opengl32 instead of gdi32 throughout
...
Since we are dynamically loading opengl32.dll, we are supposed to use
the wgl version of functions that exist in both opengl32 and gdi32 dlls.
2013-12-22 14:15:44 +01:00
Stefanos A
234c15e9c9
Corrected the entrypoint for wglChoosePixelFormat
2013-12-22 14:15:43 +01:00
thefiddler
c8989f3e0d
Implemented new GamePad interface (WIP)
2013-12-19 16:28:20 +01:00
thefiddler
9374b6b41b
Implemented GamePadButtons
2013-12-19 16:27:57 +01:00
thefiddler
a4d7d79b95
Updated internal IGamePadDriver interface
2013-12-19 16:27:26 +01:00
thefiddler
9b98228240
Implemented GameController API bindings
2013-12-19 10:42:12 +01:00
thefiddler
9dd97cb3e1
Use SDL2 event API for joystick devices
2013-12-18 17:16:29 +01:00
thefiddler
427b3641a0
Implemented SDL2 Joystick and GameController events
2013-12-18 15:50:59 +01:00
Stefanos A.
809799aa90
Clean up shader error detection
2013-12-17 12:09:00 +01:00
Stefanos A.
3ee6d1dbbd
Updated author information (2/2)
2013-12-16 12:43:11 +01:00
Stefanos A.
f54bee95e1
Updated author information
2013-12-16 11:07:05 +01:00
Stefanos A.
f4360beb74
Use 16bit depth in GraphicsMode.Default
...
16bits appear to be better supported than 24bits on virtual machines.
2013-12-16 10:44:37 +01:00
Stefanos A.
3c6682e080
GraphicsContext cannot be released by finalizer
...
On many/most platforms, GraphicsContexts can only be released by the
thread where they are current. This means that the user must call
GraphicsContext.Dispose() or risk a resource leak.
Since we cannot release contexts on the finalizer thread, we should keep
strong references, instead of weak references, until the user explicitly
calls Dispose().
This patch fixes issues with SDL2 crashing when running the MonoGame
WindowsGL test suite.
2013-12-16 10:43:56 +01:00
Stefanos A.
498f16c2bd
Improved diagnostics
...
This helps when tracking down GraphicsContext-related issues in SDL2.
2013-12-16 10:39:54 +01:00
Stefanos A.
6ad91dcc5b
Added hack for MonoGame compatibility
...
MonoGame uses reflection to access internal APIs. We need to keep these
available until this is fixed downstream.
2013-12-16 10:39:11 +01:00
Stefanos A.
1392d48ec0
Protect against recursion in Closing event
...
Misbehaving clients that shall not be named here may call
GameWindow.Close() inside the GameWindow.Closing event. This causes
recursion in SDL2, crashing the application.
This patch adds a guard to protect against recursion when calling
GameWindow.Close().
2013-12-16 10:37:59 +01:00
Stefanos A
39a216f1ac
Added overloads for compatibility with svn r3127
...
Several projects are still using the last svn revision from the
sourceforge repository (r3127). These overloads provide an upgrade path
from r3127 to OpenTK 1.1.
2013-12-16 01:55:05 +01:00
Stefanos A
6e110cb820
Normalized xml doc file paths
2013-12-15 23:24:17 +01:00
Stefanos A
1490c8460f
Removed lib/ and *.nupkg from zip archive
2013-12-15 23:08:53 +01:00
Stefanos A
1102ccb943
Fixed build order in Nsis configuration
2013-12-15 23:08:19 +01:00
Stefanos A
f17541156e
Added Dependencies folder to Nsis installer
2013-12-15 23:07:56 +01:00
Stefanos A
a46f895cda
Fixed build in Nsis configuration
2013-12-15 22:33:28 +01:00
Stefanos A
78acd27c4c
Updated OpenGL documentation to Khronos r24522
2013-12-15 22:32:32 +01:00
Stefanos A
14d815dc8b
Fixed deprecation warning
2013-12-15 22:02:32 +01:00
Stefanos A
0db58e36bc
Eliminated cls-compliance warnings in BlittableValueType
2013-12-15 22:02:21 +01:00
Stefanos A
f579d0fd81
Eliminated cls-compliance warnings in the math library
2013-12-15 22:02:08 +01:00
Stefanos A
aeb7a72d79
Eliminated CLS-compliance warnings in the bindings
2013-12-15 22:01:45 +01:00
Stefanos A
e9f54dc61e
Fixed memory corruption on string return type marshaling
2013-12-15 20:57:25 +01:00
Stefanos A
4b3aac38b6
Merge branch 'no-reflect' of https://github.com/opentk/opentk
...
Conflicts:
OpenTK.sln
2013-12-15 18:30:47 +01:00
parallels
b31e0e8474
Compatibility fixes for Mono 2.10
...
The Mono 2.10 compiler fails when compiling extern methods that are not
marked as DllImport. We fix that by adding a method body that throws a
NotImplementedException instead.
Additionally, MonoDevelop 2.8 cannot open sln files with ToolsVersion 12.
The fix is to change ToolsVersion to 11.
2013-12-15 18:27:24 +01:00
Stefanos A
87030c0e68
Merge branch 'no-reflect'
...
Conflicts:
OpenTK.sln
Source/Bind/FuncProcessor.cs
Source/OpenTK/Graphics/ES11/ES11.cs
Source/OpenTK/Graphics/ES11/ES11Core.cs
Source/OpenTK/Graphics/ES11/ES11Delegates.cs
Source/OpenTK/Graphics/ES20/ES20.cs
Source/OpenTK/Graphics/OpenGL/GL.cs
Source/OpenTK/Graphics/OpenGL/GLCore.cs
Source/OpenTK/Graphics/OpenGL/GLDelegates.cs
Source/OpenTK/Graphics/OpenGL/GLObsolete.cs
2013-12-15 17:37:25 +01:00
Stefanos A
d0e52f6de7
Maintain backwards compatibility with 1.1
2013-12-15 16:58:33 +01:00
Stefanos A
dfd683ef49
Merge master into no-reflect
2013-12-15 16:36:37 +01:00
Stefanos A.
146208ad81
Build UpdateVersion before OpenTK
2013-12-15 15:36:24 +01:00
Stefanos A.
9a49008cc1
Generate debug symbols in release builds
2013-12-15 15:36:12 +01:00
Stefanos A.
d022e4c020
Improved WindowState changes on SDL2 backend
...
SDL2 fails to report several different WindowState changes. OpenTK uses
a number of hacks to make it work to some extent, however real fixes
will have to be implemented upstream.
2013-12-15 15:35:57 +01:00
Stefanos A
bc95084804
Merge branch 'sdlres'
2013-12-15 13:51:29 +01:00
Stefanos A.
9407b61116
Updated solution to VS2013 format.
2013-12-15 13:47:29 +01:00
Stefanos A.
72e919c0b5
Added nuget.exe to project items
2013-12-15 13:47:19 +01:00
Stefanos A.
1701f923ca
Committed nuget cmdline tool to source control
...
This appears to be the simplest (only?) way to use nuget in a
cross-platform manner.
2013-12-15 13:36:00 +01:00
Stefanos A
38821d0a0e
Merge branch 'nuget'
2013-12-15 13:23:16 +01:00