thefiddler
63dd4597c7
[GL][ES] Mark DebugProc* delegates as unmanaged function pointers
...
Calling convention is platform-dependent: stdcall on Windows, cdecl
elsewhere. This maps to CallingConvention.Winapi in .Net parlance.
2014-02-06 15:01:22 +01:00
Stefanos A
78acd27c4c
Updated OpenGL documentation to Khronos r24522
2013-12-15 22:32:32 +01:00
Stefanos A
aeb7a72d79
Eliminated CLS-compliance warnings in the bindings
2013-12-15 22:01:45 +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
dfd683ef49
Merge master into no-reflect
2013-12-15 16:36:37 +01:00
Stefanos A
e59405dab3
Implemented manual marshaling of string parameters
2013-12-04 22:32:56 +01:00
Stefanos A
e2801c8c6c
Convert string[] callsites to IntPtr
...
This fixes the signature mismatch between the new marshaling code and
the callsites.
2013-12-04 21:22:33 +01:00
Stefanos A
406de0b846
Regenerated bindings
2013-12-03 09:10:45 +01:00
Stefanos A
438f83c8d9
Mark slots with [DllImport]; remove "core" and "delegates" generation
...
We should be able to use static pinvokes on platforms that do not
provide or require extensions and calli instructions on platforms with
extension APIs. This dinstiction will be implemented as a parameter in
the rewriter.
2013-12-01 21:17:15 +01:00
Stefanos A
d6bf7c0d78
Regenerated bindings
2013-12-01 18:28:25 +01:00
Stefanos A
da4de365e8
Regenerated bindings
2013-11-27 00:03:21 +01:00
Stefanos A
40f992b5bd
Rewrite support for [Slot] attribute
2013-11-26 01:31:10 +01:00
Stefanos A.
74159da199
Regenerated bindings
2013-11-25 00:19:18 +01:00
Stefanos A.
811b04e880
Regenerated bindings with new loading mechanism
2013-11-24 13:58:54 +01:00
Stefanos A.
fec958c8dc
Hooked up new loading mechanism
2013-11-24 13:58:30 +01:00
Stefanos A.
1e71ca9122
Removed delegates and DllImports
2013-11-24 13:56:35 +01:00
Stefanos A
8ee2152709
Moved delegate loaders to the Delegates class
2013-11-23 17:23:26 +01:00
Stefanos A
03a26ed12f
Regenerated bindings with lazy loading
2013-11-22 20:07:01 +01:00
Stefanos A
2ace001203
Implemented direct binding loading
...
OpenTK normally uses reflection to load bindings, instead of generating
huge constructors. Although reflection is faster on first load (thanks
to reduced JIT overhead), it fails to work correctly with monolinker.
This branch explores the performance of a direct binding.
2013-11-22 17:32:17 +01:00
Stefanos A
02120f429f
Do not trim 's' from Groups
2013-11-20 08:16:06 +01:00
Stefanos A
01d40c551a
Aligned FBO API with desktop OpenGL
2013-11-17 23:57:38 +01:00
Stefanos A
358bcd4f88
Regenerated bindings
2013-11-17 01:49:10 +01:00
Stefanos A
f9deeaead7
Improved compatibility with OpenTK 1.0
...
Added overloads for enumerations with name changes. Reduced differences
between ES and GL APIs.
2013-11-15 01:59:50 +01:00
Stefanos A
431202d830
Corrected convenience wrappers for Get* and Delete*
...
GetBoolean, GetInteger6, GetFixedvOES and Delete* are now matched in
the convenience wrapper generator. Methods returning vectors of fixed
size (e.g. 4 ints) are no longer matched.
2013-11-14 17:40:06 +01:00
Stefanos A
4fd6347de7
Mark untyped overloads as obsolete
2013-11-14 14:10:19 +01:00
thefiddler
8360b7a2ba
Generate overloads without strong enums for 1.0 compat
...
OpenTK 1.0 and Xamarin Android/iOS do not use strongly-typed enums for
OpenGL ES. Generate overloads with the "All" enum in order to maintain
compatibility.
2013-11-11 10:03:24 +01:00
Stefanos A.
c66b22a1f3
Updated convenience overloads
2013-11-10 19:04:18 +01:00
Stefanos A.
8003d06315
Move convenience overloads to generator
...
The generator now handles the creation of convenience overloads. These
must be removed from the helper classes to avoid redefinition errors.
2013-11-10 15:36:53 +01:00
Stefanos A.
11c1071625
Corrected declarations in convenience overloads
2013-11-10 10:08:04 +01:00
Stefanos A.
089c108ea0
Corrected indentation
2013-11-10 09:20:54 +01:00
Stefanos A.
5aad11f6ee
Generate bindings for testing (WIP2)
2013-11-10 09:18:15 +01:00
Stefanos A.
06ad3bf1dc
Generate bindings for testing (WIP)
2013-11-10 09:14:30 +01:00
Stefanos A
b6610001ea
Merged ES 2.0 extension tokens to ES 3.0
...
By adding ES 2.0 extensions tokens to ES 3.0, we have a very
straightforward update path to move an application from the older API
to the newer.
2013-11-07 16:54:39 +01:00
Stefanos A
7c54a19708
ES 3.0 fixed enums for GetIntegeri_v and GetInteger64i_v
...
These functions have a first parameter named "target", not "pname".
Fixed now.
2013-11-07 10:58:02 +01:00
Stefanos A
e59c95f2f9
ES 3.0 fixed enums for GetInteger64*
...
GetInteger64v should accept GetPName, while GetInteger64i_v should
accept GetIndexedPName.
2013-11-07 10:39:20 +01:00
Stefanos A
8de24c97fb
ES 3.0 strong enums for DrawBuffersEXT and NV
...
Relax the extension constraint in DrawBuffers, in order to add strong
enums to the extension varieties of this function.
2013-11-07 10:33:02 +01:00
Stefanos A
2d1df46d98
ES 3.0 strong enums for DrawArrays*() and Draw*Elements*()
...
The strongly-typed enums include core and extension varieties.
2013-11-07 10:17:33 +01:00
Stefanos A
0002b2e23e
Fixed typo in ES3Generator.cs
...
The DllImports file should be named ES30Core.cs, not ES3Core.cs. Fixed
now.
2013-11-07 10:09:17 +01:00
Stefanos A
0f98f0e00b
Fixed misspelled and missing enums
2013-11-07 09:47:27 +01:00
Stefanos A
93b8d4b86e
Fixed enums for (Get)ObjectLabel
...
ObjectLabel and GetObjectLabel are part of KHR_debug.
2013-11-07 09:34:48 +01:00
Stefanos A
de38df8820
Fixed strong-enums for GetDebugMessageLog
...
GetDebugMessageLog is part of KHR_debug.
2013-11-07 08:36:23 +01:00
Stefanos A
a2f2ab29ea
Fixes for ES 3.0 strongly-typed enums
...
Fixed parameter mismatches in CopyBufferSubData and BlendFuncSeparate.
Implemented KHR_debug extension.
2013-11-07 08:33:17 +01:00
Stefanos A
2b4d10ffd7
Strongly-typed enums for ES 3.0 (complete)
...
Implemented sectiosn: Pixel Rectangles. Binding & Managing Framebuffer
Objects, Renderbuffer Objects, Attaching Renderbuffer Images to
Framebuffer, Attaching Texture Images to Framebuffer, Framebuffer
Completeness, Invaildating Framebuffer Contents, Renderbuffer Object
Queries, Simple Queries, String Queries.
2013-11-07 08:14:49 +01:00
Stefanos A
1a02457ddc
Strongly-typed enums for ES 3.0 (WIP8)
...
Implemented sections: Hints and Sync Object Quries.
Renamed SyncParameter to SyncParameterName, as per the OpenGL naming
conventions.
2013-11-05 10:23:25 +01:00
Stefanos A
167c97dd84
Strongly-typed enums for ES 3.0 (WIP7)
...
Implemented section: Sync Objects and Fences [5.2].
Fixed desktop OpenGL wrapper for ClientWaitSync and FenceSync.
2013-11-05 09:53:34 +01:00
Stefanos A
ad1755f58e
Moved overload to overrides.xml
...
Overloads for backwards compatibility should now be placed in an
<overload> element inside overrides.xml.
2013-11-05 09:44:20 +01:00
Stefanos A
2511cb1086
Implemented support for <overload> element
...
The <overload> element simplifies the addition of overloads for
backwards compatibility. It is defined similar to the <replace>
element, but instead of replacing the parameters of a function
in-place, it adds a new overload and modifies the overload instead.
2013-11-05 08:55:52 +01:00
Stefanos A
25b9939263
Strongly-typed enums for ES 3.0 (WIP6)
...
Implemented strongly-typed enums for sections: Selecting a Buffer for
Writing, Fine Control of Buffer Updates, Clearing the Buffers.
2013-11-04 23:25:02 +01:00
Stefanos A
372dac9c48
Strongly-typed enums for ES 3.0 (WIP5)
...
Implemented sections: Stencil Test, Depth Buffer Test, Blending.
2013-11-04 23:01:25 +01:00
Stefanos A
dcd2d03e59
Strongly-typed enums for ES 3.0 (WIP4)
...
Implemented sections: Texture Image Specification, Alternative Texture
Image Specification, Compressed Texture Images, Texture Parameters,
Manual Mipmap Generation and Enumerated Queries.
2013-11-04 22:27:06 +01:00