Commit graph

6284 commits

Author SHA1 Message Date
thefiddler
17aa8051f6 Merge pull request #151 from thefiddler/kms
[KMS] Implement Linux/KMS platform
2014-07-18 13:39:59 +02:00
thefiddler
00b5174f63 [Linux] Delay input device detection until a key is pressed 2014-07-18 11:23:28 +02:00
thefiddler
07d496d181 [Linux] Fixed OnMouseMove being called without movement 2014-07-18 10:13:45 +02:00
thefiddler
a38e267156 [Linux] Additional debugging info on shutdown 2014-07-18 10:05:13 +02:00
thefiddler
51c05ea1a5 [KMS] Correctly restore crtc on exit. 2014-07-18 10:04:57 +02:00
thefiddler
91055336c0 [Linux] Fixed minor typo 2014-07-18 09:45:04 +02:00
thefiddler
b1a31c08cc [Examples] Only use WinForms when supported. 2014-07-18 09:44:47 +02:00
thefiddler
b23d06eb46 [Linux] Fixed CursorVisible=false behavior 2014-07-18 09:22:12 +02:00
thefiddler
a30ec9003b [Linux] Fixed X11 vs KMS detection 2014-07-18 09:19:37 +02:00
thefiddler
4aa2dcf5a3 [Linux] Fixed compilation issue 2014-07-18 09:05:46 +02:00
thefiddler
21bcc5eae1 [Linux] Print libinput seat for each detected device 2014-07-18 09:02:01 +02:00
thefiddler
20747664f4 [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.
2014-07-17 11:59:38 +02:00
thefiddler
4f037c882a [KMS] Print device names when adding input devices 2014-07-17 11:59:04 +02:00
thefiddler
36bb366638 [Linux] Improved mouse cursor behavior 2014-07-17 11:20:01 +02:00
thefiddler
fd6ff962a1 [Linux] Implemented CursorVisible 2014-07-17 09:45:13 +02:00
thefiddler
153522c0a4 [Linux] Implemented MouseCursor 2014-07-17 09:25:16 +02:00
thefiddler
015acba313 [KMS] Implemented INativeWindow.PointToClient/Screen 2014-07-16 14:51:14 +02:00
thefiddler
4c6bb7a38e [Linux] Corrected values for mouse move and scroll events 2014-07-16 14:28:28 +02:00
thefiddler
3881992bf7 [Linux] Implemented INativeWindow keyboard/mouse events
The mouse cursor is now confined to the display bounds.
2014-07-16 14:28:28 +02:00
thefiddler
e61b39a1a1 [Linux] Fixed GameWindow.ClientSize values. 2014-07-16 14:28:28 +02:00
thefiddler
bef4901659 [Linux] Implemented libinput IMouseDriver2 2014-07-16 14:28:27 +02:00
thefiddler
340d34b07b [Input] MouseState position is now stored in floating point
Several platforms provide subpixel accuracy for mouse position.
OpenTK can now take advantage of that.
2014-07-16 14:28:27 +02:00
thefiddler
c81833a201 [Examples] Reverted mistaken change 2014-07-16 14:28:27 +02:00
thefiddler
4406d2db0d [Linux] Fixed keyboard polling 2014-07-16 14:28:27 +02:00
thefiddler
468a8518cb [Linux] Fixed poll() in libinput event loop 2014-07-16 14:28:27 +02:00
thefiddler
67727d2e9b [Linux] Completed libinput keyboard driver implementation 2014-07-16 14:28:27 +02:00
thefiddler
c5abbe8030 [Linux] Implemented libinput keyboard input 2014-07-16 14:28:27 +02:00
thefiddler
4a53a5511a [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.
2014-07-16 14:28:27 +02:00
thefiddler
e7bd311fbd [Linux] Improve checks for TTY 2014-07-16 14:28:27 +02:00
thefiddler
9e73358dd7 [Linux] Implemented TTY and libinput keyboard drivers 2014-07-16 14:28:27 +02:00
thefiddler
97a539258b [Linux] Added stub TTY and libinput IKeyboardDriver2 2014-07-16 14:28:27 +02:00
thefiddler
9bc774f78c [KMS] Query GPUs lazily 2014-07-16 14:28:27 +02:00
thefiddler
69dbdb7d67 [KMS] Fixed Gbm.DestroyDevice entry point 2014-07-16 14:28:27 +02:00
thefiddler
452bafdbb1 [KMS] Fixed NRE in Toolkit.Init(); improved resource cleanup 2014-07-16 14:28:27 +02:00
thefiddler
753032b844 [KMS] Added DRM/GBM framebuffer implementation 2014-07-16 14:28:27 +02:00
thefiddler
19b34446bb [ES][GL] Print name when loading bindings (debug only) 2014-07-16 14:28:27 +02:00
thefiddler
d8adf92feb [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.
2014-07-16 14:28:27 +02:00
thefiddler
5da5ac0fa7 [EGL] Egl.GetError() now returns ErrorCode 2014-07-16 14:28:27 +02:00
thefiddler
f9d20b5e3e [KMS] Improved GBM surface format selection 2014-07-16 14:28:27 +02:00
thefiddler
6454822116 [KMS] Create window surface 2014-07-16 14:28:27 +02:00
thefiddler
6f6798de62 [KMS] Added new Linux KMS driver 2014-07-16 14:28:27 +02:00
thefiddler
c3451530a6 [KMS] Initial implementation 2014-07-16 14:28:27 +02:00
thefiddler
c1c6b4269b Merge pull request #149 from thefiddler/mac_stability
[Mac] Improved stability for NSOpenGLPixelFormat
2014-07-15 06:06:41 +00:00
thefiddler
32958ffcce [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.
2014-07-14 12:27:28 +02:00
thefiddler
022f74c814 Merge pull request #147 from thefiddler/arrayfix
[Rewrite] Refactored string prologue/epilogues
2014-07-07 13:41:04 +02:00
thefiddler
c32bf4ec5d [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.
2014-07-07 13:16:17 +02:00
thefiddler
c8a5bf5e32 Merge pull request #145 from Frassle/throw
Preserve stack trace in OutOfMemory exception
2014-06-23 08:48:36 +02:00
Fraser Waters
6dda84dc77 Change to correct throw statement to preserve stack trace. 2014-06-22 20:40:15 +01:00
thefiddler
381c34da0b [Docs] Updated readme for 1.1.3 release 2014-06-20 11:37:06 +02:00
thefiddler
cb861446ab Merge pull request #140 from thefiddler/glspecs_june2014
[ES][GL] Sync with June 2014 specification
2014-06-20 11:35:54 +02:00