mirror of
https://github.com/Ryujinx/Opentk.git
synced 2025-01-22 18:11:05 +00:00
Updated version numbers and documentation for the 0.9.6 release.
This commit is contained in:
parent
9265747541
commit
0c39a6c2d4
|
@ -1,5 +1,31 @@
|
|||
[Legend: complete('+') | WIP('*') | missing('-')]
|
||||
|
||||
---------------------
|
||||
OpenTK 0.9.5 -> 0.9.6
|
||||
---------------------
|
||||
+ Bind
|
||||
+ Improved heuristics for inline OpenGL documentation.
|
||||
* Void pointers are now mapped to generic arrays (T[]) or references (ref T), where T : struct. Work in progress (see http://www.opentk.com/node/703).
|
||||
+ Generated bindings now automatically check for OpenGL errors, when compiled in debug mode.
|
||||
+ Disabled all generator modes except for GL.
|
||||
|
||||
+ OpenTK
|
||||
+ Fixed all build warnings (apart from missing documentation comments).
|
||||
+ Graphics
|
||||
+ Improved inline documentation.
|
||||
+ Added automatic OpenGL error checking in debug builds.
|
||||
+ Replaced object overloads with generics for improved type-safety and performance.
|
||||
+ Updated to version 48 specs (fixed some problems with the transform feedback extension).
|
||||
+ Platform
|
||||
+ Fixed GLX context attributes in the GLX_ARB_create_context code path.
|
||||
+ Revert to the legacy GLX code path for pre-GL3.0 contexts (AMD drivers do not support vsync on GL3.0+).
|
||||
+ Audio
|
||||
+ AudioContext now initializes the maximum number of effect slots supported by the drivers.
|
||||
+ Added IsSynchronized property.
|
||||
|
||||
+ Examples
|
||||
+ New OpenAL example (EFX reverb).
|
||||
|
||||
---------------------
|
||||
OpenTK 0.9.4 -> 0.9.5
|
||||
---------------------
|
||||
|
|
|
@ -14,3 +14,4 @@ Kostas Soulakellis
|
|||
Per
|
||||
Pokemoen
|
||||
Mincus
|
||||
snocrash
|
|
@ -1,6 +1,6 @@
|
|||
The Open Toolkit library license
|
||||
|
||||
Copyright (c) 2006 - 2008 The Open Toolkit library.
|
||||
Copyright (c) 2006 - 2009 The Open Toolkit library.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
|
|
|
@ -1,21 +1,71 @@
|
|||
The Open Toolkit 0.9.5 Beta -- Release notes
|
||||
The Open Toolkit 0.9.6 Beta -- Release notes
|
||||
|
||||
[ Overview]
|
||||
|
||||
This release adds inline documentation to OpenTK.Graphics.GL,
|
||||
adds support for OpenGL 3.0 on Linux, improves joystick
|
||||
support on all platforms and fixes the mapping between unsigned
|
||||
and signed OpenGL functions (e.g. Uniform1ui vs Uniform1i).
|
||||
This release introduces:
|
||||
* automatic OpenGL error checking;
|
||||
* generics for improved type-safety in the OpenGL bindings
|
||||
* bug fixes related to OpenGL 3.0 contexts on Linux
|
||||
* improved documentation in OpenTK.Graphics
|
||||
* a new EFX example ("EFX: Reverb").
|
||||
|
||||
Please report any issues you may encounter at http://www.opentk.com.
|
||||
|
||||
|
||||
|
||||
[API changes]
|
||||
|
||||
No breaking changes were introduced in OpenTK 0.9.5. Please note
|
||||
that binary compatibility is not preserved between beta releases.
|
||||
Please note that binary compatibility is not preserved between
|
||||
beta releases.
|
||||
|
||||
It is now possible to use joystick-like devices that contain 0 axes
|
||||
and / or buttons (e.g. tablets). Make sure that your application
|
||||
checks device capabilities before trying to use a joystick.
|
||||
OpenTK 0.9.6 replaces object overloads in OpenTK.Graphics
|
||||
with generics. For example GL.CallLists changes from:
|
||||
|
||||
void CallLists(int n, object data)
|
||||
|
||||
to:
|
||||
|
||||
void CallLists<T>(int n, ref T data) where T : struct
|
||||
void CallLists<T>(int n, T[] data) where T : struct
|
||||
void CallLists<T>(int n, T[,] data) where T : struct
|
||||
void CallLists<T>(int n, T[,,] data) where T : struct
|
||||
|
||||
This change is intended to improve performance (no boxing)
|
||||
and type-safety in the OpenGL bindings.
|
||||
|
||||
This is a breaking change in the following cases:
|
||||
|
||||
Case: You pass parameters to the relevant function by value.
|
||||
Solution: Please pass the parameters by reference.
|
||||
|
||||
Case: You use 4d or higher-dimension arrays.
|
||||
Solution: Consider reducing the dimension of the array. If
|
||||
this is not possible, please pin the array and pass a pointer
|
||||
instead.
|
||||
|
||||
Case: You use jagged arrays.
|
||||
Solution: Jagged arrays are not safe for use with OpenGL.
|
||||
Please change to multi-dimension arrays.
|
||||
|
||||
Case: You use objects that do not satisfy the struct constraint.
|
||||
Solution: Reference types are not safe for use with OpenGL.
|
||||
Please use pure value types instead.
|
||||
|
||||
Pure value types are value types that recursively reference other
|
||||
value types only. For example, the following are pure value types:
|
||||
|
||||
struct Vector3 { public float X, Y, Z; }
|
||||
struct Color4 { public float R, G, B, A; }
|
||||
struct Vertex {
|
||||
public Vector3 Position;
|
||||
public Color4 Color;
|
||||
}
|
||||
|
||||
while the following are not:
|
||||
// reference type
|
||||
class Player { public Vector3 Position; }
|
||||
// value type that contains reference type
|
||||
struct Item { public Player Player; }
|
||||
|
||||
Only pure value types are safe for use with OpenGL. Future OpenTK
|
||||
releases will contain additional runtime checks to enforce this
|
||||
constraint.
|
|
@ -5,9 +5,14 @@
|
|||
|
||||
[OpenTK.Graphics.GL]
|
||||
+ Improve performance for functions that return StringBuilders.
|
||||
+ Enforce PureValue constraint in generic classes.
|
||||
+ Improve performance for functions that take generic arrays.
|
||||
+ Fix documentation - parameter mismatches.
|
||||
+ Add GL3.1 support.
|
||||
|
||||
[OpenTK.Graphics.GraphicsContext]
|
||||
+ FSAA support (very simple, now that GL3 support has been added.)
|
||||
+ Implement GL3 support on Mac OS X.
|
||||
|
||||
[OpenTK.GLControl]
|
||||
+ Improve the designer interface.
|
||||
|
@ -22,27 +27,4 @@
|
|||
+ Add more comprehensive Graphics and Audio tutorials.
|
||||
|
||||
[OpenTK.Compute]
|
||||
+ Begin the implementation.
|
||||
|
||||
|
||||
[Call performance]
|
||||
|
||||
AMD Venice 3200+ @2250MHz, Vista Business x64, .Net 2.0 x64 optimized build (+-5%):
|
||||
+ Dummy managed call:
|
||||
+ Inline function: 100000000 calls/second.
|
||||
+ Function with try: 74500000 calls/second. <--- With try { } finally { } block
|
||||
+ Delegates loaded with reflection:
|
||||
+ GL.Vertex2f: 21878992 calls/second. (wrapper->delegate->import->unmanaged)
|
||||
+ GL.Vertex2fv: 23237133 calls/second. <--- 'fixed' statement.
|
||||
+ GL.ARB.ActiveTexture: 20133679 calls/second. (wrapper->delegate->unmanaged)
|
||||
* GL.ColorPointer: 2870254 calls/second. <--- GCHandle.Alloc and Free
|
||||
+ Delegates loaded with constructors:
|
||||
+ GL.Vertex2f: 22396040 calls/second.
|
||||
+ GL.Vertex2fv: 22448539 calls/second. <--- fixed statement
|
||||
+ GL.ARB.ActiveTexture: 19920181 calls/second.
|
||||
* GL.ColorPointer: 2340392 calls/second. <--- GCHandle.Alloc and Free
|
||||
* GL.Vertex2fv: 2260000 calls/second. <--- GCHandle.Alloc and Free
|
||||
+ Direct DllImport (import->unmanaged)
|
||||
+ glVertex2f_1: 10445125 calls/second. <--- Unmanaged Code Security active
|
||||
+ glVertex2f_2: 24684893 calls/second. <--- Unmanaged Code Security suppressed
|
||||
+ glVertex2fv: 25896611 calls/second. <--- Unmanaged Code Security suppressed
|
||||
+ Begin the implementation.
|
|
@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
|||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
[assembly: AssemblyVersion("0.9.9.6")]
|
||||
[assembly: AssemblyFileVersion("0.9.9.6")]
|
||||
[assembly: AssemblyVersion("0.9.9.7")]
|
||||
[assembly: AssemblyFileVersion("0.9.9.7")]
|
||||
|
|
|
@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
|||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
[assembly: AssemblyVersion("0.9.5.0")]
|
||||
[assembly: AssemblyFileVersion("0.9.5.0")]
|
||||
[assembly: AssemblyVersion("0.9.6.0")]
|
||||
[assembly: AssemblyFileVersion("0.9.6.0")]
|
||||
|
|
|
@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
|||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
[assembly: AssemblyVersion("0.9.4.0")]
|
||||
[assembly: AssemblyFileVersion("0.9.4.0")]
|
||||
[assembly: AssemblyVersion("0.9.6.0")]
|
||||
[assembly: AssemblyFileVersion("0.9.6.0")]
|
||||
|
|
Loading…
Reference in a new issue