Skip to content


Subversion checkout URL

You can clone with
Download ZIP


1.2.0-alpha1 - do not merge #142

wants to merge 2,988 commits into from

4 participants


This PR synchronizes OpenTK with the Xamarin version ( The result is fully functional, but requires some additional work regarding API compatibility. This PR is created now to ensure testing by the CI server.

New features:

  • Support for Xamarin.Android
  • Support for Xamarin.iOS
  • OpenGL ES bindings for Android, iOS, ANGLE and Linux are now generated from the Khronos xml registry. This resolves all const-correctness issues (differing ref/out parameters).
  • OpenCL bindings for versions 1.0, 1.1, 1.2 and 2.0
  • The binding generator can now generate structures with fields, static methods and extension methods. This functionality is currently used in the OpenCL and Wayland bindings. There is a good chance that it will also be used for OpenGL 5.0, whenever that is released.
  • The binding generator can now cope with more mathml constructs. This translates into better documentation for OpenGL, OpenGL ES and OpenCL.

Known issues:

  • The ABI must be bumped to 1.2.
  • Only a subset of the OpenTK API is supported on Android and iOS. This will be improved in the future.
  • A number of OpenGL ES enumerations are present in downstream headers but missing from the Khronos registry. These enumerations are not actually used by any OpenGL ES function, but they must still be added to maintain backwards compatibility.
  • [done] OpenGL ES tokens starting with a number are translated differently from mono/opentk. This affects exactly 2 tokens (3dfx_*) and should be fixed before merging.
  • OpenCL should not use bindings with unsafe pointers. This is because OpenCL often requires null parameters, which cause conflicts between array and pointer parameters.
  • We still need OpenCL examples:
    • Buffers
    • Texture samplers
    • Synchronization
    • Events
  • We still need Android and iOS examples.
thefiddler and others added some commits
@thefiddler thefiddler Fix compilation errors 356c80a
@thefiddler thefiddler Added Build.UpdateVersion and Generator.Rewrite projects 4f6a019
@thefiddler thefiddler [Android] Added ES11 sample 2ae9966
@thefiddler thefiddler [ES11] Maintain compatibility with Xamarin.Android
Compatibility verified through apitest.

A single incompatible change remains: GL.GetError() now returns
ErrorCode instead of All.
@thefiddler thefiddler System.Drawing.Color is now available on Android/iPhone 4d60534
@thefiddler thefiddler [ES20] Maintain compatibility with Xamarin.Android
Compatibility verified with apitest.

Incompatible changes: GetError() returns ErrorCode and
GetFramebufferStatus() returns FramebufferErrorCode instead
of All.
@thefiddler thefiddler [ES30] Maintain compatibility with Xamarin.Android
Compatibility verified with apitest.

- GetActiveUniforms has ref not out parameter
- GetError returns ErrorCode not All
- GetFramebufferStatus returns FramebufferErrorCode not All
@thefiddler thefiddler [Projects] Removed unused file. a582b3c
@thefiddler thefiddler [ES30] Maintain compatibility with Xamarin.iOS
Compatibility testing in progress.
@thefiddler thefiddler [iOS] Fixed compilation 77ef201
@thefiddler thefiddler Removed corrupt project settings a13d121
@thefiddler thefiddler [Android] Improve ES11 sample deployment
This sample can now be deployed on older devices.
@thefiddler thefiddler [iOS] Added iOS project platform c000b7c
@thefiddler thefiddler [ES11] Removed unused files ee82e3c
@thefiddler thefiddler [ES20] Removed unused files cd81cda
@thefiddler thefiddler [Rewrite] Don't try to resolve every assembly
We only need to resolve mscorlib. This fixes issues when rewriting the
iOS build.
@thefiddler thefiddler [iOS] Initialize the correct IPlatformFactory 052b830
@thefiddler thefiddler [iOS] Implement extension loading 98a7ce7
@thefiddler thefiddler [Graphics] Disable validity checks on iOS f16d649
@thefiddler thefiddler [iOS] Removed unused EGL platform
iOS uses EAGL instead.
@thefiddler thefiddler [iOS] Added ES11 sample 83d150b
@thefiddler thefiddler [Android] Load ES entry points 1021fc2
@thefiddler thefiddler Removed SDL2 projects from workspace
The SDL2 projects are completely experimental and should not normally
be used.
@thefiddler thefiddler [iOS] Fixed xml documentation generation 6b85ce4
@thefiddler thefiddler [iOS] Reduce size of release-mode bundle f3393ed
@thefiddler thefiddler [Bind] Add Android/iOS generation settings
In order to reduce the binary size, a new option “ForceDllImport” has
been added for iOS builds. This suppress the generation of entry point
slots, in favor of DllImports.

Android now uses “UseDllImport” by default. This suppress the
generation of entry point slots for core functions, and keeps slots
only for extension functions.
@thefiddler thefiddler [iOS] Rename to OpenTK.dll
This simplifies the deployment of OpenTK.dll.config
@thefiddler thefiddler Merged updates from mono/opentk 75dea1a
@thefiddler thefiddler [Android] Fixed release build 1e65349
@thefiddler thefiddler [iOS] Added Build.UpdateVersion project 6206135
@thefiddler thefiddler [iOS] Fixed build order 4437f14
@thefiddler thefiddler [iOS] Maintain compatibility with Xamarin.iOS
Compatibility tested with apitest.
@thefiddler thefiddler [iOS] Maintain compatibility with Xamarin.iOS
Compatibility tested with apitest.

Remaining differences (ref -> out parameters):
- GetBoolean
- GetBufferParameter
- GetFloat
- GetFramebufferAttachmentParameter
- GetInteger
- GetProgram
- GetRenderbufferParameter
- GetShader
- GetShaderPrecisionFormat
- GetTexParameter
- GetVertexAttrib
@thefiddler thefiddler [Android] Corrected GetCurrentContext()
EGLContext.Handle returns the handle of the JNI object, not the handle
of the native EGL context. This means that different ContextHandles are
returned for the same EGL context.

According to the EGLContext documentation, GetHashCode() has the
expected behavior - the same hash code is always returned for the same
EGL context.
@thefiddler thefiddler [Android] Fixed extension loading and Context
OpenGL ES entry points are now loaded correctly according to the
Android / EGL documentation: static exports are loaded through dlsym,
whereas dynamic exports (extensions) are loaded through

Additionally, the Context property has been updated to return
consistent results with AndroidFactory.CreateGetCurrentContext().
@thefiddler thefiddler [Android] Fixed compilation issue 0b4f82e
@thefiddler thefiddler [Android] Initialize AndroidFactory
When running on Android, we now initialize the correct AndroidFactory
IPlatformFactory instance.
@thefiddler thefiddler [Android] Route GraphicsContext through facade
The AndroidGraphicsContext is now constructed through the
GraphicsContext facade. This ensures our internal housekeeping remains
consistent and fixes an issue where GraphicsContext.CurrentContext
returns null, causing extension loading to fail.

Additionally, this contains a fix for
@thefiddler thefiddler [ES] Align ES and GL RenderbufferStorage versions
Both versions of RenderbufferStorage now accept a RenderbufferStorage
enum as internal format. ES overloads where added to remain compatible
with the RenderbufferInternalFormat enum.
@thefiddler thefiddler Regenerated bindings cfa8234
@thefiddler thefiddler [Android] Fix compilation issues
The resulting dll is now named OpenTK-1.1.dll to avoid issue

The library now uses OPENTK_1_1 #define to distinguish itself from
previous versions. Avoids issue:

Unix DL bindings are now included (dlopen, dlsym, etc…), in order to
support extension loading on Android.
@thefiddler thefiddler [Examples] Update to OpenTK-1.1 bindings cea328d
@thefiddler thefiddler [Bind] Add support for OpenCL 2.0 f07db10
@thefiddler thefiddler [Bind] Add OpenCL 2.0 specifications e284e1e
@thefiddler thefiddler [Bind] Ensure core functions in "Core" extension 26f1262
@thefiddler thefiddler [iOS] Add missing enums for Xamarin.iOS compat d83b5c1
@thefiddler thefiddler [Bind] Allow overriding of pointer level 5bfce4e
@thefiddler thefiddler [Bind] Add OpenCL typemap d7b77ea
@thefiddler thefiddler [Bind] Correct OpenCL callbacks and enums 7427e68
@thefiddler thefiddler [CL] Use DllImports for core functions c21b8ab
@radekdoulik radekdoulik change order of looking override func name
 - use delegate name first
 - this fixes issues with named like GetInteger64i_v
   where it found wrong delegate
@radekdoulik radekdoulik added delegates with strongly typed enums (ES30.Android)
 - add the new delegates
 - added new enums where needed
 - keep old ones in ES.Obsolete.cs
 - regenerated ES30.Android bindings
@thefiddler thefiddler [Bind] Cleaned up default paths
Typemap files ( etc) are typically common for all binding
@thefiddler thefiddler [Bind] Support multiple generators 8bbaa3d
@thefiddler thefiddler [Bind] CLGenerator now respects output path 46107b1
@thefiddler thefiddler [Bind] Correct CLGenerator output path 53d01f4
@thefiddler thefiddler [Bind] CL spec cleanup c157d5a
@thefiddler thefiddler [CL] Generated bindings 81be9aa
@thefiddler thefiddler [CL] Added strongly-type opaque structs d265a77
@thefiddler thefiddler [Bind] Regenerated bindings fe6e021
@thefiddler thefiddler [Bind] Allow the suppression of unsigned overloads 4c2e3f9
@thefiddler thefiddler [CL] Simplified the OpenCL bindings
Removed unsigned overloads. Callback functions now only have an IntPtr
overload (you cannot pass a generic directly through unmanaged code.)
@thefiddler thefiddler [CL] Continuation of previous commit 275a564
@thefiddler thefiddler [Bind] Added preliminary implementation of classes
Classes contain a collection of extension methods to simplify usage of
an API. This primarily meant for OpenCL, which is type-safe. WIP.
@thefiddler thefiddler [Bind] Added class generation to CSharpSpecWriter 6671d82
@thefiddler thefiddler Fixed dllmap for OpenCL cf12fc5
@thefiddler thefiddler [CL] Initial support for ref string parameters aa65918
@thefiddler thefiddler [CL] Renamed ErrorCodes to ErrorCode
Also added count=1 to ErrorCode out parameters
@thefiddler thefiddler [CL] Renamed ContextHandle to ComputeContextHandle
This allows us to use extension function helpers.
@thefiddler thefiddler [CL] Regenerated bindings b363d01
@thefiddler thefiddler Allow use of extension functions on .Net 2.0 3d22ef9
@thefiddler thefiddler Added simple CL12 sample (WIP) 1a005ce
@thefiddler thefiddler [Bind] Fixed an infinite recursion issue 701511e
@thefiddler thefiddler [CL] Regenerated bindings d00bea8
@thefiddler thefiddler [CL] Regenerated bindings 0b299aa
@thefiddler thefiddler [Rewrite] Implemented string references 3964800
@thefiddler thefiddler [CL] Removed incorrect files e28fe61
@thefiddler thefiddler [CL] Use the correct version of signatures.xml 2428fed
@thefiddler thefiddler [BInd] Don't remove 's' from Kernels 35ba793
@thefiddler thefiddler [CL] Fixed CreateKernel signature 15db60a
@thefiddler thefiddler [CL] Fixed CreateContext signature 82be8a1
@thefiddler thefiddler [CL] Regenerated bindings 90bff99
@thefiddler thefiddler [CL] Added Zero field 49696ce
@thefiddler thefiddler [CL] Fixed more broken signatures 378c5fe
@thefiddler thefiddler [Bind] Fixed Enum.Type overriding befdb50
@thefiddler thefiddler [Rewrite] Fixed ref string parameters 95b252e
@thefiddler thefiddler [CL] Regenerated bindings aedb6cf
@thefiddler thefiddler [CL] Added ComputePlatform-to-IntPtr conversion bed00b2
@thefiddler thefiddler [CL] More OpenCL function definition fixes 48fd4ac
@thefiddler thefiddler [Bind] Don't add duplicate category documentation
If a function category is equal to its version, only display this
information once in the documentation. Avoids comments such as:
“[requires 1.0 or 1.0]”.
@radekdoulik radekdoulik added delegates with strongly typed enums (ES30.iPhoneOS)
 - add the new delegates
 - added new enums where needed
 - keep old ones in ES.Obsolete.cs
 - regenerated ES30.iPhoneOS bindings
@spouliot spouliot Fix delegate signatures when using NSTimer (avoid obsolete methods) 9b4411f
@spouliot spouliot fixed typo, introduced during simplifying the original patch 7d5f779
@thefiddler thefiddler [Bind] Type system refactoring (WIP) ad6d332
@thefiddler thefiddler [Bind] Use composition for Parameter.Type 376e522
@thefiddler thefiddler [Bind] Fixed Parameter.IComparable implementation 547e186
@thefiddler thefiddler [Bind] Correct translation of enum overrides 3c90d1e
@thefiddler thefiddler [OpenTK] Added SizeOf helper (total array bytes) 3fba2cb
@thefiddler thefiddler [OpenTK] Extension methods for BlittableValueType
BlittableValueType<T> is not discoverable. You can now access its
functionality in a simpler fashion, as follows:

using OpenTK.Extensions;
struct Foo { … }

var foo = new Foo();
var size = foo.Size();
@thefiddler thefiddler [CL] Removed ComputeMemory-IntPtr conversion
This conversion does not make sense, as there is no API that can make
use of it.
@thefiddler thefiddler [Bind] All CL bindings now use CL10 folder
OpenCL 1.0, 1.1, 1.2 and 2.0 share most functions. We now use a single
signatures.xml for the common functions (1.0) and add the rest manually
through overrides.xml.

This reduces the maintenance burden significantly.
@thefiddler thefiddler [Bind] Significant updates to the CL 1.0-2.0 b4fa760
@thefiddler thefiddler [Bind] Use v2 signatures for OpenCL
This enables the use of separate apiversions in overrides.xml
@thefiddler thefiddler [CL] Regenerated bindings ebb8fca
@thefiddler thefiddler [CL] Regenerated bindings 2e8c7fe
@thefiddler thefiddler [Examples] Completed the CL12.Simple example 8ec4c12
@spouliot spouliot Using yet a different fix for XAMCORE_2_0 to avoid NSTimer compile-ti…
…me issue with anonymous delegates (ref: bug #20118)
@thefiddler thefiddler [Bind] Fixed OpenGL type map path 2ff793e
@thefiddler thefiddler [Bind] Added OpenCL generators 7c0a0fe
@thefiddler thefiddler [GL] Added OpenCL typemaps
OpenGL offers OpenCL-interop functions, which depend on the OpenCL type
@thefiddler thefiddler [Bind] Improve performance
SortedDictionary offers worse insert performance characteristics than
Dictionary. It is faster to use a plain Dictionary and sort the results
once in the end, in the ISpecWriter implementation.
@thefiddler thefiddler [Bind] Allow duplicate entries in a type map
Later entries will override earlier entries. A message will be printed
in this case.
@thefiddler thefiddler [Bind] Make Type clone constructor public again
We need this when upcasting Enum parameters to regular Type, when
overriding function parameters.
@thefiddler thefiddler [Bind] Ensure stable ordering of Enums 1fe01a9
@thefiddler thefiddler [Bind] Translate replacement Enum names 6b9121e
@thefiddler thefiddler [Bind] Ensure stable ordering of bound functions 2727640
@thefiddler thefiddler [Bind] Fix Enum->Type parameter translation
The FuncProcessor can now correctly replace Enum parameters by non-Enum
@thefiddler thefiddler [CL] Use correct type for CommandQueueFlags dca54c0
@thefiddler thefiddler [Bind] Removed stale code and set classes file 3cc6da3
@thefiddler thefiddler [Bind] Fixed classes file for GL2 Generator ac47c33
@thefiddler thefiddler [Bind] Fixed namespace for Enum->Type replacement
The namespace of the resulting Type is now taken from the replacement
parameter, not from the original one.
@thefiddler thefiddler [Bind] Removed stale code b32eed2
@thefiddler thefiddler [Bind] Constrain collection element types
This avoids runtime exceptions.
@thefiddler thefiddler [Bind] Inherit from GenericCollection
This reduces duplicated code.
@thefiddler thefiddler [Bind] Maintain stable ordering of methods
By replacing SortedDictionary by Dictionary in GenericCollection, the
ISpecWriter is now responsible for maintaining the ordering of the
generated bindings.
@thefiddler thefiddler [Bind] Disabled Android and iOS ES bindings
Android and iOS are currently using the same bindings as desktop ES
(i.e. ANGLE or Linux OpenGL ES drivers). The cost vs benefit of
customized bindings is currently under review.
@thefiddler thefiddler [Bind] Allow qualified paths in typemap 4993faa
@thefiddler thefiddler [GL][ES] Use new ref string bindings e81dda4
@thefiddler thefiddler [GL] Use qualified paths for OpenCL interop types 6ac1605
@thefiddler thefiddler [GL] Use correct OpenCL structure a4ca957
@thefiddler thefiddler [CL] Added missing 1.1 enum da9a33c
@thefiddler thefiddler [CL] Disabled unused typemaps c4c47db
@thefiddler thefiddler Regenerated bindings e308607
@thefiddler thefiddler Regenerated bindings 42ecee3
@thefiddler thefiddler [Bind] Use -mode:all by default 210d498
@thefiddler thefiddler [Bind] Print entry point names as comments 927cb15
@thefiddler thefiddler [ES][GL] Regenerated bindings e8abe05
@thefiddler thefiddler [Bind] Sort core functions before extensions
Core functions are used more often than extensions. By grouping all
core functions to the front of the address table, and all extensions by
their extension category, we improve the chances of a cache hit.
@thefiddler thefiddler [ES][GL] Regenerated bindings 761d59b
@thefiddler thefiddler [Bind] Fix documentation warning on mcs compiler 63ef5dd
@thefiddler thefiddler [Bind] Escape xml characters in comments 0692617
@thefiddler thefiddler [CL] Regenerated bindings ab648e0
@thefiddler thefiddler [Bind] Implemented NoUnsignedOverloads setting
This setting disables the generation of non-CLSCompliant unsigned
overloads, and results in significantly fewer wrapper functions.

This setting is enabled by default for OpenCL.
@thefiddler thefiddler [CL] Regenerated bindings fbe9d6a
@thefiddler thefiddler [ES][GL] Documented DebugProc callbacks d3aef32
@thefiddler thefiddler [Math] Added missing doc comment 036d184
@thefiddler thefiddler Removed unused file 6bae1c0
@thefiddler thefiddler Removed unused filie 6692fa0
@thefiddler thefiddler [Compat] Removed unused documentation xml file 69f0df8
@thefiddler thefiddler [Bind] Corrected line endings 7226d3c
@thefiddler thefiddler [CL] Corrected the signature for CreateContext* 743059c
@thefiddler thefiddler [CL] Regenerated bindings b58189f
@thefiddler thefiddler [CL] Added helper overloads for CreateContext* 062f0ec
@thefiddler thefiddler [Examples] Added Sample.CL12.Simple e031027
@thefiddler thefiddler [Examples] Use CreateContext helper overload 5432c87
@thefiddler thefiddler [Bind] Added support for fields in classes 652e2a8
@thefiddler thefiddler [CL] All classes are now generated automatically
This reduces the amount of manual work steeply.
@thefiddler thefiddler [CL][GL] Disentangled types 9711d92
@thefiddler thefiddler [CL] Added helper functions cef8e66
@thefiddler thefiddler [CL][GL] Regenerated bindings 83b641f
@thefiddler thefiddler [CL] Removed unused code 077d1c4
@thefiddler thefiddler [CL] Fixed helper function signatures 810ee05
@thefiddler thefiddler [Bind] Fixed static method output 733439c
@thefiddler thefiddler [CL] Regenerated bindings 3116be5
@thefiddler thefiddler [CL] Moved ComputeContext helpers to that class 4014e8d
@thefiddler thefiddler [CL] Added ComputePlatform.GetDeviceIDs extension b7c8519
@thefiddler thefiddler [CL] Regenerated bindings 9ff6f0a
@thefiddler thefiddler [CL] Removed incorrect generic user_data methods e356692
@thefiddler thefiddler [CL] Regenerated bindings 098d5f7
@thefiddler thefiddler Updated dependencies 6a4b9fe
@thefiddler thefiddler [NuGet] Removed nuget.exe from source directory b134551
@thefiddler thefiddler [NuGet] Updated nuget.exe path fd5485c
@thefiddler thefiddler [CL] Added ComputeProgram.Release/Retain* methods 4a58d69
@thefiddler thefiddler [CL] Added CommandQueue and ComputeContext helpers
Also implemented ProgramNotifyDelegate.
@thefiddler thefiddler [CL] Regenerated bindings ccc995f
@thefiddler thefiddler [NuGet] Updated installer information bc7e499
@thefiddler thefiddler [CL] Added ComputeProgram.GetProgramBuildInfo 042ab99
@thefiddler thefiddler [CL] Regenerated bindings 684e783
@thefiddler thefiddler [NuGet] Copy OpenTK.dll.config to output path af0ae9e
@thefiddler thefiddler [CL] EnqueueNDRangeKernel helpers c353e39
@thefiddler thefiddler [Bind] Use -mode:all by default ad5b159
@thefiddler thefiddler [CL] Added ComputeEvent methods c728c9e
@thefiddler thefiddler [CL][ES][GL] Regenerated bindings a2b78ea
@thefiddler thefiddler [CL] Added CommandQueue.EnqueueBarrier 7b86a96
@thefiddler thefiddler [CL] Regenerated bindings 493ae9f
@thefiddler thefiddler [CL] CL.EnqueueBarrier should return ErrorCode 6fba987
@thefiddler thefiddler [CL] Regenerated bindings 9df38a1
@thefiddler thefiddler [CL] Renamed CommandExecutionStatus
This is a Flags enumeration, so the correct name should be
@thefiddler thefiddler [CL] Added parameters to EventNotifyDelegate 13c3596
@thefiddler thefiddler [CL] Regenerated bindings f2231cc
@dellis1972 dellis1972 [OpenGLES] OpenTK app + Intent.CreateChooser() crashes

Turns out the issue with this particular bug
was that we did not clear down the current context
prior to shutting down the activity/pausing. This left
OpenGL in some kind of weird state where it could not
use the surface and context current again until the
activity was destroyed.
@radekdoulik radekdoulik Merge pull request #7 from mono/bug8182
[OpenGLES] OpenTK app + Intent.CreateChooser() crashes
@thefiddler thefiddler [CL] Added v1.2 function prototypes 5dfdd4a
@thefiddler thefiddler [Bind] Use apiversion when no version attribute exists b31f4c9
@thefiddler thefiddler [Bind] Clean up empty category from docs bc3b86d
@thefiddler thefiddler [Bind] Don't indent comma unnecessarily fbd9c5e
@thefiddler thefiddler [Bind] Implemented deprecated attribute override 507d1f0
@thefiddler thefiddler [CL] Marked deprecated functions b99cc93
@thefiddler thefiddler [CL] Regenerated bindings 5557ad4
@thefiddler thefiddler [CL] Implemented v2.0 functions e0af401
@thefiddler thefiddler [CL] Completed the 1.2 and 2.0 bindings e1483a1
@thefiddler thefiddler [CL] Implemented ImageDescriptor 4b76354
@thefiddler thefiddler [Bind] Added OpenCL 1.1 generator 6984aca
@thefiddler thefiddler [Bind] Treat SVM as an acronym fc35563
@thefiddler thefiddler [CL] Aligned CL*.Helper.cs implementations 3cac70b
@thefiddler thefiddler [CL] Regenerated bindings 15708a2
@thefiddler thefiddler [CL] Fixed doc refs and ImageFormat struct e7c6579
@thefiddler thefiddler [CL] Added v1.1, 1.2 and 2.0 documentation 6c0ad06
@thefiddler thefiddler [Bind] Enabled doc processing for OpenCL 3f730d0
@thefiddler thefiddler [Bind] Disabled DTD validation for documentation 271d29c
@thefiddler thefiddler [Bind] Improve doc param name matching
Param names with escape characters (‘@‘) are now correctly matched.
Also fixed a string formatting bug in the error output.
@thefiddler thefiddler [Bind] Recognize more mathml elements
Since we are not performing DTD processing for performance reasons, we
need to manually replace mathml entity references.
@thefiddler thefiddler [CL] Regenerated bindings
Now with complete documentation!
@thefiddler thefiddler [Bind] DocumentationParameter is now IEquatable 3e6e7ba
@thefiddler thefiddler [ES][GL] Regenerated bindings 6901d76
@thefiddler thefiddler Merge branch 'merge2' into compute dab252f
@thefiddler thefiddler [ES] Fixed invalid token name 02c58bc
@thefiddler thefiddler Merge remote-tracking branch 'fl/compute' into merge_escl
@thefiddler thefiddler [ES][GL] Regenerated bindings ba764be
@thefiddler thefiddler [Bind] 1.1 compatibility with string[] overloads b80f14b
@thefiddler thefiddler [ES] Maintain compatibility with 1.1 API d21a4be
@thefiddler thefiddler [ES][GL] Regenerated bindings 6c69a38
@thefiddler thefiddler [Bind] Implemented KeeStringArrayOverloads option 686842e
@thefiddler thefiddler [Bind] Improve doc param matching
Documentation files can contain overloads of the same function. Now
parameters of all overloads are considered for documentation, not just
parameters of the first overload.
@thefiddler thefiddler [Bind] Improve mathml text fallback 432c224
@thefiddler thefiddler [Bind] Improve doc params on OpenCL 2f2ae2f
@thefiddler thefiddler [ES][GL] Regenerated bindings
Regenerated bindings with the latest mathml documentation improvements.
@thefiddler thefiddler Merge remote-tracking branch 'mono/master' into merge_escl
@thefiddler thefiddler [Bind] Fixed behavior of reuse enum element
Reuse elements now correctly reuse enumerations that are split between
signatures.xml and overrides.xml. Before, it would only consider tokens
defined in overrides.xml.
@thefiddler thefiddler [ES] Improved Xamarin.Android compatibility 6f1e856
@thefiddler thefiddler [Bind] Implemented KeepCoreOnly setting
Also fixed a minor issue in reuse enum elements.
@thefiddler thefiddler [Bind] Implemented ES 1.0 generator c158e75
@thefiddler thefiddler [Bind] Implemented -mode:gl shortcut for gl2+gl4 a101541
@thefiddler thefiddler [Bind] Fixed potential crash when merging enums
Merging an enum with itself might possibly lead to a crash. This is now
detected and avoided.
@thefiddler thefiddler [Bind] Removed unused debugging code 36d8373
@thefiddler thefiddler [ES] Corrected 1.1 compatibility c23a270
@thefiddler thefiddler [ES] Regenerated bindings 26b9b17
@thefiddler thefiddler [ES] Removed unused file 5d892db
@thefiddler thefiddler [Tests] Added Android and iOS 1.0 API tests b9c8096
@thefiddler thefiddler Merge branch 'merge_escl' and 'develop' into escl 965a8ee
@thefiddler thefiddler [Bind] Fixed build (missing ES*Generator.cs) 682c641
@thefiddler thefiddler [Bind] Generate all bindings by default ec6b1da
@thefiddler thefiddler [ES][GL] Regenerated bindings 8ff0fbe
@thefiddler thefiddler referenced this pull request in mono/opentk

Merging with opentk/opentk #8

thefiddler added some commits
@thefiddler thefiddler [Bind] Do not translate tokens starting with "##" 622219a
@thefiddler thefiddler [ES] Improve Xamarin.Android ES10 compatibility a1e8a8a
@thefiddler thefiddler [ES] Maintain Xamarin.Android ES 2.0 compatibility 3abd72d
@thefiddler thefiddler [SDL][X11] Do not warn about unused private fields
We sometimes need to declare private fields for alignment. Disable
spurious warnings about these fields not being used.
@thefiddler thefiddler [ES][GL] Regenerated bindings cd11153
@thefiddler thefiddler Merged develop into escl2 b9c8ce5
@thefiddler thefiddler Fixed string reference prologue/epilogue
This commit fixes the following issues in string reference parameters:
- prologue now uses the same local variable name as the epilogue
- epilogue is no longer incorrectly skipped
@thefiddler thefiddler added this to the 1.2.0 milestone
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.