platform/core/csapi/opentk.git
11 years agoReplace in-place instead of removing/readding
Stefanos A. [Sun, 3 Nov 2013 11:16:07 +0000 (12:16 +0100)]
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.

11 years agoEnum tokens are now sorted
Stefanos A. [Sun, 3 Nov 2013 11:15:08 +0000 (12:15 +0100)]
Enum tokens are now sorted

This only affects the in-memory representation - sorted tokens are
easier to debug.

11 years agoUse OpenTK.Graphics.OpenGL4 namespace for GL4.x
Stefanos A. [Sun, 3 Nov 2013 11:14:13 +0000 (12:14 +0100)]
Use OpenTK.Graphics.OpenGL4 namespace for GL4.x

11 years agoDefaultOutputPath now matches OpenTK source tree
Stefanos A. [Sun, 3 Nov 2013 11:13:35 +0000 (12:13 +0100)]
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.

11 years agoImproved debug output on high-order pointers
Stefanos A. [Sun, 3 Nov 2013 11:12:39 +0000 (12:12 +0100)]
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.

11 years agoAdded missing enums to gles2 profile
Stefanos A. [Sun, 3 Nov 2013 11:10:52 +0000 (12:10 +0100)]
Added missing enums to gles2 profile
Fixed undefined reference in TextureCompareMode.COMPARE_REF_TO_TEXTURE
and added strongly-typed enums for KHR_debug.

11 years agoCorrected ShaderSource for gles2 and ARB
Stefanos A. [Sun, 3 Nov 2013 01:25:15 +0000 (02:25 +0100)]
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.

11 years agoAdded doc comment on ColorFormat.Empty.
Stefanos A. [Sun, 3 Nov 2013 00:44:31 +0000 (01:44 +0100)]
Added doc comment on ColorFormat.Empty.

11 years agoAligned release and debug configurations
Stefanos A [Sun, 3 Nov 2013 00:38:38 +0000 (01:38 +0100)]
Aligned release and debug configurations

Now release and debug configurations will build the same projects.

11 years agoAdded generators for ES 2.0 and 3.0
Stefanos A [Sun, 3 Nov 2013 00:29:32 +0000 (01:29 +0100)]
Added generators for ES 2.0 and 3.0

11 years agoUpdated license information
Stefanos A [Sun, 3 Nov 2013 00:28:46 +0000 (01:28 +0100)]
Updated license information

11 years agoCleaned up the generator constructors
Stefanos A [Sun, 3 Nov 2013 00:28:01 +0000 (01:28 +0100)]
Cleaned up the generator constructors

11 years agoAdded missing newline
Stefanos A [Sun, 3 Nov 2013 00:27:33 +0000 (01:27 +0100)]
Added missing newline

Methods are now separated by a single newline.

11 years agoDo not override user defined output files
Stefanos A [Sun, 3 Nov 2013 00:27:10 +0000 (01:27 +0100)]
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.

11 years agoAdded apiversion support
Stefanos A [Sun, 3 Nov 2013 00:25:47 +0000 (01:25 +0100)]
Added apiversion support

11 years agoAdded support for overriding default output files
Stefanos A [Sun, 3 Nov 2013 00:25:27 +0000 (01:25 +0100)]
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.

11 years agoAdded gles2; added missing fog groups
Stefanos A [Sun, 3 Nov 2013 00:24:31 +0000 (01:24 +0100)]
Added gles2; added missing fog groups

11 years agoAdded support for distinguishing between api versions
Stefanos A [Sun, 3 Nov 2013 00:24:02 +0000 (01:24 +0100)]
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.

11 years agoConvert "String *" to "String"
Stefanos A [Sun, 3 Nov 2013 00:22:44 +0000 (01:22 +0100)]
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.

11 years agoAdded GetOverridesPath method
Stefanos A [Sun, 3 Nov 2013 00:20:17 +0000 (01:20 +0100)]
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").

11 years agoMark signatures.xml version
Stefanos A. [Sat, 2 Nov 2013 22:40:09 +0000 (23:40 +0100)]
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.

11 years agoRefactor apiname extraction
Stefanos A. [Sat, 2 Nov 2013 22:37:34 +0000 (23:37 +0100)]
Refactor apiname extraction

A dedicated function is now used for getting the apiname of an enum or command element. This reduces code duplication.

11 years agoFixed newline and indentation behavior
Stefanos A. [Fri, 1 Nov 2013 13:00:46 +0000 (14:00 +0100)]
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.

11 years agoFixed infinite recursion issue.
Stefanos A. [Fri, 1 Nov 2013 10:42:42 +0000 (11:42 +0100)]
Fixed infinite recursion issue.

11 years agoRegenerated bindings with the latest generator
Stefanos A. [Fri, 1 Nov 2013 08:29:42 +0000 (09:29 +0100)]
Regenerated bindings with the latest generator

The new bindings have improved enum documentation and fix an issue with
incorrect overloads in wrappers with generic parameters.

11 years agoAvoid singletons; allow -mode:all
Stefanos A. [Fri, 1 Nov 2013 08:28:54 +0000 (09:28 +0100)]
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.)

11 years agoAvoid singletons; collect code generation
Stefanos A. [Fri, 1 Nov 2013 08:27:46 +0000 (09:27 +0100)]
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.)

11 years agoAvoid singletons
Stefanos A. [Fri, 1 Nov 2013 08:26:13 +0000 (09:26 +0100)]
Avoid singletons

A reference to a Settings instance must now be stored explicitly.

11 years agoUpdated IBind implementations to avoid singletons
Stefanos A. [Fri, 1 Nov 2013 08:25:31 +0000 (09:25 +0100)]
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.

11 years agoAvoid singletons; collect all translation logic
Stefanos A. [Fri, 1 Nov 2013 08:24:18 +0000 (09:24 +0100)]
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.

11 years agoAvoid singletons; improve ToString()
Stefanos A. [Fri, 1 Nov 2013 08:21:50 +0000 (09:21 +0100)]
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.)

11 years agoAvoid singletons; improved ToString()
Stefanos A. [Fri, 1 Nov 2013 08:18:53 +0000 (09:18 +0100)]
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.

11 years agoAvoid singletons; logic in FuncProcessor
Stefanos A. [Fri, 1 Nov 2013 08:17:34 +0000 (09:17 +0100)]
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.

11 years agoAvoid singletons; Move logic to FuncProcessor
Stefanos A. [Fri, 1 Nov 2013 08:15:02 +0000 (09:15 +0100)]
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.

11 years agoAvoid singletons; Translate*() in FuncProcessor
Stefanos A. [Fri, 1 Nov 2013 08:13:06 +0000 (09:13 +0100)]
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.

11 years agoAvoid singletons; Translate*() in FuncProcessor
Stefanos A. [Fri, 1 Nov 2013 08:10:46 +0000 (09:10 +0100)]
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.

11 years agoSettings is no longer a singleton
Stefanos A. [Fri, 1 Nov 2013 08:07:34 +0000 (09:07 +0100)]
Settings is no longer a singleton

Multiple Settings instances can now be created and used in the same
process.

11 years agoSettings, GLTypes and CSTypes are now in IBind
Stefanos A. [Fri, 1 Nov 2013 08:06:49 +0000 (09:06 +0100)]
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.

11 years agoAvoid singleton Settings; make internal
Stefanos A. [Fri, 1 Nov 2013 08:03:36 +0000 (09:03 +0100)]
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.)

11 years agoAvoid singleton Settings. Allow v1 signatures
Stefanos A. [Fri, 1 Nov 2013 08:01:35 +0000 (09:01 +0100)]
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.

11 years agoAvoid using singletons
Stefanos A. [Fri, 1 Nov 2013 07:59:20 +0000 (08:59 +0100)]
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.

11 years agoImproved multiline output
Stefanos A. [Fri, 1 Nov 2013 07:57:44 +0000 (08:57 +0100)]
Improved multiline output

This lets us compose and print multiline strings without manually
adjusting indentation on each line.

11 years agoRemove deprecated elements from glcore
Stefanos A. [Wed, 30 Oct 2013 23:20:59 +0000 (00:20 +0100)]
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.

11 years agoWarn on function redefinition
Stefanos A. [Wed, 30 Oct 2013 23:20:05 +0000 (00:20 +0100)]
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.

11 years agoRenamed gloverrides.xml to overrides.xml
Stefanos A. [Wed, 30 Oct 2013 23:18:45 +0000 (00:18 +0100)]
Renamed gloverrides.xml to overrides.xml

This aligns the name of the OpenGL overrides file with that of the
OpenGL|ES implementations.

11 years agoCleaned up Generator class tree
Stefanos A. [Wed, 30 Oct 2013 23:18:07 +0000 (00:18 +0100)]
Cleaned up Generator class tree

This significantly reduces the amount of duplicated code between
Generator implementations.

11 years agoImprove sorting; remove enum-function distinction
Stefanos A. [Tue, 29 Oct 2013 18:35:35 +0000 (19:35 +0100)]
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.

11 years agoCorrected apiname xpath lookup
Stefanos A. [Tue, 29 Oct 2013 08:32:28 +0000 (09:32 +0100)]
Corrected apiname xpath lookup

11 years agoExplicitly merge functions
Stefanos A. [Tue, 29 Oct 2013 08:32:09 +0000 (09:32 +0100)]
Explicitly merge functions

Some functions are part of multiple features or extensions. For
documentation purposes, we need to correctly merge their attributes.

11 years agoMore line ending troubles...
Stefanos A. [Mon, 28 Oct 2013 13:28:57 +0000 (14:28 +0100)]
More line ending troubles...

11 years agoAllow comparison of function elements
Stefanos A. [Mon, 28 Oct 2013 13:15:58 +0000 (14:15 +0100)]
Allow comparison of function elements

This allows us to store both enums and functions in the same tree.

11 years agoStable sort and correct extension names
Stefanos A. [Mon, 28 Oct 2013 13:15:17 +0000 (14:15 +0100)]
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.

11 years agoAdd apiname parameter to ISpecReader
Stefanos A [Mon, 28 Oct 2013 13:12:23 +0000 (14:12 +0100)]
Add apiname parameter to ISpecReader

This allows us to reuse the same ISpecReader implementation to parse
different APIs (GL and GLES).

11 years agoRe-added PixelInternalFormat
Stefanos A. [Mon, 28 Oct 2013 13:11:16 +0000 (14:11 +0100)]
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.

11 years agoSort tokens within an enum
Stefanos A. [Mon, 28 Oct 2013 13:08:55 +0000 (14:08 +0100)]
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!)

11 years agoSimplifed Constant.Reference resolution
Stefanos A. [Mon, 28 Oct 2013 13:07:45 +0000 (14:07 +0100)]
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.

11 years agoMulti-API support for XML spec parser
Stefanos A. [Sun, 27 Oct 2013 22:47:52 +0000 (23:47 +0100)]
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.

11 years agoMade IsFlagsCollection read-write
Stefanos A. [Sun, 27 Oct 2013 16:35:36 +0000 (17:35 +0100)]
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.)

11 years agoImprove override lookup for extension functions.
Stefanos A. [Sun, 27 Oct 2013 00:35:53 +0000 (02:35 +0200)]
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).

11 years agoFixed the DebugProc signatures.
Stefanos A. [Sat, 26 Oct 2013 23:32:08 +0000 (01:32 +0200)]
Fixed the DebugProc signatures.

The various DebugProc* delegates now conform to their specifications.

11 years agoRegenerated using latest generator.
Stefanos A. [Sat, 26 Oct 2013 23:31:20 +0000 (01:31 +0200)]
Regenerated using latest generator.

11 years agoMoved more transformations into the *Processor classes.
Stefanos A. [Sat, 26 Oct 2013 23:30:45 +0000 (01:30 +0200)]
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.

11 years agoRead extension list from xml spec; new acronyms.
Stefanos A [Sat, 26 Oct 2013 23:25:29 +0000 (01:25 +0200)]
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.

11 years agoImproved extension detection in .spec parser.
Stefanos A. [Sat, 26 Oct 2013 23:24:04 +0000 (01:24 +0200)]
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.

11 years agoFunctions are now categorized correctly according to their extensions.
Stefanos A. [Fri, 25 Oct 2013 22:07:49 +0000 (00:07 +0200)]
Functions are now categorized correctly according to their extensions.

11 years agoFixed the parsing of extensions.
Stefanos A. [Fri, 25 Oct 2013 22:07:00 +0000 (00:07 +0200)]
Fixed the parsing of extensions.

11 years agoMASK_COHERENT_BIT should be MAP_COHERENT_BIT
Stefanos A. [Fri, 25 Oct 2013 14:43:43 +0000 (16:43 +0200)]
MASK_COHERENT_BIT should be MAP_COHERENT_BIT

11 years agoTrim the final endline regardless of operating system.
Stefanos A. [Fri, 25 Oct 2013 14:31:26 +0000 (16:31 +0200)]
Trim the final endline regardless of operating system.
Fixes differences between bindings generated on Windows and Linux/Mac.

11 years agoThe last parameter of GL.ShaderSource should be an array.
Stefanos A. [Fri, 25 Oct 2013 14:30:50 +0000 (16:30 +0200)]
The last parameter of GL.ShaderSource should be an array.

11 years agoFixed ShaderSource and VertexArrayFogCoordOffsetEXT parameters.
Stefanos A. [Fri, 25 Oct 2013 14:30:20 +0000 (16:30 +0200)]
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.

11 years agoCorrected the values of the GL_NEXT_BUFFER_NV and
Stefanos A. [Fri, 25 Oct 2013 14:10:51 +0000 (16:10 +0200)]
Corrected the values of the GL_NEXT_BUFFER_NV and
GL_SKIP_COMPONENTS_*_NV extensions.

11 years agoCheck the existence of a Constant reference using the
Stefanos A. [Fri, 25 Oct 2013 06:57:33 +0000 (08:57 +0200)]
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.

11 years agoStrip struct and const identifiers from the output. This matches the
Stefanos A. [Fri, 25 Oct 2013 06:55:12 +0000 (08:55 +0200)]
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.

11 years agoAllow spaces in pointer types (e.g. "GLchar * *").
Stefanos A. [Fri, 25 Oct 2013 06:52:34 +0000 (08:52 +0200)]
Allow spaces in pointer types (e.g. "GLchar * *").
Added todo for string->String translation that is overwritten
immediately.

11 years agoFixed translation of GLchar** (should be string[], not string). Added
Stefanos A. [Fri, 25 Oct 2013 06:48:24 +0000 (08:48 +0200)]
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.

11 years agoAdded DEBUGPROCKHR for the KHR_debug extension. Added
Stefanos A. [Fri, 25 Oct 2013 06:47:17 +0000 (08:47 +0200)]
Added DEBUGPROCKHR for the KHR_debug extension. Added
CompressedTextureARB that is encountered in the new gl.xml registry.

11 years agoFixed implementation of IsValue. Improved the handling of value
Stefanos A. [Fri, 25 Oct 2013 06:45:02 +0000 (08:45 +0200)]
Fixed implementation of IsValue. Improved the handling of value
(number) parameters.

11 years agoAdded support for overriding the element count of an array parameter.
Stefanos A. [Thu, 24 Oct 2013 20:42:12 +0000 (22:42 +0200)]
Added support for overriding the element count of an array parameter.

11 years agoImproved grouping of enumerations. Fixed missing extension
Stefanos A. [Thu, 24 Oct 2013 18:56:28 +0000 (20:56 +0200)]
Improved grouping of enumerations. Fixed missing extension
enumerations.

11 years agoDon't crash on non-numeric element counts.
Stefanos A [Thu, 24 Oct 2013 16:49:38 +0000 (18:49 +0200)]
Don't crash on non-numeric element counts.

11 years agoImproved diagnostic message in case of a circular definition.
Stefanos A. [Thu, 24 Oct 2013 16:46:58 +0000 (18:46 +0200)]
Improved diagnostic message in case of a circular definition.

11 years agoReturn type should be defined in the "type" attribute of the returns
Stefanos A. [Thu, 24 Oct 2013 16:42:52 +0000 (18:42 +0200)]
Return type should be defined in the "type" attribute of the returns
element.

11 years agoTokens in "All" enum should have a name of "token" not "enum".
Stefanos A. [Thu, 24 Oct 2013 16:41:09 +0000 (18:41 +0200)]
Tokens in "All" enum should have a name of "token" not "enum".

11 years agoImplemented translation of function attributes (api, category,
Stefanos A. [Thu, 24 Oct 2013 16:32:09 +0000 (18:32 +0200)]
Implemented translation of function attributes (api, category,
deprecated, extension, version).

11 years agoInitial implementation of new XML spec parser.
Stefanos A. [Thu, 24 Oct 2013 15:19:52 +0000 (17:19 +0200)]
Initial implementation of new XML spec parser.

11 years agoImplemented Sdl2GraphicsMode..
Stefanos A. [Thu, 24 Oct 2013 07:32:17 +0000 (09:32 +0200)]
Implemented Sdl2GraphicsMode..

11 years agoUpdated gl4 documentation according to latest manpages
Stefanos A [Thu, 24 Oct 2013 07:03:15 +0000 (09:03 +0200)]
Updated gl4 documentation according to latest manpages

11 years agoFixed ClearTex[Sub]Image <type> parameter
Stefanos A [Thu, 24 Oct 2013 06:57:25 +0000 (08:57 +0200)]
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.

11 years agoUpdated to SDL 2.0.1
Stefanos A [Thu, 24 Oct 2013 06:56:44 +0000 (08:56 +0200)]
Updated to SDL 2.0.1

11 years agoRemoved sdl2-cs in favor of a leaner, better-designed binding.
Stefanos A. [Thu, 24 Oct 2013 00:02:35 +0000 (02:02 +0200)]
Removed sdl2-cs in favor of a leaner, better-designed binding.

11 years agoMerge branch 'gl4' of https://github.com/thefiddler/opentk
Stefanos A [Wed, 23 Oct 2013 23:47:00 +0000 (01:47 +0200)]
Merge branch 'gl4' of https://github.com/thefiddler/opentk

11 years agoImplemented new, leaner SDL2 binding.
Stefanos A [Wed, 23 Oct 2013 23:45:13 +0000 (01:45 +0200)]
Implemented new, leaner SDL2 binding.

The new binding is based on the SDL2.0.1 RC1 headers.

11 years agoUpdated documentation according to the latest GL4 manpages.
Stefanos A [Wed, 23 Oct 2013 18:19:16 +0000 (20:19 +0200)]
Updated documentation according to the latest GL4 manpages.

11 years agoUpdated documentation according to the latest available manpages.
Stefanos A. [Wed, 23 Oct 2013 18:17:08 +0000 (20:17 +0200)]
Updated documentation according to the latest available manpages.

11 years agoImplemented "Debug Output" and "State and State Requests"
Stefanos A. [Wed, 23 Oct 2013 18:12:05 +0000 (20:12 +0200)]
Implemented "Debug Output" and "State and State Requests"
functionality according to the OpenGL 4.4 specification, sections 20
and 22.

11 years agoImplemented "Reading and Copying Pixels" functionality from the OpenGL
Stefanos A. [Wed, 23 Oct 2013 16:54:34 +0000 (18:54 +0200)]
Implemented "Reading and Copying Pixels" functionality from the OpenGL
4.4 specification, sections 18.2 and 18.3.

11 years agoImplemented Whole Framebuffer commands according to the OpenGL 4.4
Stefanos A. [Wed, 23 Oct 2013 09:43:11 +0000 (11:43 +0200)]
Implemented Whole Framebuffer commands according to the OpenGL 4.4
specification, section 17.4.

11 years agoPrefer overrides with exact name matches over generic name matches.
Stefanos A. [Wed, 23 Oct 2013 09:42:24 +0000 (11:42 +0200)]
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.

11 years agoImplemented per-fragment operations according to the OpenGL 4.4
Stefanos A. [Wed, 23 Oct 2013 08:49:29 +0000 (10:49 +0200)]
Implemented per-fragment operations according to the OpenGL 4.4
specification, section 17.

11 years agoImplemented Vertex Post-Processing according to the OpenGL 4.4
Stefanos A. [Wed, 23 Oct 2013 08:23:02 +0000 (10:23 +0200)]
Implemented Vertex Post-Processing according to the OpenGL 4.4
specification, section 13.