Commit graph

22 commits

Author SHA1 Message Date
Stefanos A. 2444ccf082 Improve override lookup for extension functions.
Function overrides are now looked up in the following order: specific
name (e.g. ProgramParameteriARB), extensionless name (e.g.
ProgramParameteri) and generic mame (e.g. ProgramParameter). This
improves the override resolution for functions with multiple extension
forms (core, ext, arb, etc).
2013-10-27 02:35:53 +02:00
Stefanos A. 51f52d7fc4 Moved more transformations into the *Processor classes.
An EnumProcessor or FuncProcessor instance is now required in order to
call their Translate*() methods. A number of transformations that
relied on calling the static methods have now been moved inside the
processor classes.
2013-10-27 01:30:45 +02:00
Stefanos A. 7296edafac Added support for overriding the element count of an array parameter. 2013-10-24 22:42:12 +02:00
Stefanos A. a005fab243 Prefer overrides with exact name matches over generic name matches.
For instance, if we override both ClearBufferfi and ClearBuffer, then
ClearBuffer{i f ui}v will be overriden be ClearBuffer and
ClearBufferfi will be overriden by ClearBufferfi. This allows us to
specialize overrides when necessary.
2013-10-23 11:42:24 +02:00
Stefanos A. 18643b8f1d Allow version attribute in overrides.xml. 2013-10-22 21:09:18 +02:00
Stefanos A. 9685f6e2f0 Array overloads with count=1 should be turned into ref/out parameters.
This fixes an issue where arrays with count=1 would remain as unsafe
pointers instead of becoming ref/out parameters.
2013-10-22 13:41:31 +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
the_fiddler af2c2fc64b Further improvements to suffix trimming regexes. Now matches GetInteger(ui)64 and does not match functions ending in "Coord", "Attrib", "Access" and more. 2011-12-07 00:22:10 +00:00
the_fiddler 22d3b26769 Ensured function names are trimmed using the same code as documentation and function parameters.
Improved trimming for functions with '64' suffices.
2011-12-07 00:01:48 +00:00
the_fiddler b394962854 Use Parameter.RawName when accessing the spec xml files (these files are platform-agnostic, so parameter names are not escaped!) 2011-12-05 11:52:28 +00:00
the_fiddler 1db9c38ed8 Do not reuse a single StreamReader for reading signatures. Avoids issues with XPathDocument closing the stream behind our backs. 2010-12-06 14:34:16 +00:00
the_fiddler 5b40433350 * XmlSpecReader.cs:
* EnumProcessor.cs:
* GL2/Generator.cs:
* FuncProcessor.cs: Fixed handling of overrides file: we now add
  signatures as requested and reset the stream after we are done
  reading the file.
2010-12-06 12:29:18 +00:00
the_fiddler 029957c03a * EnumProcessor.cs:
* FuncProcessor.cs: Corrected the XPath for signature overrides.
2010-12-06 11:53:50 +00:00
the_fiddler 177813e47a * FuncProcessor.cs:
* Structures/Parameter.cs: Avoid qualifying IntPtr fully ((a) it's
  unnecessary, since we have "using System;" already and (b) the
  namespace qualification is not portable to C++).
2010-12-05 15:53:04 +00:00
the_fiddler 82ba7143bb * Main.cs:
* Settings.cs:
* FuncProcessor.cs:
* Structures/Type.cs:
* Structures/Constant.cs:
* Structures/Delegate.cs: Do not hardcode namespace separator to ".".
2010-12-05 15:45:23 +00:00
the_fiddler f9365a4cc4 Merged gl4 branch into trunk 2010-12-04 21:51:40 +00:00
the_fiddler 057dfb9448 Handle multiple /signatures/add statements in the same file.
Trim enum and constant names before adding them to the relevant collection.
Fixed handling of extensions in enum names.
2010-12-03 11:24:58 +00:00
the_fiddler 94cd438166 Use identical XPath for signatures.xml and overrides.xml to unify and simplify their handlers. 2010-12-03 09:45:20 +00:00
the_fiddler a55102ef2f Allow exact function name overrides for extension functions. 2010-11-21 16:03:37 +00:00
the_fiddler 5a3cbeb3ef Allow function overrides on exact names, too (i.e. PatchParameteri vs PatchParameter). 2010-11-21 11:26:12 +00:00
the_fiddler 137818d10c Moved enum, constant, delegate and function transformations to EnumProcessor and FuncProcessor respectively.
Removed global enum, delegate and function collections.
Simplified loading process and removed global Initialize() methods.
Read "count" attributes for function parameters in overrides.xml.
Disabled wgl/glx/glu generators.
Removed large amounts of stale code.
2010-10-13 21:41:06 +00:00
the_fiddler 4e8c643c39 Added GL4Generator that utilizes xml files instead of spec files.
Made GL4Generator the default.
Added FuncProcessor that will contain all function transforms.
2010-10-12 17:39:14 +00:00