platform/core/csapi/opentk.git
10 years ago[Mac] Register platform resources for disposal
thefiddler [Wed, 23 Jul 2014 07:21:28 +0000 (09:21 +0200)]
[Mac] Register platform resources for disposal

10 years ago[OpenTK] Add allocated resource registry
thefiddler [Wed, 23 Jul 2014 07:21:20 +0000 (09:21 +0200)]
[OpenTK] Add allocated resource registry

10 years ago[Mac] Do not execute run loop prematurely
thefiddler [Wed, 23 Jul 2014 07:20:51 +0000 (09:20 +0200)]
[Mac] Do not execute run loop prematurely

Fixes a potential crash when destroying and recreating OpenTK.Toolkit.

10 years ago[OpenTK] Additional constructor and doc cleanup
thefiddler [Wed, 23 Jul 2014 07:05:29 +0000 (09:05 +0200)]
[OpenTK] Additional constructor and doc cleanup

10 years ago[Mac] More defensive programming
thefiddler [Wed, 23 Jul 2014 07:05:01 +0000 (09:05 +0200)]
[Mac] More defensive programming

CocoaNativeWindow now checks for and reports failures to allocate
resources in its constructor. Additionally, it no longer calls UI
methods in the finalizer thread, as those methods will crash on Cocoa.

10 years ago[OpenTK] Re-add static Factory constructor
thefiddler [Wed, 23 Jul 2014 07:03:18 +0000 (09:03 +0200)]
[OpenTK] Re-add static Factory constructor

There are static methods that rely on `OpenTK.Platform.Factory` having
a static constructor. We need to fix those first, before we can remove
this constructor.

10 years ago[Mac] CursorVisible should only apply when changed
thefiddler [Tue, 22 Jul 2014 19:02:33 +0000 (21:02 +0200)]
[Mac] CursorVisible should only apply when changed

This fixes an issue where `NativeWindow.Dispose()` would move the mouse
cursor.

10 years ago[Mac] Do not use Autorelease pool
thefiddler [Tue, 22 Jul 2014 14:29:52 +0000 (16:29 +0200)]
[Mac] Do not use Autorelease pool

10 years ago[Mac] Added objc_disposeClassPair binding
thefiddler [Tue, 22 Jul 2014 14:29:37 +0000 (16:29 +0200)]
[Mac] Added objc_disposeClassPair binding

10 years ago[Mac] Close CocoaNativeWindow in Dispose()
thefiddler [Tue, 22 Jul 2014 14:29:21 +0000 (16:29 +0200)]
[Mac] Close CocoaNativeWindow in Dispose()

Also fix various memory management issues regarding the `MouseCursor`
and `Icon` properties.

10 years ago[Mac] Retain CFRunLoop while it is in use
thefiddler [Tue, 22 Jul 2014 14:20:46 +0000 (16:20 +0200)]
[Mac] Retain CFRunLoop while it is in use

10 years ago[Mac] Added CFRetain binding
thefiddler [Tue, 22 Jul 2014 14:19:43 +0000 (16:19 +0200)]
[Mac] Added CFRetain binding

10 years ago[OpenTK] Correctly reinitialize platform factory
thefiddler [Tue, 22 Jul 2014 12:29:20 +0000 (14:29 +0200)]
[OpenTK] Correctly reinitialize platform factory

10 years ago[Mac] Correctly shutdown HID input driver
thefiddler [Tue, 22 Jul 2014 12:28:48 +0000 (14:28 +0200)]
[Mac] Correctly shutdown HID input driver

10 years ago[Docs] Updated documentation for release
thefiddler [Mon, 21 Jul 2014 16:07:23 +0000 (18:07 +0200)]
[Docs] Updated documentation for release

10 years agoMerge pull request #157 from thefiddler/warnfix
thefiddler [Mon, 21 Jul 2014 16:05:20 +0000 (18:05 +0200)]
Merge pull request #157 from thefiddler/warnfix

Fix all build warnings on VS2013 and Mono 3.4.0

10 years agoMerge pull request #156 from thefiddler/buildfix
thefiddler [Mon, 21 Jul 2014 15:56:10 +0000 (17:56 +0200)]
Merge pull request #156 from thefiddler/buildfix

Use "Preserve Newest" option on OpenTK.dll.config

10 years agoFixed compilation warnings on Mono 3.4.0
thefiddler [Mon, 21 Jul 2014 15:55:12 +0000 (17:55 +0200)]
Fixed compilation warnings on Mono 3.4.0

10 years agoFixed compilation warnings on Mono 3.4.0
thefiddler [Mon, 21 Jul 2014 15:52:17 +0000 (17:52 +0200)]
Fixed compilation warnings on Mono 3.4.0

10 years agoFixed compilation warnings on Mono 3.4.0
thefiddler [Mon, 21 Jul 2014 15:48:14 +0000 (17:48 +0200)]
Fixed compilation warnings on Mono 3.4.0

10 years agoFixed compilation warnings on Mono 3.4.0
thefiddler [Mon, 21 Jul 2014 15:46:39 +0000 (17:46 +0200)]
Fixed compilation warnings on Mono 3.4.0

10 years ago[Examples] Fixed all warnings
thefiddler [Mon, 21 Jul 2014 15:20:19 +0000 (17:20 +0200)]
[Examples] Fixed all warnings

10 years ago[Compat] Use Preserve Newest in dll.config
thefiddler [Mon, 21 Jul 2014 14:55:07 +0000 (16:55 +0200)]
[Compat] Use Preserve Newest in dll.config

This speeds up compilation times significantly.

10 years ago[ES][GL] Regenerated bindings
thefiddler [Mon, 21 Jul 2014 14:53:36 +0000 (16:53 +0200)]
[ES][GL] Regenerated bindings

10 years ago[ES][GL] Added missing documentation comments
thefiddler [Mon, 21 Jul 2014 14:53:24 +0000 (16:53 +0200)]
[ES][GL] Added missing documentation comments

10 years ago[Bind] Fixed an issue where CLS-compliance was incorrectly overriden
thefiddler [Mon, 21 Jul 2014 14:53:02 +0000 (16:53 +0200)]
[Bind] Fixed an issue where CLS-compliance was incorrectly overriden

10 years agoCleaned up the remaining obsolete warnings
thefiddler [Mon, 21 Jul 2014 14:49:24 +0000 (16:49 +0200)]
Cleaned up the remaining obsolete warnings

10 years agoCleaned up a number of obsolete warnings
thefiddler [Mon, 21 Jul 2014 14:39:58 +0000 (16:39 +0200)]
Cleaned up a number of obsolete warnings

10 years ago[GL] BufferObjects and TextureUnit are not obsolete
thefiddler [Mon, 21 Jul 2014 14:34:21 +0000 (16:34 +0200)]
[GL] BufferObjects and TextureUnit are not obsolete

10 years ago[Bind] Implemented CLS-compliant checks for Enums
thefiddler [Mon, 21 Jul 2014 14:25:21 +0000 (16:25 +0200)]
[Bind] Implemented CLS-compliant checks for Enums

10 years agoFixed a large number of warnings
thefiddler [Mon, 21 Jul 2014 14:03:37 +0000 (16:03 +0200)]
Fixed a large number of warnings

10 years ago[Bind] Added Enum.Obsolete property
thefiddler [Mon, 21 Jul 2014 14:02:56 +0000 (16:02 +0200)]
[Bind] Added Enum.Obsolete property

10 years ago[ES] Marked obsolete enums as such
thefiddler [Mon, 21 Jul 2014 14:02:32 +0000 (16:02 +0200)]
[ES] Marked obsolete enums as such

10 years ago[Bind] Enums can now be marked as obsolete
thefiddler [Mon, 21 Jul 2014 14:02:18 +0000 (16:02 +0200)]
[Bind] Enums can now be marked as obsolete

10 years agoFixed a large number of build warnings
thefiddler [Mon, 21 Jul 2014 13:03:24 +0000 (15:03 +0200)]
Fixed a large number of build warnings

10 years ago[Build] Updated mono version to 3.4.0.
thefiddler [Mon, 21 Jul 2014 12:43:26 +0000 (14:43 +0200)]
[Build] Updated mono version to 3.4.0.

10 years agoMerge pull request #155 from thefiddler/relnotes_july2014
thefiddler [Mon, 21 Jul 2014 12:37:44 +0000 (14:37 +0200)]
Merge pull request #155 from thefiddler/relnotes_july2014

[Docs] Updated documentation for July 2014 release

10 years agoMerge pull request #154 from opentk/glspecs_july2014
thefiddler [Mon, 21 Jul 2014 12:37:34 +0000 (14:37 +0200)]
Merge pull request #154 from opentk/glspecs_july2014

[ES][GL] Sync with July 2014 specification

10 years agoUse "Preserve Newest" option on OpenTK.dll.config
thefiddler [Mon, 21 Jul 2014 12:32:08 +0000 (14:32 +0200)]
Use "Preserve Newest" option on OpenTK.dll.config

OpenTK.dll.config was previously set to be always copied to the
output directory. This caused constant rebuilds in Visual Studio.

Setting this to "Preserve Newest" improves build times
significantly.

10 years ago[Docs] Updated documentation for July 2014 release
thefiddler [Mon, 21 Jul 2014 12:28:24 +0000 (14:28 +0200)]
[Docs] Updated documentation for July 2014 release

10 years ago[ES][GL] Regenerated bindings
thefiddler [Mon, 21 Jul 2014 07:19:39 +0000 (09:19 +0200)]
[ES][GL] Regenerated bindings

10 years ago[GL] Synced with the July 2014 Khronos spec
thefiddler [Mon, 21 Jul 2014 07:19:29 +0000 (09:19 +0200)]
[GL] Synced with the July 2014 Khronos spec

This version fixes various issues in the OES_byte_coordinates extension
and improves the documentation on parameter lengths.

10 years agoMerge pull request #153 from thefiddler/xwindowfix
thefiddler [Sun, 20 Jul 2014 09:46:43 +0000 (11:46 +0200)]
Merge pull request #153 from thefiddler/xwindowfix

[X11] INativeWindow fixes

10 years ago[X11] Use the correct visual info for the context
Stefanos A [Sun, 20 Jul 2014 09:31:02 +0000 (11:31 +0200)]
[X11] Use the correct visual info for the context

This also fixes a potential NRE.

10 years ago[X11] Fixed GLControl on nvidia binary drivers
Stefanos A [Sun, 20 Jul 2014 09:28:43 +0000 (11:28 +0200)]
[X11] Fixed GLControl on nvidia binary drivers

Nvidia drivers fail in Glx.MakeCurrent() when using a 32bpp
visual on a window created with a 24bpp visual. Since we do
not know the actual visual until after the context is constructed,
the solution is to implicitly use 24bpp when 32bpp is requested.

The loss of the alpha channel does not have a user-visible effect,
since WinForms do not support translucent windows on X11.

10 years ago[X11] Fix for issue #143
Stefanos A. [Sat, 19 Jul 2014 18:39:17 +0000 (20:39 +0200)]
[X11] Fix for issue #143

OpenTK will now use the same GLXFBConfig to create the INativeWindow
and IGraphicsContext on Linux/X11. This resolves an issue where OpenGL
3.x contexts could not be created on some graphics drivers (e.g.
nvidia binary.)

10 years ago[X11] Workaround for issue #146
thefiddler [Fri, 18 Jul 2014 15:16:27 +0000 (17:16 +0200)]
[X11] Workaround for issue #146

Windows are now unmapped before being destroyed.

10 years ago[X11] Fixed OnMouseMove being called without mouse movement
thefiddler [Fri, 18 Jul 2014 15:02:47 +0000 (17:02 +0200)]
[X11] Fixed OnMouseMove being called without mouse movement

10 years agoMerge pull request #151 from thefiddler/kms
thefiddler [Fri, 18 Jul 2014 11:39:59 +0000 (13:39 +0200)]
Merge pull request #151 from thefiddler/kms

[KMS] Implement Linux/KMS platform

10 years ago[Linux] Delay input device detection until a key is pressed
thefiddler [Fri, 18 Jul 2014 09:23:28 +0000 (11:23 +0200)]
[Linux] Delay input device detection until a key is pressed

10 years ago[Linux] Fixed OnMouseMove being called without movement
thefiddler [Fri, 18 Jul 2014 08:13:45 +0000 (10:13 +0200)]
[Linux] Fixed OnMouseMove being called without movement

10 years ago[Linux] Additional debugging info on shutdown
thefiddler [Fri, 18 Jul 2014 08:05:13 +0000 (10:05 +0200)]
[Linux] Additional debugging info on shutdown

10 years ago[KMS] Correctly restore crtc on exit.
thefiddler [Fri, 18 Jul 2014 08:04:57 +0000 (10:04 +0200)]
[KMS] Correctly restore crtc on exit.

10 years ago[Linux] Fixed minor typo
thefiddler [Fri, 18 Jul 2014 07:45:04 +0000 (09:45 +0200)]
[Linux] Fixed minor typo

10 years ago[Examples] Only use WinForms when supported.
thefiddler [Fri, 18 Jul 2014 07:44:47 +0000 (09:44 +0200)]
[Examples] Only use WinForms when supported.

10 years ago[Linux] Fixed CursorVisible=false behavior
thefiddler [Fri, 18 Jul 2014 07:22:12 +0000 (09:22 +0200)]
[Linux] Fixed CursorVisible=false behavior

10 years ago[Linux] Fixed X11 vs KMS detection
thefiddler [Fri, 18 Jul 2014 07:19:37 +0000 (09:19 +0200)]
[Linux] Fixed X11 vs KMS detection

10 years ago[Linux] Fixed compilation issue
thefiddler [Fri, 18 Jul 2014 07:05:46 +0000 (09:05 +0200)]
[Linux] Fixed compilation issue

10 years ago[Linux] Print libinput seat for each detected device
thefiddler [Fri, 18 Jul 2014 07:02:01 +0000 (09:02 +0200)]
[Linux] Print libinput seat for each detected device

10 years ago[KMS] VSync off causes a crash; force VSync on until fixed
thefiddler [Thu, 17 Jul 2014 09:59:38 +0000 (11:59 +0200)]
[KMS] VSync off causes a crash; force VSync on until fixed

VSync off leads to buffer starvation and a crash in
Egl.SwapBuffers. We need to understand why and fix that
before we can disable vsync.

10 years ago[KMS] Print device names when adding input devices
thefiddler [Thu, 17 Jul 2014 09:59:04 +0000 (11:59 +0200)]
[KMS] Print device names when adding input devices

10 years ago[Linux] Improved mouse cursor behavior
thefiddler [Thu, 17 Jul 2014 09:20:01 +0000 (11:20 +0200)]
[Linux] Improved mouse cursor behavior

10 years ago[Linux] Implemented CursorVisible
thefiddler [Thu, 17 Jul 2014 07:45:13 +0000 (09:45 +0200)]
[Linux] Implemented CursorVisible

10 years ago[Linux] Implemented MouseCursor
thefiddler [Thu, 17 Jul 2014 07:25:16 +0000 (09:25 +0200)]
[Linux] Implemented MouseCursor

10 years ago[KMS] Implemented INativeWindow.PointToClient/Screen
thefiddler [Wed, 16 Jul 2014 12:51:14 +0000 (14:51 +0200)]
[KMS] Implemented INativeWindow.PointToClient/Screen

10 years ago[Linux] Corrected values for mouse move and scroll events
thefiddler [Wed, 16 Jul 2014 12:25:55 +0000 (14:25 +0200)]
[Linux] Corrected values for mouse move and scroll events

10 years ago[Linux] Implemented INativeWindow keyboard/mouse events
thefiddler [Wed, 16 Jul 2014 10:18:24 +0000 (12:18 +0200)]
[Linux] Implemented INativeWindow keyboard/mouse events

The mouse cursor is now confined to the display bounds.

10 years ago[Linux] Fixed GameWindow.ClientSize values.
thefiddler [Wed, 16 Jul 2014 09:34:01 +0000 (11:34 +0200)]
[Linux] Fixed GameWindow.ClientSize values.

10 years ago[Linux] Implemented libinput IMouseDriver2
thefiddler [Wed, 16 Jul 2014 09:24:53 +0000 (11:24 +0200)]
[Linux] Implemented libinput IMouseDriver2

10 years ago[Input] MouseState position is now stored in floating point
thefiddler [Wed, 16 Jul 2014 09:23:23 +0000 (11:23 +0200)]
[Input] MouseState position is now stored in floating point

Several platforms provide subpixel accuracy for mouse position.
OpenTK can now take advantage of that.

10 years ago[Examples] Reverted mistaken change
thefiddler [Tue, 15 Jul 2014 21:32:57 +0000 (23:32 +0200)]
[Examples] Reverted mistaken change

10 years ago[Linux] Fixed keyboard polling
thefiddler [Tue, 15 Jul 2014 20:54:04 +0000 (22:54 +0200)]
[Linux] Fixed keyboard polling

10 years ago[Linux] Fixed poll() in libinput event loop
thefiddler [Tue, 15 Jul 2014 15:28:31 +0000 (17:28 +0200)]
[Linux] Fixed poll() in libinput event loop

10 years ago[Linux] Completed libinput keyboard driver implementation
thefiddler [Tue, 15 Jul 2014 07:09:11 +0000 (09:09 +0200)]
[Linux] Completed libinput keyboard driver implementation

10 years ago[Linux] Implemented libinput keyboard input
thefiddler [Mon, 14 Jul 2014 23:15:44 +0000 (23:15 +0000)]
[Linux] Implemented libinput keyboard input

10 years ago[Linux] Disabled TTY keyboard driver in favor of libinput
thefiddler [Mon, 14 Jul 2014 21:35:30 +0000 (21:35 +0000)]
[Linux] Disabled TTY keyboard driver in favor of libinput

The TTY keyboard driver requires a robust cleanup method to avoid
hogging the keyboard/console after the process exists. Without
this, it does not make sense to use enable this driver.

10 years ago[Linux] Improve checks for TTY
thefiddler [Mon, 14 Jul 2014 21:07:28 +0000 (21:07 +0000)]
[Linux] Improve checks for TTY

10 years ago[Linux] Implemented TTY and libinput keyboard drivers
thefiddler [Mon, 14 Jul 2014 15:42:17 +0000 (15:42 +0000)]
[Linux] Implemented TTY and libinput keyboard drivers

10 years ago[Linux] Added stub TTY and libinput IKeyboardDriver2
thefiddler [Thu, 26 Jun 2014 21:11:12 +0000 (23:11 +0200)]
[Linux] Added stub TTY and  libinput IKeyboardDriver2

10 years ago[KMS] Query GPUs lazily
thefiddler [Thu, 26 Jun 2014 20:52:17 +0000 (22:52 +0200)]
[KMS] Query GPUs lazily

10 years ago[KMS] Fixed Gbm.DestroyDevice entry point
thefiddler [Thu, 26 Jun 2014 19:51:01 +0000 (21:51 +0200)]
[KMS] Fixed Gbm.DestroyDevice entry point

10 years ago[KMS] Fixed NRE in Toolkit.Init(); improved resource cleanup
thefiddler [Thu, 26 Jun 2014 19:46:04 +0000 (21:46 +0200)]
[KMS] Fixed NRE in Toolkit.Init(); improved resource cleanup

10 years ago[KMS] Added DRM/GBM framebuffer implementation
thefiddler [Thu, 26 Jun 2014 13:40:00 +0000 (15:40 +0200)]
[KMS] Added DRM/GBM framebuffer implementation

10 years ago[ES][GL] Print name when loading bindings (debug only)
thefiddler [Thu, 26 Jun 2014 13:39:07 +0000 (15:39 +0200)]
[ES][GL] Print name when loading bindings (debug only)

10 years ago[EGL] Added support for desktop GL rendering
thefiddler [Wed, 25 Jun 2014 07:35:20 +0000 (09:35 +0200)]
[EGL] Added support for desktop GL rendering

On Linux, EGL can be used to initialize a desktop GL context.
This is especially true on KMS, Wayland and Mir.

10 years ago[EGL] Egl.GetError() now returns ErrorCode
thefiddler [Wed, 25 Jun 2014 07:17:20 +0000 (09:17 +0200)]
[EGL] Egl.GetError() now returns ErrorCode

10 years ago[KMS] Improved GBM surface format selection
thefiddler [Wed, 25 Jun 2014 07:11:47 +0000 (09:11 +0200)]
[KMS] Improved GBM surface format selection

10 years ago[KMS] Create window surface
thefiddler [Wed, 25 Jun 2014 07:01:35 +0000 (09:01 +0200)]
[KMS] Create window surface

10 years ago[KMS] Added new Linux KMS driver
thefiddler [Tue, 24 Jun 2014 17:27:38 +0000 (19:27 +0200)]
[KMS] Added new Linux KMS driver

10 years ago[KMS] Initial implementation
thefiddler [Mon, 23 Jun 2014 20:22:04 +0000 (22:22 +0200)]
[KMS] Initial implementation

10 years agoMerge pull request #149 from thefiddler/mac_stability
thefiddler [Tue, 15 Jul 2014 06:06:41 +0000 (06:06 +0000)]
Merge pull request #149 from thefiddler/mac_stability

[Mac] Improved stability for NSOpenGLPixelFormat

10 years ago[Mac] Improved stability for NSOpenGLPixelFormat
thefiddler [Mon, 14 Jul 2014 10:27:28 +0000 (12:27 +0200)]
[Mac] Improved stability for NSOpenGLPixelFormat

Non-accelerated contexts are now considered iff no accelerated contexts
are available. Additionally, a GraphicsException will be thrown if
context construction fails for any reason, instead of causing a runtime
crash.

10 years agoMerge pull request #147 from thefiddler/arrayfix
thefiddler [Mon, 7 Jul 2014 11:41:04 +0000 (13:41 +0200)]
Merge pull request #147 from thefiddler/arrayfix

[Rewrite] Refactored string prologue/epilogues

10 years ago[Rewrite] Refactored string prologue/epilogues
thefiddler [Mon, 7 Jul 2014 11:16:17 +0000 (13:16 +0200)]
[Rewrite] Refactored string prologue/epilogues

We currently have three categories of string parameters: `string`,
`string[]` and `StringBuilder`. (OpenTK 1.2 adds one more: `ref
string`.) Each category needs to be marshaled separately into a native
character array.

This commit implements the following changes:
- string[] epilogues are now correctly emitted, instead of being
ignored.
- string[] prologues and epilogues now use the same local variable name.
- all epilogues are now generated with a single pass over the function
parameters, instead of requiring a separate pass for each category.
- string prologues and epilogues now allocate local variables based on
the relevant parameter *name* rather than the parameter *type*.

Fixes issue #144.

10 years agoMerge pull request #145 from Frassle/throw
thefiddler [Mon, 23 Jun 2014 06:48:36 +0000 (08:48 +0200)]
Merge pull request #145 from Frassle/throw

Preserve stack trace in OutOfMemory exception

10 years agoChange to correct throw statement to preserve stack trace.
Fraser Waters [Sun, 22 Jun 2014 19:38:10 +0000 (20:38 +0100)]
Change to correct throw statement to preserve stack trace.

10 years ago[Docs] Updated readme for 1.1.3 release
thefiddler [Fri, 20 Jun 2014 09:36:16 +0000 (11:36 +0200)]
[Docs] Updated readme for 1.1.3 release

10 years agoMerge pull request #140 from thefiddler/glspecs_june2014
thefiddler [Fri, 20 Jun 2014 09:35:54 +0000 (11:35 +0200)]
Merge pull request #140 from thefiddler/glspecs_june2014

[ES][GL] Sync with June 2014 specification

10 years agoRevert "[Convert] Workaround for broken names with spaces"
thefiddler [Fri, 20 Jun 2014 07:27:04 +0000 (09:27 +0200)]
Revert "[Convert] Workaround for broken names with spaces"

This reverts commit 1e78e62b906fd5fa9f10501ffd0543d4f3e3dc8d.
The relevant issue has been fixed upstream by Khronos.

10 years agoMerge pull request #141 from Frassle/marshal
thefiddler [Fri, 20 Jun 2014 06:45:03 +0000 (08:45 +0200)]
Merge pull request #141 from Frassle/marshal

Fixes bugs in String marshalling.