Commit graph

63 commits

Author SHA1 Message Date
Stefanos A 08823f5d5b Maintain api version information on converted signatures
Signatures were split into 4 APIs before (gl, glcore, gles1, gles2).
However, gles2 contains bindings for both version 2.0 and 3.0. The
version information is now maintained, which allows us to cut down on
the number of generated enumerations.
2013-11-03 20:30:43 +01:00
Stefanos A 346547331a Improved detection of deprecated tokens 2013-11-03 17:58:28 +01:00
Stefanos A 0d90bae615 Change debug commandline
The default commandline parameters will now automatically download and
convert the upstream gl.xml from the public Khronos repository.
2013-11-03 12:37:56 +01:00
Stefanos A 0deeeeb84c Enum groups are now added to all APIs
Enum groups are also referenced by OpenGL ES commands. They are now
added to all APIs by default.
2013-11-03 12:19:49 +01:00
Stefanos A e7cb7cdf34 Convert "String *" to "String"
As a sideeffect of the group element definition, the parser will
convert a ptype of "const GLubyte *" with a group of "String" to
"String *", which is not the correct result. GLXmlParser will now
detect and fix this condition that affects the GetString function of
families.
2013-11-03 01:22:44 +01:00
Stefanos A. 61a6a2bec0 Mark signatures.xml version
GLXmlParser now explicitly marks its output with version="2", while
the older .spec parsers produce version="1" signatures. The binding
generator uses the newer API to support multiple apinames in the same
file.
2013-11-02 23:40:09 +01:00
Stefanos A. cc8f9aae4f Refactor apiname extraction
A dedicated function is now used for getting the apiname of an enum or command element. This reduces code duplication.
2013-11-02 23:37:34 +01:00
Stefanos A. bfbc37fb92 Remove deprecated elements from glcore
Deprecated elements are marked as such in the compatibility profile and
are completely absent from the core profile. This is in-line with the
new glcore headers from Khronos.
2013-10-31 00:20:59 +01:00
Stefanos A. 51cb1f02db Improve sorting; remove enum-function distinction
Both enums and functions are now stored under a single <add> element.
Their ordering is now maintained by sorting over all possible
attributes.
2013-10-29 19:35:35 +01:00
Stefanos A. faa3330375 Explicitly merge functions
Some functions are part of multiple features or extensions. For
documentation purposes, we need to correctly merge their attributes.
2013-10-29 09:32:09 +01:00
Stefanos A. 8f1c3a2d08 Allow comparison of function elements
This allows us to store both enums and functions in the same tree.
2013-10-28 14:15:58 +01:00
Stefanos A. 3eaffc5570 Stable sort and correct extension names
Use a stable sort for generated elements, in order to make the generated
file work better with version control. Extension names are now extracted
directly from function names - solves issues with functions that are
defined in multiple extensions.
2013-10-28 14:15:17 +01:00
Stefanos A. e0664993bb Multi-API support for XML spec parser
The XML spec parser now generates signatures for multiple APIs (gl,
glcore, gles1, gles2). Additionally, it supports per-token deprecation
attributes.
2013-10-27 23:47:52 +01:00
Stefanos A. 5cc845713d Improved extension detection in .spec parser.
Instead of using a hardcoded list of extensions, the parser will now
use a regex to detect extension names. This gives better results on
new specs without manual editing.
2013-10-27 01:24:04 +02:00
Stefanos A. d992f9474f Fixed the parsing of extensions. 2013-10-26 00:07:00 +02:00
Stefanos A. b15066bd03 Strip struct and const identifiers from the output. This matches the
old .spec files.
Group attributes in parameters no longer overwrite the pointer order
or const-ness of the parameter.
2013-10-25 08:55:12 +02:00
Stefanos A. d4c1cb1bb3 Improved grouping of enumerations. Fixed missing extension
enumerations.
2013-10-24 20:56:28 +02:00
Stefanos A. 780d5e60c2 Return type should be defined in the "type" attribute of the returns
element.
2013-10-24 18:42:52 +02:00
Stefanos A. 2378bef21e Tokens in "All" enum should have a name of "token" not "enum". 2013-10-24 18:41:09 +02:00
Stefanos A. 0cb722c908 Implemented translation of function attributes (api, category,
deprecated, extension, version).
2013-10-24 18:32:09 +02:00
Stefanos A. 88438102a2 Initial implementation of new XML spec parser. 2013-10-24 17:19:52 +02:00
Stefanos A 967a6514de Merge branch 'master' into gl4 2013-10-22 17:03:39 +02:00
Stefanos A. df8626740a Fixed exception while parsing the 4.3 specs.
This was caused by changes in the .spec file definitions between 4.1
and 4.3.
2013-10-22 11:58:23 +02:00
Stefanos A. 992ae7947a Added usage example. 2013-10-22 11:40:41 +02:00
thefiddler 581919cb1c Initial work on new gl xml spec support. 2013-10-21 18:28:01 +02:00
thefiddler 8dcb8601a2 Normalized line endings
Hopefully this is the first and last time we have to do this.
2013-10-11 01:58:54 +02:00
Robert Rouhani 3a9dfc62ad Fixed extra endregion directive that prevented compilation.
Fixed some warnings about csproj files.
2013-01-16 22:11:18 -08:00
Andy Korth 4230c6b4f0 Added Robmaister's Matrix3 implementations 2013-01-03 10:41:56 -06:00
the_fiddler 072c815cdc Updated Generator.Convert documentation to match what the tool actually does. 2011-07-26 11:54:09 +00:00
the_fiddler 8e089cc1c3 Merged gl4 branch into trunk 2010-12-04 21:51:40 +00:00
the_fiddler ce85a5f481 * Source/OpenTK/OpenTK.csproj:
* Source/Bind/Generator.Bind.csproj:
* Source/Examples/OpenTK.Examples.csproj:
* Source/GLControl/OpenTK.GLControl.csproj:
* Source/Converter/Generator.Convert.csproj:
* Source/Build.UpdateVersion/Build.UpdateVersion.csproj: Normalized
"Documentation" configuration with "Release" configuration.
2010-11-02 17:39:43 +00:00
the_fiddler 9d562fb683 All projects now read common AssemblyInfo items from GlobalAssemblyInfo.cs. The various AssemblyInfo.cs files now only contain project-specific information. Assembly versions are now controlled by Build.UpdateVersion. 2010-10-04 21:37:33 +00:00
the_fiddler 1f143285c2 Added keyfile and strong-named all projects. 2010-10-04 14:39:42 +00:00
the_fiddler 10f333c24f Added Generator.Bind and Generator.Convert projects.
Fixed msbuild compilation by removing the 3.5 bootstrap ItemGroups. (VS2010 added those on its own - hey, we are targeting v2.0 and we are not using ClickOnce!)
2010-10-03 12:30:39 +00:00
the_fiddler 1f4b5be7d0 Synced trunk with 1.0 branch. 2010-10-02 18:52:34 +00:00
the_fiddler af2d77cdc5 Updated version numbers in preparation for release. 2009-11-01 23:07:38 +00:00
the_fiddler 041c491f19 Fixed an issue where "const unsigned [type] [pointer]" parameters where not parsed correctly. Solves issue [#1300]: "[OpenCL] Possible bug at CL.CreateProgramWithBinary". 2009-11-01 19:15:44 +00:00
the_fiddler 792c4e3645 Merged es20 branch back into trunk. 2009-10-28 23:09:25 +00:00
the_fiddler 201dfab1f3 * ESCLParser.cs: Fixed long bitfield detection. 2009-10-09 06:01:02 +00:00
the_fiddler 49f9609309 * ESCLParser.cs: OpenCL bitfileds are defines as long, not int. Added 'type' attribute to enums, which can be 'long' or 'int'. 2009-10-09 05:08:44 +00:00
the_fiddler fd70497785 Removed obsolete solution files and folders. 2009-09-06 09:38:27 +00:00
the_fiddler c542cb94da Fixed mime-type and eol-style on Readme.txt. 2009-09-06 09:38:04 +00:00
the_fiddler 9440b2af96 Fixed project layout (files should be at root of project, not inside a folder). 2009-09-06 09:35:11 +00:00
the_fiddler a2a299de2a Removed duplication AssemblyInfo file. 2009-09-06 09:34:03 +00:00
the_fiddler dc337d0e56 Updated in preparation of 0.9.9-2 release. 2009-09-05 18:37:42 +00:00
the_fiddler f6da09177e Fixed line endings and set svn:eol-style to native and svn:mime-type to text/plain for .cs files. 2009-09-03 19:01:11 +00:00
the_fiddler 014fc031b7 Removed stale debugging code. 2009-08-20 21:35:09 +00:00
the_fiddler d314f26d5f Note that parameter names for Nvidia fence extension were added by hand. 2009-08-15 19:08:03 +00:00
the_fiddler 09207c2934 Added missing parameter names to Nvidia Fence extension. 2009-08-15 19:07:34 +00:00
the_fiddler 324538ac9f Added workarounds for typical header defines that should not be present in the generated xml files (e.g. #define WIN32_LEAN_AND_MEAN 1). 2009-08-15 19:07:11 +00:00