eglGetProcAddress cannot be used to retrieve
entry points of core functions. Instead, we
use [DllImport] for core functions and function
pointers for extension functions.
Squashed commit of the following:
commit 0b84aa6ef78dfa3600b81fc412eb192f2a87e40c
Author: thefiddler <stapostol@gmail.com>
Date: Sat Mar 15 02:24:58 2014 +0100
[Examples] Rolled back changes to Example browser
commit 1acfbaac3d17184debdbbe872c58ac07d1b37c0a
Author: thefiddler <stapostol@gmail.com>
Date: Sat Mar 15 02:20:57 2014 +0100
[Examples] Rolled back WinForms example
commit 835d9d6035a890bd3426566929fbfd25c493eca0
Author: thefiddler <stapostol@gmail.com>
Date: Sat Mar 15 01:15:01 2014 +0100
[Examples] Rolled back erroneous GLControl mods
commit 056418014f0e835e83fb85b54b8749519a555364
Author: thefiddler <stapostol@gmail.com>
Date: Fri Mar 14 23:11:11 2014 +0100
[Rewrite] Remove calli prototypes
When a function is called indirectly via a function pointer, its
prototype is not required (the prototype is added as a callsite at the
calli invocation.) Removing these prototypes reduces binary size by
roughly 400KB.
commit 353a16ec2836c597150d2fab28581e7c264b2b39
Author: thefiddler <stapostol@gmail.com>
Date: Fri Mar 14 22:31:25 2014 +0100
[Rewrite] Call DllImports directly
When a function does not have an allocated slot (i.e. slot = -1), then
we will call its DllImport signature directly.
commit 9a5313e4b7afb10b698d255e4b5637887bf71cf3
Author: thefiddler <stapostol@gmail.com>
Date: Fri Mar 14 22:30:04 2014 +0100
[Bind] Do not allocate slots for DllImports
commit 6ac5342409363cac0e59f9dc669948b319bd20a9
Author: thefiddler <stapostol@gmail.com>
Date: Fri Mar 14 22:29:07 2014 +0100
[Bind] Added option to use DllImports
This is necessary for the core functionality of OpenGL ES, where
eglGetProcAddress returns null or garbage (the latter on Android.)
Instead of inheriting and overriding StreamWriter methods, it now
forwards its parameters to an internal StreamWriter, after applying the
necessary formatting changes.
This shields us from the StreamWriter implementation differences
between .Net and Mono.
This patch makes the following code work as expected:
```csharp
var gw = new GameWindow();
gw.TargetRenderFrequency = 60;
gw.Run();
```
Fixes issue #69
IGraphicsContext.VSync property is obsolete, but we have to call it in
the GraphicsContext.VSync implementation, so disable the obsolete
warning for this one use.
Wrap new generated binding calls with using ErrorHelper. Sets up a try
to call the method in and a finally block to call Dispose on the
ErrorHelper. Currently hardcoded to only work for the graphics modules.
commit db75670cb94a61b78e4e096f995fab6d5349978a
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 23:26:49 2014 +0100
[Build] Build both debug and release configurations
commit 2a4a1dbc19d7ef2e12d3f4bb63b0e29b108e5050
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 23:20:51 2014 +0100
[Build] Invoke xbuild once now that build order is fixed
commit 63b724d70e6b969dee11a740e5ac50e343cdcc48
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 23:19:23 2014 +0100
[Build] Maintain support for VS2012
commit d9aed1173373625d583b462bd8e0cad373246412
Author: Stefanos A <stapostol@gmail.com>
Date: Mon Feb 24 23:16:57 2014 +0100
[Build] Attempt to fix xbuild build order
Squashed commit of the following:
commit 15ec03cd3f5f09ed88c51b62393fd6fa3476b03a
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 15:53:18 2014 +0100
[Build] Fixed missing '' typo
commit 9e3dcad6124db52ec9035a8e6126244d9c856bfd
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 15:27:07 2014 +0100
[Build] Install mono either from pwd or from mounted /Volume
commit b7303b68eaf3f4867e73a89fd22bd11caecf4f38
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 15:21:40 2014 +0100
[Build] Do not stop build when wget fails
The build stops iff no valid mono framework can be installed
commit 875c23294e6adc5061589576c6eabd43894ae9dd
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 15:13:08 2014 +0100
[Build] Fix 3.2.x and 2.10.x mono download urls
commit 7bcbc789ce89cd16e06d5a62b05dd249432fcba0
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 11:58:57 2014 +0100
[Build] Use .pkg file for mono installation on Travis
commit 60fef5aa7db9929c99ef22a778c87f634bcba266
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 11:43:12 2014 +0100
[Build] Detect *.yml as text files
commit 7fb42856f187cb0503494523d2e524df8bda1cbc
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 11:40:07 2014 +0100
[Build] Move first xbuild run to pre-build scripts
commit e1cfcf76202ba82d196cc6dceabb25c93c24ef87
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 11:38:19 2014 +0100
[Build] Fixed mono 3.2.6 download url
commit c6941844353b53a7e8fb614565243ffbc31679d7
Author: thefiddler <stapostol@gmail.com>
Date: Mon Feb 24 11:32:16 2014 +0100
[Build] Run xbuild twice for GlobalAssemblyInfo.cs
This works around an issue in xbuild, where pre-build events
are not resolved correctly. The first run generates
GlobalAssemblyInfo.cs; the second run actually builds the project