summaryrefslogtreecommitdiff
path: root/NEWS
blob: 296c1be225a84a4e94e59d34d7526a4bc2342216 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
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