thefiddler
417aa67139
Implemented Add and AddRange methods
...
These supplant the static Utilities.Merge() overloads.
2013-11-09 19:22:31 +01:00
Stefanos A
49df5ff453
Do not generate delegates for overloads
...
We should only generate delegates for actual OpenGL entry points, not
for overloaded functions that resolve to the same entry point. This
improves loading speeds and reduces the size of the compiled dll.
2013-11-08 16:40:43 +01:00
Stefanos A
7ab5e3ab6c
Use paths without apiversion attribute
...
Paths that don't define a "version" attribute will now match all
possible versions. This will make it easier to add support for newer
APIs as they are introduced.
2013-11-07 16:48:11 +01:00
Stefanos A
1f6d445021
Removed non-existent token from OpenGL
...
COMPRESSED_ALPHA_BPTC_UNORM does not appear to be defined anywhere.
Removed.
2013-11-07 16:46:38 +01:00
Stefanos A
be8f7c6311
Corrected ES 2.0 enums
...
After the previous commit, several ES 2.0 functions would refer to
enums found in ES 3.0. These enums have been copied to ES 2.0, either
as core enums or as extensions.
2013-11-07 16:25:19 +01:00
Stefanos A
735d05e496
Merged ES2.0 and ES3.0 replacements
...
ES 3.0 includes ES 2.0 verbatim. We can significantly reduce
duplication by using the same <replace> node for both APIs. Note that
the enumerations must remain separate, as ES 2.0 and 3.0 support
different tokens.
2013-11-07 11:37:51 +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
0598e02140
Fixed enums for GetDebugMessageLog
...
GetDebugMessageLog was misspelled as GetMessageDebugLog. This is now
fixed.
2013-11-07 08:39:57 +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
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
Stefanos A
6921509680
Added "reuse" directive for enums
...
Sometimes an enum may reuse the tokens of another enum verbatim
(possibly adding a few extra tokens.) The reuse directive simplifies
the handling of this case:
<enum name="Foo">
<reuse enum="Bar" />
</enum>
2013-11-04 22:26:06 +01:00
Stefanos A
20e70062f8
Strongly-typed enums for ES 3.0 (WIP3)
...
Implemented sections: Texturing, Sampler Objects, Sampler Queries,
Texture Image Specification.
2013-11-04 19:49:25 +01:00
Stefanos A
b29a4aacb3
Respect apiversion in overrides
...
We should not use overrides from foreign apiversions.
2013-11-04 19:32:52 +01:00
Stefanos A
9b5be9300b
Strongly-typed enums for ES 3.0 (WIP2)
...
Added strongly-typed enums for sections: Vertices, Shaders and
Programs. Added a number of missing enums for ES 2.0. Normalized
several APIs between OpenGL and OpenGL ES.
2013-11-04 00:04:09 +01:00
Stefanos A
af78a01643
Strongly-typed enums for ES 3.0 (WIP)
...
Implemented strongly-typed enums for sections: Buffer Objects,
Asynchronous Queries, Transform Feedback, ReadingandCopying Pixels and
Rasterization.
2013-11-03 21:30:25 +01:00
Stefanos A
f95925302b
No extension attribute now matches all extensions
...
This allows us to reduce the amount of clutter in overrides.xml.
2013-11-03 21:28:24 +01:00
Stefanos A
7978627ad4
Merge Delegate.Version
...
When a Delegate is defined multiple times in the spec, we should check
if any of these definitions contains a proper Delegate.Version and
store that. This improves the self-documentation aspect of the bindings.
2013-11-03 20:41:29 +01:00
Stefanos A
7322828304
Regenerated the bindings using the latest specs
2013-11-03 20:36:22 +01:00
Stefanos A
2ca8870420
More PrimitiveType->BeginMode overrides
2013-11-03 20:35:02 +01:00
Stefanos A
c47166e54d
Mino fix in debug output
...
ParameterCollection.ToString() adds parentheses around its output, so
Delegate.ToString() should avoid adding a second pair.
2013-11-03 20:34:18 +01:00
Stefanos A
451bd62f63
ES 3.0 contains both 2.0 and 3.0 bindings
...
This is in accordance to the upstream gl3.h for ES 3.0.
2013-11-03 20:33:14 +01:00
Stefanos A
d20180cd2d
gles1 API contains both versions 1.0 and 1.1
...
Khronos no longer distinguishes between ES 1.0 and 1.1.
2013-11-03 20:32:47 +01:00
Stefanos A
922fb935a1
Take api version into account
...
XmlSpecReader will now respect version attributes and will avoid
inserting foreign tokens into the generated bindings.
2013-11-03 20:32:10 +01:00
Stefanos A
2d33b10e1a
Improve debug output
...
Function parameters are now displayed during binding generation.
2013-11-03 20:28:57 +01:00
Stefanos A.
35c0edfa42
Merge categories for redefined functions
...
Now that we support function overloads, it is safe to ignore functions
that are defined multiple times. We just merge their Category
properties if they are not identical.
2013-11-03 19:13:49 +01:00
Stefanos A
346547331a
Improved detection of deprecated tokens
2013-11-03 17:58:28 +01:00
Stefanos A.
6f08995963
Added PrimitiveType <=> BeginMode overloads
...
Khronos renamed BeginMode to PrimitiveType starting with GL 4.4.
OpenTK now has overloads for both flavors.
2013-11-03 16:11:39 +01:00
Stefanos A.
9789225e0c
Allow overloads of the same function
...
It is now possible to define multiple overloads of the same function,
each with different parameters. This is extremely useful for
maintaining backwards compatibility in the face of the changes between
GL 4.3 and 4.4.
2013-11-03 16:09:11 +01:00
Stefanos A
60f971ffed
Updated to the latest gl4 specs and docs
...
Large code-drop from Khronos upstream.
2013-11-03 12:43:50 +01:00
Stefanos A
ec6c534d8a
Updated using the latest converter
...
Tokens are now sorted according to their value, exactly is in the
upstream gl.xml spec. Additionally, gles1 and gles2 now include the
pre-defined groups in the specification.
2013-11-03 12:32:54 +01:00
Stefanos A.
a29e132172
Trim elements when reading them
...
Sometimes elements in overrides.xml contain extra spaces due to typos,
which are quite difficult to track down. The XmlSpecReader can now
cope with that.
2013-11-03 12:17:09 +01:00
Stefanos A.
513fa728d0
Replace in-place instead of removing/readding
...
There is no reason to remove and readd a Constant in order to replace
it in a ConstantCollection. We can actually do that in-place.
2013-11-03 12:16:07 +01:00
Stefanos A.
39b1f84fc8
Enum tokens are now sorted
...
This only affects the in-memory representation - sorted tokens are
easier to debug.
2013-11-03 12:15:08 +01:00
Stefanos A.
827fe0788a
Use OpenTK.Graphics.OpenGL4 namespace for GL4.x
2013-11-03 12:14:13 +01:00
Stefanos A.
c83d6ad530
DefaultOutputPath now matches OpenTK source tree
...
By default, generated bindings are placed in the source tree of
OpenTK. This can be overriden via a commandline switch.
2013-11-03 12:13:35 +01:00
Stefanos A.
0548806487
Improved debug output on high-order pointers
...
OpenTK does not currently support generating bindings for pointers of
order 3 or higher. No OpenGL or OpenGL ES API currently uses such
pointers, so we just issue a warning message if such an API is
encountered in the future.
2013-11-03 12:12:39 +01:00
Stefanos A.
2d3b5ebe5c
Added missing enums to gles2 profile
...
Fixed undefined reference in TextureCompareMode.COMPARE_REF_TO_TEXTURE
and added strongly-typed enums for KHR_debug.
2013-11-03 12:10:52 +01:00
Stefanos A.
7a403e474e
Corrected ShaderSource for gles2 and ARB
...
The length parameter should be an array of integers, one for each
string in the shader source. The string parameter does not need to be
translated.
2013-11-03 02:25:15 +01:00
Stefanos A
888cb6637b
Added generators for ES 2.0 and 3.0
2013-11-03 01:29:32 +01:00
Stefanos A
66b01873b0
Updated license information
2013-11-03 01:28:46 +01:00
Stefanos A
c349c82887
Cleaned up the generator constructors
2013-11-03 01:28:01 +01:00
Stefanos A
ab61e3f6a0
Added missing newline
...
Methods are now separated by a single newline.
2013-11-03 01:27:33 +01:00
Stefanos A
e8f46c87f6
Do not override user defined output files
...
The generator will now change the default output files to match its
bindings (e.g. GL vs ES), but the user is now able to override this
option.
2013-11-03 01:27:10 +01:00
Stefanos A
5ab8b451c9
Added apiversion support
2013-11-03 01:25:47 +01:00
Stefanos A
5298aff14d
Added support for overriding default output files
...
This makes it possible to generate different output files when using
-mode:all to generate multiple bindings in the same run.
2013-11-03 01:25:27 +01:00
Stefanos A
23c084587a
Added gles2; added missing fog groups
2013-11-03 01:24:31 +01:00
Stefanos A
56768a803a
Added support for distinguishing between api versions
...
The registry reuses the "gles2" apiname for both OpenGL ES 2.0 and 3.0.
The generator will now use the apiversion attribute to distinguish
between the two APIs.
2013-11-03 01:24:02 +01:00
Stefanos A
c5b9dbc83e
Added GetOverridesPath method
...
GetOverridesPath encapsulates the code that retrieves an override enum
or function from overrides.xml. Additionally, it now supports names and
extensions with multiple values (e.g. extension="Core|Ext").
2013-11-03 01:20:17 +01:00
Stefanos A.
add848f32d
Fixed newline and indentation behavior
...
Mono and .Net have a few minor differences in their StreamWriter
implementations. Added workarounds to produce identical output on all
platforms.
2013-11-01 14:00:46 +01:00
Stefanos A.
b7f2379f87
Fixed infinite recursion issue.
2013-11-01 11:42:42 +01:00
Stefanos A.
9e74470e58
Avoid singletons; allow -mode:all
...
Explicit Settings objects are now created for each generator. A new
-mode:all option has been added, which generates bindings for all APIs
in one go (useful for the post-GL4.4 specs, which collect all APIs in a
single file.)
2013-11-01 09:28:54 +01:00
Stefanos A.
bf0f42be82
Avoid singletons; collect code generation
...
ISpecWriter implementations must now store explicit references to a
Settings object. Additionally, all code generation is now handled inside
the ISpecWriter implementation (it used to be scattered over all Type,
Parameter, etc classes resulting in unmaintainable spaghetti code.)
2013-11-01 09:27:46 +01:00
Stefanos A.
33e6a6eae2
Avoid singletons
...
A reference to a Settings instance must now be stored explicitly.
2013-11-01 09:26:13 +01:00
Stefanos A.
e1f064b634
Updated IBind implementations to avoid singletons
...
IBind implementations must now store explicit references to Settings,
GLTypes and CSTypes instances. This allows us to use multiple
configurations in the same process.
2013-11-01 09:25:31 +01:00
Stefanos A.
8219f7a0f6
Avoid singletons; collect all translation logic
...
FuncProcessor now implements all translation logic for types, parameters
and functions. This used to be scattered in the various classes (Type,
Parameter, etc) resulting in a rather disgusting spaghetti. Code
generation has been removed from FuncProcessor and is now handled by the
various language-specific ISpecWriter backends.
2013-11-01 09:24:18 +01:00
Stefanos A.
f0e0195799
Avoid singletons; improve ToString()
...
This is part of a long-due series of source cleanup patches. ToString()
is no longer used for code generation (code generation is handled by an
ISpecWriter instance.) Enum is no longer public. EnumCollection now
exposes its backing store through an interface, rather than a concrete
class (simpler to change backing store in the future.)
2013-11-01 09:21:50 +01:00
Stefanos A.
229856abba
Avoid singletons; improved ToString()
...
This is part of a long-due series of source cleanup patches. ToString()
is no longer used for code generation (this is handled by an ISpecWriter
implementation). This class is no longer public.
2013-11-01 09:18:53 +01:00
Stefanos A.
679afcc27a
Avoid singletons; logic in FuncProcessor
...
This is part of a long-due series of source cleanup patches. All
translation logic is now part of FuncProcessor. Code generation is now
handled by an ISpecWriter implementation. Minor improvements to
IEquatable and ToString() implementations. Reduced the surface of the
public API.
2013-11-01 09:17:34 +01:00
Stefanos A.
9c5d43b72b
Avoid singletons; Move logic to FuncProcessor
...
This is part of a long-due cleanup patch series. All translation logic
is now part of the FuncProcessor. Language-specific code generation is
now part of the ISpecWriter, not the delegate class. Implemented the
IEquatable interface.
2013-11-01 09:15:02 +01:00
Stefanos A.
f83443d221
Avoid singletons; Translate*() in FuncProcessor
...
This is part of a long-due source cleanup series. All Translate*()
methods are now part of the FuncProcessor. Additionally, ToString() has
been improved and the IEquatable interface is now implemented.
ParameterCollection now has better control of when its cache should be
rebuilt.
2013-11-01 09:13:06 +01:00
Stefanos A.
83c0deb71c
Avoid singletons; Translate*() in FuncProcessor
...
This is part of a long-due source cleanup operation. GLTypes and CSTypes
are no longer global singletons, but must now be accessed through an
IBind instance. All Translate*() methods are now part of the
FuncProcessor. ToString() has been improved and the IEquatable interface
is now explicitly implemented.
2013-11-01 09:10:46 +01:00
Stefanos A.
832db0da0d
Settings is no longer a singleton
...
Multiple Settings instances can now be created and used in the same
process.
2013-11-01 09:07:34 +01:00
Stefanos A.
ffc79a749b
Settings, GLTypes and CSTypes are now in IBind
...
Settings, GLTypes and CSTypes are no longer global singletons. Instead,
explicit instances must be stored in the IBind implementation. This
allows us to use multiple configurations in the same process.
2013-11-01 09:06:49 +01:00
Stefanos A.
f000bda891
Avoid singleton Settings; make internal
...
Utilities.Keywords now accepts an explicit parameter, instead of
accessing Settings directly. This allows us to use multiple
configurations in the same process.
Additionally, the Utilities class is no longer public (the Bind project
is not meant to be consumed as a dll.)
2013-11-01 09:03:36 +01:00
Stefanos A.
f00c2e0527
Avoid singleton Settings. Allow v1 signatures
...
A Settings object is now passed directly as a parameter, in order to
support different configurations in the same process. The XmlSpecReader
can now distinguish between, and support both, pre-GL4.4 and post-GL4.4
specs.
2013-11-01 09:01:35 +01:00
Stefanos A.
2eac75ea4d
Avoid using singletons
...
The IBind generator and the Settings class are now passed directly as
parameters. This allows us to run multiple generators in a single
process.
2013-11-01 08:59:20 +01:00
Stefanos A.
6022ea9fbd
Improved multiline output
...
This lets us compose and print multiline strings without manually
adjusting indentation on each line.
2013-11-01 08:57:44 +01:00
Stefanos A.
97bd6dbc39
Warn on function redefinition
...
A function redefinition usually stems from a bug in the OpenGL specs, or
a bug in the spec converter. The binding generator now logs a warning,
instead of crashing, when a redefinition is encountered.
2013-10-31 00:20:05 +01:00
Stefanos A.
285f238669
Renamed gloverrides.xml to overrides.xml
...
This aligns the name of the OpenGL overrides file with that of the
OpenGL|ES implementations.
2013-10-31 00:18:45 +01:00
Stefanos A.
a3bd227e20
Cleaned up Generator class tree
...
This significantly reduces the amount of duplicated code between
Generator implementations.
2013-10-31 00:18:07 +01:00
Stefanos A.
784d60b556
Corrected apiname xpath lookup
2013-10-29 09:32:28 +01:00
Stefanos A.
6185059adc
More line ending troubles...
2013-10-28 14:28:57 +01:00
Stefanos A
7f9041417e
Add apiname parameter to ISpecReader
...
This allows us to reuse the same ISpecReader implementation to parse
different APIs (GL and GLES).
2013-10-28 14:13:39 +01:00
Stefanos A.
2e435f97bb
Re-added PixelInternalFormat
...
GL4.4 renamed PixelInternalFormat to InternalFormat. The missing tokens
are now re-added, since a lot of functions depend on them. Additionally,
a number of 'open' <use> elements now define a specific enum reference.
This is not necessary, but is good for documentation purposes.
2013-10-28 14:11:16 +01:00
Stefanos A.
6f4530f8a8
Sort tokens within an enum
...
This allows us to keep a specific ordering regardless of the token order
in the input file (much friendlier for source control!)
2013-10-28 14:08:55 +01:00
Stefanos A.
1b937b48f8
Simplifed Constant.Reference resolution
...
Instead of recursing, we use a simple do..while loop to resolve the
transitive reference of a constant. If there is a loop at any point, we
stop and use a brute force search over all tokens. If this still fails
to resolve the reference, then we report this reference as unresolved.
2013-10-28 14:07:45 +01:00
Stefanos A.
97ca64121c
Made IsFlagsCollection read-write
...
The decision whether an Enum is a flags collection is now made either by
the spec reader or the enum processor (not the Enum class itself.)
2013-10-27 17:35:36 +01:00
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
5e06c14607
Read extension list from xml spec; new acronyms.
...
Instead of hardcoding a list of extensions, extensions are now read
directly from the signatures.xml file. Acronyms for new texture
formats are now listed.
2013-10-27 01:26:36 +02: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.
d4eeb4e9ce
Functions are now categorized correctly according to their extensions.
2013-10-26 00:07:49 +02:00
Stefanos A.
7cc3947cfb
MASK_COHERENT_BIT should be MAP_COHERENT_BIT
2013-10-25 16:43:43 +02:00
Stefanos A.
9777afdb71
Trim the final endline regardless of operating system.
...
Fixes differences between bindings generated on Windows and Linux/Mac.
2013-10-25 16:31:26 +02:00
Stefanos A.
f65965aaf7
Fixed ShaderSource and VertexArrayFogCoordOffsetEXT parameters.
...
ShaderSource is supposed to accept an array of string lengths as the
last parameter. The count="1" statement in the registry is wrong.
GL.VertexArrayFogCoordOffsetEXT is supposed to receive a
FogPointerType.
2013-10-25 16:30:20 +02:00
Stefanos A.
0aa0d5ab6c
Check the existence of a Constant reference using the
...
Constant.Reference property, instead of the first character of
Constant.Value. Fixes values that are negative numbers.
2013-10-25 08:57:33 +02:00
Stefanos A.
078a1e8443
Allow spaces in pointer types (e.g. "GLchar * *").
...
Added todo for string->String translation that is overwritten
immediately.
2013-10-25 08:52:34 +02:00
Stefanos A.
06d2de3e7b
Fixed translation of GLchar** (should be string[], not string). Added
...
diagnostic message in case of higher-order pointer parameters that
will currently generate incorrect bindings.
2013-10-25 08:48:24 +02:00
Stefanos A.
a162ee5b1b
Added DEBUGPROCKHR for the KHR_debug extension. Added
...
CompressedTextureARB that is encountered in the new gl.xml registry.
2013-10-25 08:47:17 +02:00
Stefanos A.
e08baaa624
Fixed implementation of IsValue. Improved the handling of value
...
(number) parameters.
2013-10-25 08:45:02 +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
b5aff5dfaf
Don't crash on non-numeric element counts.
2013-10-24 18:50:19 +02:00
Stefanos A.
645abc5ab1
Improved diagnostic message in case of a circular definition.
2013-10-24 18:46:58 +02:00
Stefanos A
8107abeb01
Updated gl4 documentation according to latest manpages
2013-10-24 09:03:15 +02:00
Stefanos A
af9d6dd928
Fixed ClearTex[Sub]Image <type> parameter
...
As per bug #1006 on the public Khronos bugzilla, <type> corresponds to the PixelType accepted by TexImage3D. This is now fixed.
2013-10-24 09:01:59 +02:00
Stefanos A.
60afa79203
Updated documentation according to the latest available manpages.
2013-10-23 20:17:08 +02:00
Stefanos A.
eb84a29206
Implemented "Debug Output" and "State and State Requests"
...
functionality according to the OpenGL 4.4 specification, sections 20
and 22.
2013-10-23 20:12:05 +02:00
Stefanos A.
3037baa5ea
Implemented "Reading and Copying Pixels" functionality from the OpenGL
...
4.4 specification, sections 18.2 and 18.3.
2013-10-23 18:54:34 +02:00
Stefanos A.
b425bff682
Implemented Whole Framebuffer commands according to the OpenGL 4.4
...
specification, section 17.4.
2013-10-23 11:43:11 +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.
86214ebc77
Implemented per-fragment operations according to the OpenGL 4.4
...
specification, section 17.
2013-10-23 10:49:29 +02:00
Stefanos A.
1585d6a02e
Implemented Vertex Post-Processing according to the OpenGL 4.4
...
specification, section 13.
2013-10-23 10:23:02 +02:00
Stefanos A.
bb2bf9fa48
Implemented Vertex Attributes according to the OpenGL 4.4
...
specification, section 11.
2013-10-23 09:43:33 +02:00
Stefanos A.
88183770ae
Implemented Vertex Arrays accordign to the OpenGL 4.4 specification,
...
section 10.
2013-10-23 09:31:09 +02:00
Stefanos A.
35b63e777a
Fixed version number on VertexAttribP1 methods (should be 3.3, not
...
1.2).
2013-10-22 21:10:14 +02:00
Stefanos A.
18643b8f1d
Allow version attribute in overrides.xml.
2013-10-22 21:09:18 +02:00
Stefanos A.
745fd9974f
Implemented strongly-typed Framebuffer and Renderbuffer Objects
...
according to the OpenGL 4.4 specification, section 9.
2013-10-22 20:52:37 +02:00
Stefanos A.
5a59e63cea
Implemented strongly-typed Texture functions according to the OpenGL
...
4.4 specification, section 8. See issue #2 .
2013-10-22 18:37:25 +02:00
Stefanos A.
badb083686
Added SGIX_texture_icc enumeration that has been removed by the
...
upstream specs. This silences a large amount of warnings caused by the
lack of this extension.
2013-10-22 17:19:19 +02:00
Stefanos A
907a1de89f
Line ending fix.
2013-10-22 17:03:16 +02:00
Stefanos A.
43bde3433a
Implemented strong-types for Shader and Program Objects according to
...
the OpenGL 4.4 specification, section 7.
2013-10-22 16:52:35 +02:00
Stefanos A.
9613975681
Updated strong-types for Buffer Objects according to the OpenGL 4.4
...
spec, section 6.
2013-10-22 14:40:49 +02:00
Stefanos A.
cfa4f230c5
Updated strong-types for asynchronous queries, query objects and time
...
queries according to OpenGL 4.4 spec, section 4.2.
2013-10-22 14:00:01 +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
Stefanos A.
15120f3bef
Updated to the latest 4.3 .spec files from the OpenGL registry.
2013-10-22 11:56:08 +02:00
Stefanos A.
8404359bca
Updated to the latest gl.tm from Khronos public svn.
2013-10-22 11:39:50 +02:00
Stefanos A.
39c2230bfa
Re-added BeginMode and PixelFormat enums which were removed by the
...
OpenGL spec.
Added strong types for sync and fence objects (4.4 core specification,
section 4.1).
2013-10-22 11:39:20 +02:00
Stefanos A.
61fd8d6122
Added ConstCharPointer->string transformation in accordance to GL 4.3
...
specs.
2013-10-21 21:43:05 +02:00
Stefanos A.
98504ce67a
Added DebugProc delegate in accordance to GL 4.3 specs.
2013-10-21 21:42:09 +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
0df6d56f03
Removed invalid TextureParameterName.Red token. Fixes issue [ #2789 ]: "TextureParameterName.Red".
2011-12-07 00:28:13 +00:00
the_fiddler
1ace769646
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
59cfdf4664
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
5ee3013e49
Process overrides to Constant.Reference.
2011-12-06 22:59:42 +00:00
the_fiddler
e2d31c78cb
Added missing TextureEnvMode.Replace token. Fixes issue [ #2791 ]: "TextureEnvMode.Replace missing".
2011-12-06 21:49:43 +00:00
the_fiddler
bf90e156f3
Fixed extension (and core) loading on windows.
2011-12-06 15:14:58 +00:00
the_fiddler
d8432cc521
Significant cleanups and bugfixes to the C++ wrappers. Improved typemap to use correct OpenGL types.
2011-12-05 18:43:16 +00:00
the_fiddler
fbb17d9815
Added GL and CL to Acronyms regex.
2011-12-05 18:42:38 +00:00
the_fiddler
5ef382c043
Added cpp-specific typemap.
2011-12-05 18:42:13 +00:00
the_fiddler
ce55a9920e
Do not rely on JNA types that are not available on Android.
2011-12-05 18:41:46 +00:00
the_fiddler
082fc8c422
Do not rely on JNA types that are not available on Android.
...
Replaced generic multiple wrappers by a single Buffer wrapper.
2011-12-05 16:12:54 +00:00
the_fiddler
cb06e36785
Fixed enum generation.
2011-12-05 15:48:51 +00:00
the_fiddler
687140323e
Fixed bug in acronym capitalization handling, when multiple acronyms exist in the same enum.
2011-12-05 15:16:11 +00:00
the_fiddler
17974b6c7b
Improved capitalization of acronyms, like 3Tc, in enum names.
2011-12-05 15:04:01 +00:00
the_fiddler
43c4f38e2d
Simplified the ISpecReader interface. Ensure 'delete' directives are followed in the xml specs.
2011-12-05 14:30:40 +00:00
the_fiddler
e8a4bdb2b1
Minor comment fix.
2011-12-05 14:29:17 +00:00
the_fiddler
d32a9ae03b
Generic type parameters cannot be primitive types in Java. Fixed!
2011-12-05 13:28:17 +00:00
the_fiddler
6bd6877a97
Fixed generic type parameters (for real this time!), suppressed pointer parameters and shuffled code for improved readability.
2011-12-05 13:03:48 +00:00
the_fiddler
14c56427ed
Fixed generic parameter definitions.
2011-12-05 12:27:23 +00:00
the_fiddler
aa40b760df
Added "callback" to Java reserved keywords.
2011-12-05 12:26:54 +00:00
the_fiddler
b80b920f90
Significant improvements to the Java wrappers: generate a package, improve wrapper generation taking into account lack of ref/out parameters.
2011-12-05 11:54:06 +00:00
the_fiddler
e8b53ade10
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
154ce76303
Made the escape character for reserved keywords customizable. (C# uses '@' and Java/C++ use '_' by default). Updated the Parameter class to return escaped names by default and added a RawName parameter to access the raw names.
2011-12-05 11:49:59 +00:00
the_fiddler
6443b271dd
Added missing function declarations (WIP).
2011-12-02 14:49:26 +00:00
the_fiddler
1fa6a05c60
Added support for different per-language typemaps.
2011-12-02 13:12:53 +00:00
the_fiddler
6f1b8c11a2
Added preliminary Java wrapper generation. Heavy work-in-progress.
2011-12-02 11:27:04 +00:00
the_fiddler
442a17d799
Fixed encoding error that prevent compilation on Linux.
2011-09-26 13:23:19 +00:00
the_fiddler
52678e9479
Modified CppSpecWriter to generate single-file bindings.
2011-09-26 11:18:57 +00:00
the_fiddler
f4f0b97f7c
Added UniformBlockReferencedByGeometryShader token to ActiveUniformBlockParameter. Fixes issue [ #2616 ]: "ActiveUniformBlockParameter.UniformBlockReferencedByGeometryShader is missing".
2011-07-26 14:09:12 +00:00
the_fiddler
97f47e8cdc
Added ColorWritemask to GetIndexedPName. Fixes issue [ #2509 ]: "Missing GetIndexedPName.ColorWritemask as GetBoolean parameter".
2011-07-26 12:35:50 +00:00
the_fiddler
43afd8cf57
Added missing tokens for ARB_texture_buffer_object (core since GL3.1). Fixes issue [ #2615 ]: "GetPName.MaxTextureBufferSize is missing".
2011-07-26 12:14:17 +00:00
the_fiddler
6f53e40a5a
Updated OpenGL signatures using gl.spec revision 15037 (06 July 2011).
2011-07-26 11:55:13 +00:00
the_fiddler
55324777ca
Added documentation comments to generated enums.
...
Improved ISpecWriter API by removing low-level implementation details.
Made Constant implement IComparable so it can be sorted before being written to output.
2011-07-20 10:10:33 +00:00
the_fiddler
91519cb62b
* Structures/Enum.cs: Marked code that needs to be refactored.
2011-07-20 10:08:27 +00:00
the_fiddler
2fc35f4d70
Add APIENTRY to allow calling convention definitions.
2010-12-07 01:26:11 +00:00
the_fiddler
30238a15b7
Use namespaces instead of structs, since C++ does not support partial structures (which are necessary for the core/compatibility split).
2010-12-06 22:32:47 +00:00
the_fiddler
43b2f2ea9b
Keep a reference to the file being read.
2010-12-06 22:32:11 +00:00
the_fiddler
fabd5fb470
Improved argument parsing code.
2010-12-06 15:19:45 +00:00
the_fiddler
355f5beb7b
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
9290714716
* 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
4c8ab01b01
* EnumProcessor.cs:
...
* FuncProcessor.cs: Corrected the XPath for signature overrides.
2010-12-06 11:53:50 +00:00
the_fiddler
54f940a82a
* CppSpecWriter.cs: Do not use macros to define enumerations, as
...
this makes debugging difficult.
2010-12-06 10:26:06 +00:00
the_fiddler
cdec8f54dc
* CppSpecWriter.cs: Do not allow namespaces that start with a digit.
2010-12-06 09:52:05 +00:00
the_fiddler
9d85ba0f98
* CppSpecWriter.cs: Added inclusion guards to gldefs++ header.
2010-12-06 00:50:36 +00:00
the_fiddler
1ba7a853a4
* CppSpecWriter.cs: Renamed output files to gldef++.
...
Added preprocessor macros for enum generation.
2010-12-06 00:46:23 +00:00
the_fiddler
aedaeb1276
* Main.cs: Do not use "/" as a separator, because this breaks
...
filesystem paths on Unix.
2010-12-05 22:58:20 +00:00
the_fiddler
4d14448bbf
* CppSpecWriter.cs: Fixed indentation for #if-#endif directives.
2010-12-05 22:58:05 +00:00
the_fiddler
f9528892ae
* CppSpecWriter.cs: Fixed enumeration of deprecated functions.
...
Fixed declaration of Init() methods.
2010-12-05 16:28:30 +00:00
the_fiddler
b2d603efa8
* CppSpecWriter.cs: Fixed namespace paths for delegate loader.
2010-12-05 16:19:49 +00:00
the_fiddler
6b0784c6ca
* CppSpecWriter.cs: Replace String[] parameters by String*, as the
...
former is not valid C++ syntax.
2010-12-05 16:03:42 +00:00
the_fiddler
e23230de06
* CppSpecWriter.cs: Remove unnecessary transformation for namespace
...
separators.
2010-12-05 15:54:14 +00:00
the_fiddler
fa0a7b5eec
* 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
95a906647e
* 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
84dcb6395f
* CppSpecWriter.cs: Fixed handling of return types in wrappers.
...
Removed [OutAttribute] from the header.
2010-12-05 15:33:09 +00:00
the_fiddler
c43b148431
* CppSpecWriter.cs: FIxed handling of enum parameters.
...
Moved delegates to private structures.
2010-12-05 15:26:54 +00:00
the_fiddler
c765eaeb55
* CppSpecWriter.cs: Added definitions for GL types.
2010-12-05 11:52:51 +00:00
the_fiddler
5b4df1cdaa
* CppSpecWriter.cs: Move 3dfx namespace to T3dfx, since namespaces
...
may not start with a digit.
2010-12-05 11:32:49 +00:00
the_fiddler
e8daa7bcfa
* Main.cs:
...
* Settings.cs:
* Utilities.cs: Use separate keyword lists for each language.
2010-12-05 11:24:05 +00:00
the_fiddler
441c2cc15f
* CppSpecWriter.cs: Fixed declaration of function pointers. Modified
...
to use the delegate-wrapper paradigm, instead of exposing function
pointers directly. This way we can rely on the compiler for overload
resolution.
2010-12-05 10:47:06 +00:00
the_fiddler
7469180c13
* Specifications/License.txt: Removed #region-#endregion from the
...
license file, in order to make it compatible with C++.
2010-12-05 10:46:09 +00:00
the_fiddler
b4834360cc
* CppSpecWriter.cs: Defined Init() methods, declared all OpenGL
...
functions and fixed the formatting of the header.
2010-12-05 09:51:36 +00:00
the_fiddler
4a5313ad47
* CppSpecWriter.cs: Added constructor declaration.
2010-12-05 09:08:57 +00:00
the_fiddler
b3649572ea
* CppSpecWriter.cs: Mark deprecated functions.
2010-12-05 08:48:44 +00:00
the_fiddler
863e2b6542
* CppSpecWriter.cs: Improved C++ output (still needs work).
2010-12-05 02:20:18 +00:00
the_fiddler
4ef1407f04
* Main.cs:
...
* ES/ESGenerator.cs: Improved handling of default namespace to avoid
clash with user overrides.
2010-12-05 02:19:47 +00:00