Commit graph

5366 commits

Author SHA1 Message Date
Stefanos A. 9129e62343 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-17 16:39:45 +01:00
Stefanos A. 9c2db338e9 Corrected the entrypoint for wglChoosePixelFormat 2013-12-17 16:38:56 +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
Stefanos A 1af4f60c45 Add OpenTK.dll.config as content 2013-12-15 13:21:22 +01:00
Stefanos A bf1a43be4f MonoDevelop insists on making these changes 2013-12-15 13:05:06 +01:00
Stefanos A 0fdaed5639 Updated description 2013-12-15 13:04:29 +01:00
Stefanos A 2b93e453cd Generate nuget package for OpenTK.GLControl 2013-12-15 13:03:56 +01:00
Stefanos A 4e77a508a1 Generate xml documentation for OpenTK.GLControl 2013-12-15 13:01:39 +01:00
Stefanos A b424673ef0 Improved nuget version information 2013-12-15 12:02:43 +01:00
Stefanos A e1ef842e02 Do not commit build timestamp to repository 2013-12-15 12:02:01 +01:00
Stefanos A 881015646f Generate both build timestamp and version information 2013-12-15 12:01:26 +01:00
parallels 61f334f3f5 Delay VisualInfo construction (fixes #17)
In OpenTK 1.1, GraphicsMode queries the platform for a mode id lazily.
By delaying VisualInfo selection until the GraphicsContext is constructed
we ensure that a concrete GraphicsMode is selected and ready for use.
2013-12-14 11:54:55 +01:00
Stefanos A 216a9778ab Copy build artifact to root directory regardless of artifact name 2013-12-14 00:20:39 +01:00
Stefanos A 37b44dd2e2 Added release notes for OpenTK 2013-12-14 00:19:18 +01:00
Stefanos A 4466a597a3 Added nuget lib directory to gitignore 2013-12-14 00:19:03 +01:00
Stefanos A a5fc0af5b6 Added nuget build target to OpenTK.sln 2013-12-13 10:52:11 +01:00
Stefanos A fe4f8166c8 Added nuget build target
This will create a nupkg file for OpenTK and copy it to the base
directory. Version information is currently hardcoded to 1.1 (this
should be fixed.)
2013-12-13 10:51:34 +01:00
Stefanos A 694869dc05 Implemented resolution change workaround on SDL2
SDL2 does not support changing display resolutions independently of an
SDL window. As a workaround, if the user uses ChangeResolution and then
makes a GameWindow fullscreen, we use old-style SDL fullscreen which
changes the resolution. If the user makes a GameWindow fullscreen
without calling ChangeResolution first, we use the new
fullscreen-desktop mode to match the other OpenTK backends.
2013-12-13 00:07:13 +01:00