1
0
Fork 0
mutter-performance-source/NEWS
2015-02-23 19:45:05 +00:00

1417 lines
52 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Cogl 1.20.0 2015-03-23
• List of changes since Cogl 1.18.2
» Support for "quad buffer" based stereo rendering
» Support for Mir window system
» A number of updates for the Wayland support
» Improved vblank sync when using glXWaitForMSC
Many thanks to:
Marco Trevisan (Treviño)
Owen W. Taylor
Robert Bragg
Rui Matos
Adel Gadllah
Chris Wilson
Necdet Yücel
Sebastian Rasmussen
Seong-ho Cho
Ting-Wei Lan
Cogl 1.18.2 2014-06-03
• List of changes since Cogl 1.18.0
» MSVC updates
» KMS improvements for use by GNOME Shell
» EGL backend improvement to avoid creating a dummy surface if
driver supports EGL_KHR_surfacless_context extension
» cogl-x11-tfp example fixes
• Gnome Bugzilla bugs closed since 1.18.0:
#728064 - New AtlasTextures should keep designated atlas alive
#728628 - Fails to link from C++ applications due to excessive
symbol mangling
#728978 - Don't set EGL_PLATFORM
#728979 - Call swap notify handler even when pageflip ioctl fails
#730536 - Add apis needed for mutters compositor bypass
Many thanks to:
Chun-wei Fan
Neil Roberts
Adel Gadllah
Kristian Høgsberg
Emanuele Aina
Felix Riemann
Cogl 1.18.0 2014-03-21
• List of changes since Cogl 1.17.4
» The license has been changed to the MIT license. This is more
permissive than the previous LGPLv2 license and is still
compatible with the GPL and LGPL. For more background on why we
decided to make this change please see the following post on the
mailing list:
http://lists.freedesktop.org/archives/cogl/2013-December/001465.html
» GObject introspection support has been greatly improved.
» Add cogl_kms_renderer_set_kms_fd to make the KMS backend use a
non-default GPU.
» Fix a hang in the Wayland backend if it can't find some globals
that it needs.
» Add cogl_gst_video_sink_get_natural_size to query a suggested size
for a Cogl-GST sink
» Add API to query the EGL and GLX contexts. This is intended to be
used to make a shared GL context.
» Fix advertising the deprecated buffer age feature flag on EGL.
» Add a new non-deprecated feature flag for the buffer age.
» Fix a bug with allocating textures in Cogl-GST.
» Fix a bug with the cogl-basic-video-player example where it would
try to use non-existant mipmaps.
» Fix selecting the GL driver in the SDL2 winsys.
» Updates to the MSVC build files.
• Gnome Bugzilla bugs closed since 1.17.4:
#724992 - get the opengl context from cogl
Many thanks to:
Chun-wei Fan
Robert Bragg
Lionel Landwerlin
Jasper St. Pierre
Wylmer Wang
Cogl 1.17.4 2014-02-20
• List of changes since Cogl 1.17.2
» cogl-gst now ensures that sampled video fragments are always
pre-multiplied with the alpha component.
» cogl-gst now has NV12 format support.
» The cogl-basic-video-player example can now be passed an
custom gstreamer pipeline description, as long as it contains
a coglsink element.
» The -experimental-2.0 pkg-config files now all depend on
cogl-2.0-experimental instead of cogl-1.0.
• Gnome Bugzilla bugs closed since 1.17.2:
#712832 - video-sink: Add NV12 shader support
#719741 - GLX winsys: fix feature handling for INTEL_swap_event
#722765 - Fix the exported symbols regular expression in cogl-path
#723530 - cogl-pipeline: SEGV in _cogl_pipeline_fragend_glsl_end
Many thanks to:
Neil Roberts
Lionel Landwerlin
Andreas Oberritter
Daniel Korostil
Emmanuele Bassi
Kjartan Maraas
Owen W. Taylor
Cogl 1.17.2 2014-01-20
• List of changes since Cogl 1.16.0
» Textures are now allocated lazily. This means the textures can
optionally be configured with extra API before data is uploaded to
them.
» The internal format for textures has been replaced with a simpler
property to just set the number of components that will be
required when sampling.
» Depth writing can now be disabled per-framebuffer as well as on
the CoglPipeline.
» The interface typedefs such as CoglTexture, CoglFramebuffer and
CoglBitmap etc are now defined as void so that it is no longer
necessary to use type-cast macros when passing them to interface
methods.
» YV12/I420 support in cogl-gst is fixed.
» Added support for red-green 2-component textures.
» The cache of GLSL shaders is now garbage collected when it gets
too large.
» cogl_framebuffer_push_path_clip is fixed.
» cogl-path is now split out into a separate library.
» New function cogl_wayland_texture_set_region_from_shm_buffer to
update a texture from a Wayland SHM bufffer.
» The pkg-config files for cogl-gst and cogl-gles2 have new more
consistent names.
• Gnome Bugzilla bugs closed since 1.16.0:
#706808 - "Unable to locate required kms libraries" message is really
uninformative
#709827 - Add API to control per-FB depth writing
#710135 - Fix build on big endian
#710926 - Build fails without declaration of wl_resource
#712562 - Fixes for the journal
#712830 - Add COGL_PIXEL_FORMAT_U_V
#719546 - cogl-framebuffer: Fix a potential NULL pointer dereference
#719582 - cogl-framebuffer: Don't mark the clear clip dirty from the
journal
#720287 - cogl-path: Export cogl_clip_push_from_path
#721450 - Re-enable swap_region for mesa 10.1+ llvmpipe / swrast
Many thanks to:
Robert Bragg
Jasper St. Pierre
Adel Gadllah
Lionel Landwerlin
Chun-wei Fan
Colin Walters
Emilio Pozuelo Monfort
Hans Petter Jansson
Cogl 1.16.0 2013-09-23
• List of changes since Cogl 1.15.10
» MSVC build updates
» Correctly mark CoglAtlasTexture api as public
» Lots of gtk-doc/introspection annotation fixes
• Gnome Bugzilla bugs closed since 1.15.10:
#704750 - egl: don't bind the wayland display if the extension is
not available
Many thanks to:
Lionel Landwerlin
Robert Bragg
Chun-wei Fan
Giovanni Campagna
Neil Roberts
Cogl 1.15.10 2013-09-02
• List of changes since Cogl 1.15.8
» Added API to set the onscreen template on a CoglDisplay outside of
the constructor.
» Added public API to configure the layout of displays when using
the KMS winsys.
» Added a cogl_point_coord builtin variable for snippets which can
be used to render point sprites in more dynamic ways.
» cogl_texture_new_with_size now returns NULL on failure. This
behaviour was accidentally changed in 1.14.0.
» Fixed a problem with setting the precision specifiers on GLES2
which was causing a lot of problems with the latest Mesa.
» Added a “webgl” driver to manage the differences in GLES2 when
compiling with emscripten.
» Fixed a bug with paths which was causing Clutter's texture-fbo
test to crash.
» Some issues with introspecting the cogl-pango API were fixed.
» Added an example using point sprites.
» Build fixes for building with MinGW32.
» Updates to the MSVC build files.
» Documentation fixes to the snippets API.
• Gnome Bugzilla bugs closed since 1.15.8:
#705837 - kms: add public API to override the default configuration
of outputs
Many thanks to:
Chun-wei Fan
Robert Bragg
Jasper St. Pierre
Damien Lespiau
Giovanni Campagna
Cogl 1.15.8 2013-08-20
• List of changes since Cogl 1.15.6
Brown bag release to fix a problem with including cogl-path.h from
cogl.h that meant only code defining
COGL_ENABLE_EXPERIMENTAL_2_0_API would get access to the CoglPath
API.
We now ignore whether COGL_ENABLE_EXPERIMENTAL_2_0_API is defined so
clutter which does define it will see the api and so will clutter
users that don't define it.
Cogl 1.15.6 2013-08-19
• List of changes since Cogl 1.15.4
» Fixed runtime selection of egl-kms backend
» Split out the CoglPath api in-line with cogl master to reduce
divergence, but updated to not break the 1.x API/ABI
» Reverted the semantic change to cogl_offscreen_new_to_texture to
make it synchronously allocate as it did in cogl-1.14. A
replacement cogl_offscreen_new_with_texture api has been
introduced to support the asynchronous allocation behaviour
required to allow configuration of a framebuffer before
allocation.
» Fixed a problem with binding attribute locations with desktop GL
drivers, required to work with the latest Mesa.
» Some configure.ac documentation fixes
» In cogl-gst we make sure to only emit the "pipeline-ready" signal
once the new textures have actually been uploaded.
» Various MSVC build fixes
Note: we took some care to try and avoid breaking the ABI and
chaning the soname relative to the last 1.15.4 snapshot.
• Gnome Bugzilla bugs closed since 1.15.4:
#703500 - 49 Conform Tests Regressed (FAIL)
#703174 - Crash when switching user with gnome 3.8 using nvidia drivers
#705836 - egl-kms: set the EGL_PLATFORM explicitly
#705591 - SIGSEGV in various conformance tests on wayland
Many thanks to:
Chun-wei Fan
Neil Roberts
Robert Bragg
Adel Gadllah
Fan Chun-wei
Giovanni Campagna
Lionel Landwerlin
Cogl 1.15.4 2013-07-30
• List of changes since Cogl 1.15.2
» Added experimental API to directly expose atlas textures.
» Added new_from_file/data/bitmap APIs for sliced textures.
» Added new_from_file APIs for 2D textures.
» Added cogl_primitive_draw as a new name for the
cogl_framebuffer_draw_primitive function.
» Removed the attribute drawing APIs. Instead applications should
create a primitive and draw that.
» Fixed bug where Cogl would busy-wait with 100% CPU if the Wayland
compositor is closed.
» The COGL_FRAME_EVENT_SYNC events are now sent based on the frame
callback with the Wayland backend.
» New cogl_gst_video_sink_is_ready() function to determine whether a
Cogl-GST video sink is ready to have the pipeline queried.
» Fixed a potential bug with the blending enabled state when copying
a pipeline.
» Fixed detecting the Mesa vendor when GL 3 is used.
» Fixed a reference leak on the CoglRenderer.
» Fixes to the Visual Studio build files.
Many thanks to:
Robert Bragg
Chun-wei Fan
Damien Lespiau
Cogl 1.15.2 2013-07-09
• List of changes since Cogl 1.14.0
» Lots of Wayland backend work, including updated compositor support
» Updated cogland, a simple example wayland compositor using Cogl
» Made the onscreen resize callback work the same as the frame callback
» New cogl_onscreen_swap_buffers_with_damage api
» New fence API
» New Emscripten support (only basic at the moment)
» Improved blend state tracking
» New cogl_onscreen_add_dirty_callback() api for window systems
that need to notify application of dirty/damaged regions that must
be redrawn by the application
» Started adding internal unit tests to complement the conformance
tests
» New support for per-vertex point sizes
» New cogl-gst sub-library added enabling gstreamer integration into
Cogl based applications. Notably the design is compatible with
applications adding custom shader snippets to a CoglPipeline that
handles video sampling so application will be able to chain
together shader based affects without requiring intermediate
renderers.
» Adds HSL color conversion apis
» The Conformance test suite can now be installed with a .test file
enabling them to be run by the gnome-desktop-testing-runner for example.
• Bugzilla bugs closed since 1.14.0:
#691752 - add fence/sync API
#696730 - Compile failure with 1.14.0 due to extra arg in bitmap functions
#697330 - Fails to build with the gold linker due to missing reference to libm
#699431 - [PATCH] xlib: Don't crash just because the display doesn't expose RANDR
#700088 - compile failure: 'wayland_surface' has incomplete type
#702570 - cogl 1.16: Regression with event propagation in champlain
#702942 - Install conformance tests
#702999 - undefined reference to `wl_buffer_is_shm'
#703553 - Add support for automake 1.14
Many thanks to:
Neil Roberts
Robert Bragg
Andreas Oberritter
Chris Cummins
Damien Lespiau
Emanuele Aina
Plamena Manolova
Roy.Li
Adam Jackson
Daniel Stone
Inaki Larranaga Murgoitio
Lionel Landwerlin
Matthias Clasen
Milo Casagrande
Rico Tzschichholz
Yosef Or Boczko
Cogl 1.14.0 2013-03-25
• List of changes since Cogl 1.13.4
» New snippet hook location for adding global definitions that can
be shared amongst other snippets.
» Fixed some cases where it's not possible to reference the builtin
cogl_sampler* uniforms from a snippet.
» Fixes for building on Visual Studio.
» Fixed a problem with the workaround for the viewport bug in Mesa
which could leave a broken scissor when switching between
different sized framebuffers.
» Fix some cases where the depth buffer wouldn't get cleared in
cogl_framebuffer_clear*.
» Fix for leaking pipelines and textures when a pipeline is copied
but all of its layer properties are replaced.
» Fix for interleaving snippets with different hook points.
» The Cogland example Wayland compositor has been updated to the
Wayland 1.0 API.
• Bugzilla bugs closed since 1.13.4:
#686770 - _cogl_bitmap_unbind: assertion failed: (bitmap->bound)
for gnome-shell on nexus 7
#694537 - Fails to compile if the EGL stack doesn't implement
KHR_create_context
#694657 - cogl-buffer: Stop warning spam running in sw rendering
Many thanks to:
Chun-wei Fan
Robert Bragg
Gheyret Kenji
Ján Kyselica
Bastien Nocera
Duarte Loreto
Milo Casagrande
Pavol Klačanský
Plamena Manolova
Tomeu Vizoso
Cogl 1.13.4 2013-02-21
• List of changes since Cogl 1.13.2
» New CoglOutput API to query information about displays.
» New API for querying frame timing information in a frame callback.
» New API for querying the buffer age of an onscreen framebuffer.
» Fixed building the GLES2 driver without the GL driver.
» Fixed X errors when Cogl is used after an onscreen is destroyed.
» Fixed API used by Clutter-GST to query the number of texture units.
» Fixed the soname for the libcogl-pango2 library
» Fixed building with MinGW32
• Bugzilla bugs closed since 1.13.2:
#669122 - Clipped redraws and tearing
#692420 - Build fails on Mac OS Mountain Lion:
error: 'GL_NUM_EXTENSIONS' undeclared
#693360 - cogl-pango: Fix some doc/introspection comments
#693612 - cogl-pango: wrong rendering on the second line of an
underlined layout
#693696 - Fix startup with gnome-shell and cogl-1.14
#693894 - COGL_TEST_ONSCREEN=0 results in onscreen conformance testing
#694164 - Don't use GL_MAP_INVALIDATE_RANGE_BIT on READ_BIT buffers
Many thanks to:
Robert Bragg
Owen W. Taylor
Jasper St. Pierre
Piotr Drąg
Adam Jackson
Adel Gadllah
Daniel Martinez
Gheyret Kenji
Jerome Glisse
Cogl 1.13.2 2013-01-21
• List of changes since Cogl 1.12.2
» Adds support for texture based depth buffers
» Lots of internal re-working to enable non-GL based drivers
» Added a stub, NOP driver that can be useful for profiling
» cogl_texture_rectangle_new_from_foreign() make public
» cogl_debug_matrix_print() debug api added
» Added support for building Cogl without a Glib dependency
(we'd like to support Cogl with emscripten/NaCl with minimal
dependencies)
» Unified a lot of gles 2.0 and gl driver support
» Added OpenGL 3.1 core profile support
» Lots of gtk-doc annotation fixes
» cogl_buffer_map_range() api added
» Improved SDL 2 support
» Added cogl_sdl_onscreen_get_window() api
» Much improved out-of-memory error reporting
» Added support for constant attributes
» Lots of internal work to avoid referencing a global context
» Added a new CoglMatrixStack api
» Enabled lazy texture storage allocation
» Added cogl_texture_allocate() for optional explicit allocation
» Add cogl_texture_set_data() convenience api
» Various fixes for handling sliced texture
» Added cogl_framebuffer_get_depth_bits() api
• Bugzilla bugs closed since Cogl 1.12.2
#685915 - Screenshot API is broken on big-endian
#690891 - Support Automake 1.13
#691945 - _cogl_unpack_uint{8,16}_t
Many thanks to:
Damien Lespiau
Robert Bragg
Neil Roberts
Adel Gadllah
Rico Tzschichholz
Cogl 1.12.2 2013-01-04
• List of changes since Cogl 1.12.0
» Lots of MSVC build updates
» Fix GL_ARB_shader_objects terminator mitigating potential crash
» Fix to only allow CoglGLES2 context creation with GLES2 driver
» Use right context when pushing a CoglGLES2 context to an onscreen
» Port to new Wayland 1.0 protocol
» Don't set SDL_GL_DOUBLEBUFFER when the swap chain has no pref
• Bugzilla bugs closed since Cogl 1.12.0
#682071 - MSVC: Link to SDL when apps are built
#684917 - winsys-glx: Don'T attempt to query the vblank counter when
using indirect rendering
#689850 - [PATCH] Fix call to BlendFuncSeparate
Many thanks to:
Chun-wei Fan
Neil Roberts
Robert Bragg
Andika Triwidada
Adam Jackson
Alexander Shopov
Aurimas Černius
Ihar Hrachyshka
Marek Černocký
Milo Casagrande
Rafael Ferreira
Rob Bradford
Rūdolfs Mazurs
Tom Tryfonidis
Unticha Pramgoed
Мирослав Николић
Cogl 1.12.0 2012-09-24
• List of changes since Cogl 1.11.4
» MSVC build updates to fix building with SDL support
» Lots of translation updates
• List of bugs fixed since Cogl 1.11.6
#682071 - Fix Visual C++ build when using the SDL winsys
Many thanks to:
Dr.T.Vasudevan
Alexander Shopov
Ani Peter
Ask H. Larsen
Carles Ferrando
Chun-wei Fan
Gil Forcada
Mario Blättermann
Nishio Futoshi
Rajesh Ranjan
Robert Bragg
YunQiang Su
Yuri Myasoedov
Cogl 1.11.6 2012-09-17
• List of changes since Cogl 1.11.4
» Support latest libgbm api
» Improve error handling for cogl_texture_2d_new_from_foreign
» Avoid referencing contexts internally so Android
applications can reliably destroy the resources of a context without
us needing to introduce api to break internal circular references.
» More work to reduce our dependence on a global context internally.
» Recognize the latest Mesa GL vendor strings and the "Software
Rasterizer" renderer string.
» Improved cogl-gles2 support by not depending on drivers allowing
multiple vertex shaders in one program which isn't actually meant
to be supported in GLES 2.0 anyway. (We were lucky before because
Mesa happened to allow this but it doesn't work with other vendor
drivers.)
• List of bugs fixed since Cogl 1.11.4
#683414 - memory corruption when freeing layer cache
#683818 - Need to pick up new Mesa strings
#683083 - Fix textures[] index
Many thanks to:
Robert Bragg
Neil Roberts
Alban Browaeys
Alexander Larsson
Bruce Cowan
Daniel Stone
Gabor Kelemen
Ihar Hrachyshka
Marek Černocký
Piotr Drąg
Cogl 1.11.4 2012-09-03
• List of changes since Cogl 1.11.2
» Fix the pkg-config requires for cogl-gles2
» Fix where we install cogl-gles2 headers
» Updates for the MSVC build
» Fix texture sub-region uploads when we don't have
GL_EXT_unpack_subimage
» Update the KMS winsys backend to the latest libgbm api
» Fix a leak of primitive indices
» Added a UProf profiling timer around journal discard code
» Enabled UProf profiling support to test-journal
• List of bugs fixed since Cogl 1.11.2
#682340 - Trivial build fix
Many thanks to:
Robert Bragg
Chun-wei Fan
Piotr Drąg
Tomeu Vizoso
A S Alam
Andika Triwidada
Aurimas Černius
Duarte Loreto
Fran Diéguez
Krishnababu Krothapalli
Neil Roberts
Nilamdyuti Goswami
Patrick Welche
Sjoerd Simons
Tom Tryfonidis
Cogl 1.11.2 2012-08-14
• List of changes since Cogl 1.10.0
» Adds cogl_framebuffer_{fill,stroke}_path APIs consistent with
other Cogl drawing APIs that replace cogl_path_fill/stroke().
» Switch from using glib types such as guint32/guint16/guint8 to
using equivalent stdint.h types.
» Adds a micro-benchmark for the journal
» Optimized the matrix stack so we can take immutable references
of a matrix stack for logging into the journal more efficiently
than having to copy large matrices for each journaled rectangle.
» Added COGL_VERSION_{MAJOR,MINOR,MICRO} macros and
COGL_VERSION_CHECK macros for applications to test what version
of Cogl they are compiled against.
» Allow creation of non power of two (npot) CoglTexture2D textures
with only basic npot support, not including repeating or mipmap
support.
» Enable use of the GL_STREAM_DRAW buffer update hint on GLES 2.0
» Fix building Cogl with --disable-gl
» Added support for the WebOS version of SDL which supports access
to GLES 1.1 and GLES 2.0
» Adds cogl_matrix_init_translation to provide a more efficient
way to initialize a matrix representing a translation without
need to multiply matrices.
» Various documentation fixes for CoglQuaternion and CoglEular
» Updates for the MSVC build
» Added GPU architecture detection capabilities so we can
differentiate drivers based on the hardware vendor, and the
actual architecture of the GPU, such as deferred vs immediate
mode.
» Fix framebuffer initialization to ensure swaps are throttled by
default.
» Fix flushing of the depth state for some cases.
» Ported test-atlas-migration to be a standalone Cogl test
» Added GLES 2.0 API integration support so that existing GLES 2.0
based code can easily be integrated within Cogl based
applications. For example this is being used by webkit-clutter to
add WebGL support.
» Added an optional libcogl-gles2 sub-library that provides a full
GLES 2.0 api api to really lower the barrier as much as possible
for being able to integrate existing GLES 2.0 based code into
Cogl applications.
» Adds a Cogl GLES 2.0 Gears example application to test the GLES
2.0 integration support.
» Fix a bug with disabling of Cogl's debugging features.
» Added api to directly convert a Eular to a Quaternion.
» Improve the wireframe debug option to work when a vertex shader
is in use.
» Added support for SDL2 which supports GLES 2.0
» Support the original GLSL extensions which had some different
function names.
» Avoid using eglGetProcAddress for core symbols which isn't allowed
by the EGL spec and causes problems on Android.
» Adds cogl_android_bitmap_new_from_asset() API to load images from
Android assets.
» Adds support for resizable onscreen framebuffers.
» Avoids implicitly including the EGL headers when including cogl.h
» Adds cogl.conf and environment variables to allow disabling the
use of specific GL extensions; for example if the implementation
is known to be buggy on a given system.
• List of bugs fixed since Cogl 1.10.0
#660617 - Porting of clutter tests
#672533 - Quartz image option causes compile error
#673137 - Grab the current window -> Screenshot is mirrored
#674208 - [PATCH] disable sub-buffer copies on software Mesa
#675119 - unable to build the latest version due to two bugs
#677078 - GLSL detection not working for Intel GMA3150 chipset
#678316 - remove unneeded check for libdrm
#680124 - Quartz Image option , memory not zeroed before loading?
#681285 - Support building with automake 1.12.x
Many thanks to:
Neil Roberts
Robert Bragg
Damien Lespiau
Chun-wei Fan
Tomeu Vizoso
Carles Ferrando
Chao-Hsiung Liao
Bruno Brouard
Christian Kirbach
Daniel Mustieles
Fran Diéguez
Gil Forcada
Marek Černocký
Matej Urbančič
Yaron Shahrabani
Мирослав Николић
Adel Gadllah
Alexander Shopov
Andika Triwidada
Antoine Jacoutot
Daniel Nylander
Gabor Kelemen
Hajime Taira
Ihar Hrachyshka
Jordi Serratosa
Kjartan Maraas
Krishnababu Krothapalli
Kristjan SCHMIDT
Luca Bruno
Mario Blättermann
Nilamdyuti Goswami
Rajesh Ranjan
Rico Tzschichholz
Rūdolfs Mazurs
Sasi Bhushan Boddepalli
Sjoerd Simons
Stef Walter
Tobias Endrigkeit
Yinghua Wang
fenghelong
Κωνσταντίνος Χόρτης
Cogl 1.10.0 2012-03-20
• List of changes since Cogl 1.9.8
» Add cogl_framebuffer_draw_[*_]rectangle functions. These can be
used as a replacement for cogl_rectangle in the 2.0 API to avoid
the global framebuffer stack.
» Fixed flushing the point size with the GL driver when using GLSL.
» Added the missing cogl_is_onscreen and cogl_is_framebuffer functions.
» Added cogl_quaternion_init_from_quaternion and
cogl_quaternion_init_from_matrix to the public headers.
» Make cogl_has_feature available when only
COGL_ENABLE_EXPERIMENTAL_API is defined.
» Add cogl_framebuffer_read_pixels. This is a convenience wrapper
around cogl_framebuffer_read_pixels_into_bitmap to read directly
into an application's buffer.
» Added a public cogl_bitmap_new_for_data function. This can be used
for example to call cogl_framebuffer_read_pixels_into_bitmap to
read directly into an application's buffer with an unusual
rowstride.
» Visual Studio build fixes
» Translation updates
• List of bugs fixed since Cogl 1.9.8
https://bugzilla.gnome.org:
#669122 - Clipped redraws and tearing
#671984 - cogl glyph cache uses uninitialised variable.
#671985 - cogl matrix stack has a use after realloc
#672038 - Move the fallback define for GL_PACK_INVERT_MESA
#672174 - cogl_path_curve_to second parameter ignored
#672243 - Drive by leak fix when code spelunking
Many thanks to:
Chun-wei Fan
Robert Bragg
Dave Airlie
Matej Urbančič
Adam Matoušek
Adel Gadllah
Alexander Shopov
Bruce Cowan
Daniel Nylander
Dénes Almási
Duarte Loreto
Enrico Nicoletto
Fran Diéguez
Khoem Sokhem
Nilamdyuti Goswami
Piotr Drąg
Ray Strode
Ryan Lortie
Yuri Myasoedov
甘霖
Cogl 1.9.8 2012-03-05
• List of changes since Cogl 1.9.6
» Various Visual Studio build fixes
» Correctly check for GL_EXT_packed_depth_stencil and support using
GL_OES_packed_depth_stencil on GLES2
» Correctly handle pre-multiplied alpha conversions when reading
back texture data.
» Added cogl_renderer_{get,set}_driver functions so the underlying
driver can be chosen programmatically.
» Revamped the conformance testing framework so that it
automatically runs every test against GLES2 as well as GL and also
against all of the pipeline backends and with npot textures
disabled.
» Add a conformance test for reading back an RGBA texture as
alpha-only
» Added support for converting between all of Cogl's supported pixel
formats including pre-multiplied alpha conversions.
» Added conformance tests for converting to and from all of the
supported formats.
» Added a public cogl_framebuffer_read_pixels_into_bitmap()
function which will effective read into a CoglPixelBuffer.
» CoglPixelBuffer was changed to no longer have associated width,
height and format information and instead we will rely on
CoglBitmap to track that informations. The relationship is
analogous how CoglAttributes relate to CoglAttributeBuffers
and means for example that a CoglPixelBuffer could now be used
to hold multiple images.
» Added public cogl_bitmap_get_{width,height,format,rowstride} api
» Added a public accessor for the underlying pixel buffer of a
CoglBitmap.
» Added various missing cast macros for some buffer objects.
» Ported the Clutter based test-pixel-buffer test to be standalone.
• List of bugs fixed since Cogl 1.9.6
https://bugzilla.gnome.org:
#666184 - framebuffer: Enable a single depth and stencil buffer for GLES
#670793 - Don't use cogl_get_draw_framebuffer when flushing pipeline state
#671016 - INVALID_ENUM errors in gnome-shell
Many thanks to:
Neil Roberts
Chun-wei Fan
Daniel Korostil
Martin Srebotnjak
Matej Urbančič
Matic Gradišer
Мирослав Николић
Cogl 1.9.6 2012-02-21
• List of 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
Cogl 1.9.4 2012-01-16
• List of changes since Cogl 1.9.2
» Visual Studio 2008/2010 project files have landed and are being actively
maintained by Chun-wei Fan <fanchunwei@src.gnome.org>
» A basic KMS (Kernel Mode Setting) backend was added so we can run fullscreen
Cogl applications without X11 on Linux.
» EGL platforms can now be selected at runtime. Although we've had the ability
select backends at runtime for a while, up until now all EGL platforms were
part of one monolithic backend and were mutually exclusive so a platform
had to be chosen at build time.
» cogl_matrix_orthographic() was added as a replacement for cogl_matrix_ortho()
since the OpenGL style of arguments for cogl_matrix_ortho() wasn't consistent
with the rest of the Cogl API.
» Experimental cogl_framebuffer_ apis were added for manipulating the
per-framebuffer modelview matrix stack. The aim is for these to replace
apis like cogl_rotate/translate/scale because those apis aren't explicitly
related to a CoglContext which we'd like to avoid so we can remove the
need for a global CoglContext.
» Experimental cogl_framebuffer apis were added for manipulating the
per-framebuffer clip stacks.
» The internal _cogl_framebuffer_flush_state() function was optimized to do
a better job of bailing out when no framebuffer state has changed, and
when state has changed the cost should now scale by the number of changes
made instead of scaling by the total range of framebuffer state that Cogl
tracks.
» Internally we finally removed _cogl_enable() which won't mean much to most
people but makes the maintainers happy. This happened as part of a rework
for how attribute state is flushed when drawing which fixed some problems
with supporting custom attributes and should improve the performance of
flushing attributes too.
» We added an experimental CoglSnippets api aiming to greatly simplify how
developers can incorporate snippets of GLSL code into the pipeline. This is
a feature that has been on the drawing board for a long time so we're
really happy that it's finally here.
*** We'd really love to see people start to play with the snippets API and
tell us how they get on. The plan is for this API to replace all need for
developers to use the CoglProgram and CoglShader apis which are rather poor
copies of the OpenGL APIs for using GLSL which don't map well to Cogl's
design. ***
» We've updated Cogl's client side Wayland support
» We've updated Cogl's compositor side Wayland support, including updating the
example cogland compositor.
» We added an SDL window system backend for Cogl, which provides a simple,
portable way to play with Cogl as a standalone graphics API with basic
support for input events available from SDL. See examples/cogl-sdl-hello
to see how that works.
» We added mainloop integration support to Cogl. Since we want to have the
ability to use poll() to block for events from some drivers we have introduced
apis that all Cogl applications are required to use to integrate Cogl
into their mainloop. For applications using a glib mainloop we've provided
a GSource for convenience.
• List of bugs fixed since Cogl 1.9.2
https://bugzilla.gnome.org:
#650020 - Visual C++ 2008/2010 Project files to compile Cogl and Cogl-Pango
#665190 - The conformance test wrapper scripts don't return an exit code
#665604 - Cogl needs to bind the framebuffer before calling eglSwapBuffers
#665722 - Build Fixes for COGL master branch
#665723 - Conformance tests failed (snippets, pipeline_uniforms)
#667009 - Remove DRM vblank hack
Many thanks to:
Neil Roberts
Chun-wei Fan
Rob Bradford
Daniel Mustieles
Fran Diéguez
Aurimas Černius
Javier Jardón
Jorge González
Joshua Lock
Seong-ho, Cho
Tomeu Vizoso
Yinghua Wang
Cogl 1.9.2 2011-11-23
• List of changes since Cogl 1.8.0
» Fix a crash while generating ARBfp code with layers containing a
NULL texture.
» Improvements to the mingw-fetch-dependencies script to work
without first needing to find a copy of config.guess.
» Translation updates.
» Ported more conformance tests from Clutter to be standalone Cogl tests.
» Adds experimental support for EXT_discard_framebuffer extension which
is important for good performance on PowerVR graphics hardware
» Adds experimental API to enable clipping to the silhouette of an arbitrary
2D CoglPrimitive
» Make the CoglTexture2DSliced API directly available as experimental API
» Adds a new feature checking API that's not limited to just 32 features
and also must be passed a CoglContext pointer so it's clear at what point
the features can start to be queried.
» Adds an experimental CoglMetaTexture interface that gives one simple
api for mapping meta-textures that aren't directly understood by the GPU
(such as sliced textures, atlas textures, sub textures) into low level
textures. This interface also gives us a single place to handle repeat
mode fallbacks, supporting clamp-to-edge, repeat and mirrored repeat.
» Make the CoglTextureRectangle API directly available as experimental API
» Adds experimental support for multisampling, which is where the gpu
calculates multiple samples per pixel and the final pixel is a weighted
average of those samples. For example you can expect that multisampling
with 4 samples per pixel would give similar quality to rendering at double
the resolution and then scaling that image down with texture filtering, but
the GPU can often do some tricks such that multisampling is faster than
doing that manually (known as supersampling)
» Make the CoglSubTexture API directly available as experimental API
» Added an n_indices argument to cogl_primitive_set_indices to avoid needing
to always call cogl_primitive_set_n_vertices() after using the api and
to make it less error prone to use the api.
» Ship a standalone cogl-xlib.h that must be included manually for any xlib
specific api because the Xlib headers so many numerous badly namespaced
symbols that it's not desireable to include them unless absolutely
required.
» Updated the Wayland support to work with the latest upstream interfaces.
» Add experimental CoglPipeline API for controlling the backface culling.
» Added a cogl_matrix_transpose() function
» Add experimental support for setting uniforms on a CoglPipeline. This
is in preparation for being able to associate snippets of GLSL that hook
into specific parts of the pipeline. We plan to eventually deprecate
CoglProgram but even in the meantime we would also recommend setting
uniforms on the pipeline now instead of the program.
» Adds experimental cogl_framebuffer_finish() api for explicitly synchonizing
the GPU with the CPU.
• List of bugs fixed since Cogl 1.8.0
https://bugzilla.gnome.org:
#656755 - Install the examples
#658700 - Bind the locale domain so that gettext actually works
#660184 - Running an X client causes a segfault when using software
rendering
#660387 - test-color-mask fails due to uninitialized texture data
#660617 - Porting of clutter tests
#660986 - memory leak in CoglPipeline::layers_cache
#661019 - Indices don't seem to work
#661174 - Remove inclusion of Xlib headers from Cogl headers
#662184 - Pipeline shaders often fail to link on GLES2 because of different
n_tex_coord_attribs
#662542 - The ARBfp and GLSL pipeline backends sometimes don't flush
uniforms
#663578 - _COGL_RETURN_IF_FAIL sometimes doesn't use glib
#663628 - Make the pipeline backface culling experimental public
Many thanks too:
Robert Bragg
Neil Roberts
Luca Bruno
Chun-wei Fan
Jorge González
Rob Bradford
Fran Diéguez
Rico Tzschichholz
Yaron Shahrabani
krishnababu k
Damien Leone
Daniel Martinez Cucalon
Daniel Mustieles
Flemming Christensen
Gabor Kelemen
Gil Forcada
Ivaylo Valkov
Jasper St. Pierre
Kjartan Maraas
Matej Urbančič
Muhammet Kara
Nguyễn Thái Ngọc Duy
Nilamdyuti Goswami
Seong-ho, Cho
Simos Xenitellis
Zan Dobersek
Cogl 1.8.0 2011-09-19
• List of changes since Cogl 1.7.8
» Started porting Cogl conformance tests from Clutter to be standalone
Cogl tests including tests for depth-state and backface culling.
» Added a new color mask conformance test
» We no longer implicitly define COGL_ENABLE_EXPERIMENTAL_2_0_API in the
cogl-2.0-experimental.pc file cflags because the way pkgconfig works makes
it hard to then consume libraries depending on cogl-2.0-experimental.pc
with Clutter.
» Made progress re-factoring cogl-pipeline.c to be more maintainable by
starting to split the code up into more manageable pieces.
» We now bind the locale dir for the Cogl domain during init
» We now track backface culling state as part of CoglPipeline.
• List of bugs fixed since Cogl 1.7.8
https://bugzilla.gnome.org:
#656442 - README points to wrong bug product
#658092 - St ::hover transitions don't act as expected
#658333 - Typo in cogl/cogl-display.h
#658700 - Bind the locale domain so that gettext actually works
#659029 - Clipping problem
#659360 - Optimization in _cogl_winsys_onscreen_swap_region causes tearing
Many thanks too:
Neil Roberts
Matej Urbančič
Abdalrahim G. Fakhouri
Adel Gadllah
Andika Triwidada
Arash Mousavi
Bruce Cowan
Chun-wei Fan
Duarte Loreto
Emmanuele Bassi
I Felix
Ihar Hrachyshka
Ioannis Zamboukas
Laura Balbastre
Luca Ferretti
Manoj Kumar Giri
Muhammet Kara
Rudolfs Mazurs
Tiffany Antopolski
Wolfgang Stöggl
Wouter Bolsterlee
Xandru Armesto
Yinghua Wang
Yuri Myasoedov
Мирослав Николић
Cogl 1.7.8 2011-09-05
• List of changes since Cogl 1.7.6
» Getters for the display and renderer associated with context
» Getter for the number of supported texture units during fragment
processing. (ClutterGst needs to know this for example to know if GLSL
based YUV->RGB color space conversion can be used.)
» Optimizations for the GLSL codegen for fragment processing so we can
ignore redundant layers - if for example the "REPLACE" function is used
for layer N then computing anything for previous layers is redundant. Also
if texture combining needs to sample the same texture multiple times we
now re-use the same sample instead of repeating it.
» Optimize texture uploads to a texture atlas on GLES by avoiding lots of
redundant format conversions.
» Relax the requirement to need braces around blend factors when using the
CoglBlendString syntax. Braces are only needed for factors involving a
subtraction like "(1 - SRC_COLOR[A])"
» Adds API for querying the format of a CoglFramebuffer
• List of bugs fixed since Cogl 1.7.6
https://bugzilla.gnome.org:
#656426 - Improve the generated GLSL code
#656441 - Build failure in examples
#656587 - Outdated FSF Address in code files
#657347 - Retrieve the number of texture image units
#657840 - Atlas-ed bitmaps converted too many times
#656809 - cogl 1.7.6 doesn't compile on Fedora 16/17
Many thanks to:
Damien Lespiau
Neil Roberts
Emmanuele Bassi
Cogl 1.7.6 2011-08-12
===============================================================================
• List of changes since Cogl 1.7.4
» Add an experimental cogl_matrix_look_at function
» Fix flipping the y-coordinates for cogl_framebuffer_swap_region
» Automatically allocate framebuffers on first use
» Add experimental cogl_framebuffer_clear functions
» Add a function to get the context given a framebuffer
» Add support for a cogl.conf config file
» Fix using TEXTURE_n as the source for a layer combine
» Some fixes for the WGL backend
» Add experimental API to upload a texture subregion from a CoglBuffer
• List of bugs fixed since Cogl 1.7.4
https://bugzilla.gnome.org:
#655026 - cogl-pango should not link to systemwide libcogl during make
install
#655216 - egl: Guard the feature discovery of eglCreateImage()
#655228 - Bugs in cogl-quaternion library functions
cogl_quaternion_init_from_array and
cogl_quaternion_get_rotation_axis.
#655355 - Make Cogl master work on EGL/GDL again
#655400 - cogl-pipeline-fragend-arbfp: Initialise template_pipeline
#655412 - Don't use the 'NULL' GModule to resolve GL symbols
#655510 - Access Violation (a.k.a Segfault) in cogl/driver/gl/cogl-gl.c
#655556 - Memory leak in function cogl_polygon in cogl-primitives.c
#655723 - egl-gdl: Silence a gcc warning
#655724 - egl-gdl: Don't generate cogl-display.h
#656303 - Improve cogl-pango's journal usage
#655792 - android: Commit the build.xml file
#655791 - android: Update the hello example to the latest glib-android
API change
Many thanks to:
Robert Bragg
Damien Lespiau
Chun-wei Fan
Alexandre Rostovtsev
Kirk A. Baker
Philip Withnall
Florian Renaut
Cogl 1.7.4 2011-07-20
===============================================================================
• List of changes since Cogl 1.7.2
» Optimize pipeline unparent operation using embedded lists instead
of using GList API.
» Remove the old matrix operation code we had before pulling in the
mesa based code, and flatten all our matrix utilities back into one
maintainable file.
» Expose cogl_framebuffer_get_red/green/blue/alpha bits to query
the precision for a framebuffer's color channels.
» Numerous reference manual updates
» Fix some memory leaks in CoglPipeline that weren't captured in
bugzilla.
» Fix some EGL winsys issues that weren't captured in bugzilla.
» Switch to dynamically loading libGL, libGLESv2 or libGLES[v1]_CM
at runtime so it's possible to distribute a libcogl that can choose
to work with any of these at runtime. This can simplify packaging
on distros that have numerous packages that provide a platform
specific GL/GLES driver and certainly helps during the development
process when evaluating the pros-and-cons of different drivers for
a given platform.
» Clean up lots of inconsistencies with platform specific APIs, so
we follow the naming convention of cogl_<platform>_object_method.
» Remove cogl_set_default_context from experimental 2.0 api, since
we are aiming to remove the default context for 2.0
» Ensure the experimental 2.0 reference manual gets a unique
DOC_MODULE name so that distro's trying to package cogl don't end
up installing the 1.x and 2.0 manuals to the same location
» Add a program cache for the GLSL backend, a bit like we have for
the ARBfp backend. This can be a big boost in performance for some
apps depending on your platform.
» Adds dither_enable getter and setter API for CoglFramebuffer so
that Clutter doesn't need to use the GL API directly when picking.
We need to get to the point where Clutter doesn't need to link
against libGL directly so Clutter can take advantage of runtime
driver selection by Cogl.
» Use MESA_pack_invert extension in cogl_read_pixels to avoid
needing to manually flip pixel data read in bottom-up order to a
top-down order.
» Fix the hello example to actually clear the framebuffer at the
start of the frame instead of unintentionally relying on the driver
to have cleared the framebuffer.
• List of bugs fixed since Cogl 1.7.2
https://bugzilla.gnome.org:
#652514 - CoglPipeline could embed the list nodes for the
children directly in the CoglPipeline struct
#654440 - _cogl_winsys_context_init crash
#654718 - clutter 1.6.16 compile issues
#654593 - dlopening an unversionaed Shared Object is illegal.
Many thanks to:
Neil Roberts
Damien Lespiau
Emmanuele Bassi
Takeshi AIHANA
Cogl 1.7.2 2011-07-01
===============================================================================
• List of changes since Cogl 1.7.0
» Add an example program to draw a 3D crate
» Add experimental API to get and set the viewport on a framebuffer
without going through the implicit context.
» Add API to select the winsys backend without having to use an
environment variable.
» Various documentation fixes.
» Add winsys-specific typesafe APIs to replace the old
cogl_renderer_handle_native_event functions.
» Rename platform-specific APIs so that we consistently have
cogl_<platform>_symbol_name instead of cogl_symbol_name_<platform>.
» Fixed building against GLES.
• List of bugs fixed since Cogl 1.7.0
https://bugzilla.gnome.org:
#652672 - Typo fix in cogl-framebuffer
#653615 - cogl_release_status='snapshot' breaks linking on 64-bit
systems due to namespace conflict with ltoptions.m4
#653229 - pipeline: Don't regenerate shaders when not changing the
number of layers
#653231 - pipeline: Don't trigger a change when binding the invalid
texture target
Many thanks to:
Robert Bragg
Adam Jackson
Emmanuele Bassi
Cogl 1.7.0 2011-06-10
===============================================================================
• List of changes since Clutter 1.6
» Cogl split out into a standalone project!
» Added native winsys backends for GLX, WGL, EGL and Android (Quartz in
progress)
» Supported EGL platforms include: NULL, X11, GDL and Wayland
» Adds renderer,display,onscreen-template and swap-chain APIs for
writing standalone apps using the experimental 2.0 API
» Added convenience functions cogl_matrix_view_2d_in_frustum/perspective
for setting up a Clutter style view transform for a 2d coordinate system
inside a projective perspective.
» Added an experimental Quaternion API
» Added an experimental Euler API
» Re-worked the CoglPipeline depth testing state API
» Added EGL X11 texture-from-pixmap support.
» Added a tiny Wayland compositor (without input support) under
examples/
» Optimizations:
» Optimise paths that are just a rectangle
» Journal: Use a pool of vertex-arrays to avoid allocation costs.
• List of bugs fixed since Clutter 1.6
http://bugzilla.clutter-project.org:
#2538 - crash in gnome-shell
#2544 - Using vertex buffers causes memory corruption when you unref the CoglHandle
#2561 - Updates to COGL sources regarding non-standard code usage
#2588 - Assertion failure in _cogl_pipeline_set_layer_texture_target
#2594 - cogl-clip-state: Adapt to experimental cogl2 API.
#2620 - _cogl_offscreen_new_to_texture_full() leaks reference when failing
https://bugzilla.gnome.org:
#641197 - mouse events at pixel row zero are ignored
#650966 - CoglPipeline doesn't support any layers on fixed function hardware
#650979 - cogl-pipeline-fragend-fixed: Fix enabling texture targets
#651256 - configure fails for the poor sods who use dash as sh
Many thanks to:
Neil Roberts
Emmanuele Bassi
Damien Lespiau
James Athey
Jasper St. Pierre
Piotr Drąg