Jump to content
Compatible Support Forums
Sign in to follow this  
news

Release Cogl 1.9.6 (snapshot)

Recommended Posts

Good news, everyone!

 

A new Cogl snapshot (1.9.6) is now available:

 

LATEST NEWS

-------------------------------------------------------------------------------

These are the changes since Cogl 1.9.4:

 

» New conformance tests or tests ported from Clutter:

test-offscreen

test-primitive

test-texture-3d

» New public experimental functions:

cogl_pipeline_get_layer_texture

cogl_primitive_copy

cogl_primitive_foreach_attribute

cogl_primitive_get_indices

cogl_pipeline_get_layer_{min,max}_filter

» Added cogl_kms_renderer_get_kms_fd to get the KMS file descriptor.

» Bug fixed in the KMS support where it would crash on cleanup if it

couldn't save the CRTC state.

» Bug fixed in the Wayland compositor support where it would leak

EGLImages when creating a texture from a buffer

» The swap_buffer callback in GLX is now delayed until

cogl_poll_dispatch is called so that apps can handle it more

predictably.

» Fixes for bugs with pipelines that are trying to use a layer with

a NULL texture.

» New cogl_framebuffer_* API for drawing directly to the framebuffer

without having to push the framebuffer. Ideally we want to move

towards this style of API in future with no global stacks.

» Most of the _EXP suffixes have been removed from the experimental

API symbols in the hope that the gtk-doc unstable annotation will

be enough to distinguish these.

» Add a COGL_DEBUG=winsys option

» CoglBuffer and CoglPrimitive now take an explicit CoglContext

argument in their constructor. We want to move towards getting rid

of the global context.

» Updates to the MSVC build support.

» Add cogl_pipeline_set_layer_null_texture(). This can be used for

base pipelines instead of having to create a dummy texture.

» Fix some bugs where Cogl was assuming there is a direct mapping

between the pipeline layer number and the GL texture unit number.

» In snippets, there are now always builtin sampler uniforms for

every layer of the pipeline. This makes it easier to write GLSL

that samples arbitrary units.

» The texture lookup snippet hook now gets passed the sampler for

the unit. The snippet can use this to sample the texture multiple

times.

» Some public constants for CoglPixelFormat have been removed

(COGL_UNPREMULT_MASK, COGL_UNORDERED_MASK and

COGL_PIXEL_FORMAT_{24,32}).

» 30-bit pixel formats added.

» COGL_DEBUG=wireframes now correctly renders primitives using

vertex shader snippets.

» cogl_framebuffer_swap_buffers and friends have been renamed to

cogl_onscreen_swap_buffers.

» If the experimental 2.0 API is requested, as far as possible the

headers for the 1.0 API are no longer included. Define

COGL_ENABLE_EXPERIMENTAL_API instead if you want to mix both APIs.

 

• List of bugs fixed since Cogl 1.9.4

 

https://bugzilla.gnome.org:

 

#660188 - Color corruption with software rendering at 30-bit color depth

#668385 - Missing G_END_DECLS in cogl-poll.h

#668856 - Do not look for GLES2-only GLSL prototypes on GL

#668913 - The journal for an offscreen doesn't get flushed when

cogl_texture_get_data is called

#669368 - Reading back texture fails with ‘Invalid operation’ + wrong image

#669785 - Build fixes for COGL master (1.9.x)

 

• Note the following conformance tests are currently failing with

the GLES2 driver but they were also failing in 1.9.4:

test_cogl_depth_test, test_cogl_sub_texture, test_cogl_texture_3d

 

Many thanks to:

 

Robert Bragg

Chun-wei Fan

Damien Leone

Emmanuele Bassi

Jasper St. Pierre

Chao-Hsiung Liao

Gheyret Kenji

Ihar Hrachyshka

Kasia Bondarava

Kenneth Nielsen

Kjartan Maraas

Ryan Lortie

 

FETCHING THE RELEASE

-------------------------------------------------------------------------------

 

Tarballs can be downloaded from:

 

http://source.clutter-project.org/sources/cogl/1.9/

http://download.gnome.org/sources/cogl/1.9/

 

SHA256 Checksum:

 

2b3b6c17fb38c037cf3de7643394236e3b179adadc43a81674514ec6ff71408f

cogl-1.9.6.tar.bz2

 

Additionally, a git clone of the source tree:

git clone git://git.gnome.org/cogl

 

will include a signed 1.9.6 tag which points to a commit named:

d09fcb336752ab486e4c905abc8443beff7e864d

 

which can be verified with:

git verify-tag 1.9.6

 

and can be checked out with a command such as:

git checkout -b build 1.9.6

 

DESCRIPTION

-------------------------------------------------------------------------------

 

Cogl is a small open source library for using 3D graphics hardware for

rendering. The API departs from the flat state machine style of OpenGL and is

designed to make it easy to write orthogonal components that can render without

stepping on each others toes.

 

As well as aiming for a nice API, we think having a single library as opposed

to an API specification like OpenGL has a few advantages too; like being

able to paper over the inconsistencies/bugs of different OpenGL

implementations in a centralized place, not to mention the myriad of OpenGL

extensions. It also means we are in a better position to provide utility

APIs that help software developers since they only need to be implemented

once and there is no risk of inconsistency between implementations.

 

Having other backends, besides OpenGL, such as drm, Gallium or D3D are

options we are interested in for the future.

 

 

REQUIREMENTS

-------------------------------------------------------------------------------

 

Cogl currently only requires:

 

• GLib ≥ 2.28.0

• OpenGL ≥ 1.3 (or 1.2 + multitexturing), or OpenGL ES 2.0 (or 1.1)

• GLX, AGL, WGL or an EGL implementation

 

Cogl also has optional dependencies:

 

• GDK-Pixbuf ≥ 2.0

- for image loading

• Cairo ≥ 1.10

- for debugging texture atlasing (debug builds only)

 

The optional Cogl Pango library requires:

• Cairo ≥ 1.10

• PangoCairo ≥ 1.20

 

On X11, Cogl depends on the following extensions

 

• XComposite ≥ 0.4

• XDamage

• XExt

• XFixes ≥ 3

 

When running with OpenGL, Cogl requires at least version 1.3

or 1.2 with the multitexturing extension. However to build Cogl

you will need the latest GL headers which can be obtained from:

 

http://www.khronos.org

 

If you are building the API reference you will also need:

 

• GTK-Doc ≥ 1.13

 

If you are building the additional documentation you will also need:

 

• xsltproc

• jw (optional, for generating PDFs)

 

If you are building the Introspection data you will also need:

 

• GObject-Introspection ≥ 0.9.5

 

GObject-Introspection is available from:

 

git://git.gnome.org/gobject-introspection

 

If you want support for profiling Cogl you will also need:

 

• UProf ≥ 0.3

 

UProf is available from:

 

git://github.com/rib/UProf.git

 

 

 

DOCUMENTATION

-------------------------------------------------------------------------------

 

The 1.x API is documented here:

http://docs.clutter-project.org/docs/cogl/1.9

The experimental 2.0 API is documented here:

http://docs.clutter-project.org/docs/cogl-2.0-experimental/1.9

 

 

RELEASE NOTES

-------------------------------------------------------------------------------

- This is a development snapshot release so there are not API or ABI stability

guarantees at this point for new APIs since the last stable release.

 

- This Cogl release exports a 1.x API (For third-party Clutter

developers to write custom actors) and an experimental 2.0 API which

allows standalone application development.

 

- Internally Clutter depends on the Cogl 2.0 experimental API so we maintain

runtime compatibility between the 1.x API and experimental 2.0 APIs, which

means developers can mix-and-match their use of the APIs in the same

process. API selection is done per-file by including a line like: '#define

COGL_ENABLE_EXPERIMENTAL_2_0_API' before including cogl.h or clutter.h.

 

- We recommend using the 2.0 API if you don't mind up[censored] your code once in

a while as this API evolves and stabilizes. We promise not to break the 2.0

API during a 1.x stable cycle and hope that will encourage people to

experiment with it and give critical feedback! For example after releasing

1.8, the 2.0 API will be stable for 1.8.1, 1.8.2, 1.8.3 etc, but may update

for 1.9/1.10.

 

- Because we export the 1.x and 2.0 APIs from one libcogl.so the library

versioning, and thus ABI, can only be considered as stable as our 2.0 API -

i.e. during a stable release 1.x cycle.

 

- Please report bugs using the Cogl Bugzilla product, at:

http://bugzilla.gnome.org/enter_bug.cgi?product=cogl

 

Regards,

- Neil

_______________________________________________

 

Share this post


Link to post

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×