mutter/ChangeLog-ivan

1267 lines
40 KiB
Plaintext
Raw Normal View History

2008-04-25 Øyvind Kolås <pippin@o-hand.com>
* clutter/eglnative/clutter-backend-egl.c: (clutter_egl_display):
removed platform specific build hack rpl_malloc and rpl_free wrappers.
* clutter/eglnative/clutter-backend-egl.h:
* clutter/eglnative/clutter-egl.h:
* clutter/eglnative/clutter-stage-egl.h: removed platform specific
extra includes from eglnative.
2008-04-25 Øyvind Kolås <pippin@o-hand.com>
* tests/test-pixmap.c: (main): only compile this test if
HAVE_CLUTTER_GLX is defined.
2008-04-25 Øyvind Kolås <pippin@o-hand.com>
Merged back changes from the fruity flavour into the original native
flavour. Changes for dealing with multiple stages.
* clutter/eglnative/clutter-backend-egl.c:
* clutter/eglnative/clutter-backend-egl.h:
* clutter/eglnative/clutter-egl.h:
* clutter/eglnative/clutter-stage-egl.c:
* clutter/eglnative/clutter-stage-egl.h:
2008-04-25 Neil Roberts <neil@o-hand.com>
* clutter/cogl/cogl.h.in: Tiny fix to gtk-doc for cogl_fog.set
2008-04-25 Neil Roberts <neil@o-hand.com>
* clutter/cogl/gles/cogl-texture.c (cogl_texture_polygon):
* clutter/cogl/gl/cogl-texture.c (cogl_texture_polygon): Added a
warning if the call will fail.
* clutter/cogl/cogl.h.in: Added a note in the gtk-doc about not
supporting repeated textures in cogl_texture_polygon.
2008-04-24 Øyvind Kolås <pippin@o-hand.com>
* configure.ac: added fruity backend.
* clutter/clutter-main.c: (clutter_main): special case invoking main()
for the fruity backend.
* clutter/clutter-stage.c: (clutter_stage_set_title): do not call the
set_title vfunc if no implementation exist in the interface.
* clutter/fruity/Makefile.am:
* clutter/fruity/clutter-backend-fruity.c:
* clutter/fruity/clutter-backend-fruity.h:
* clutter/fruity/clutter-fruity.c:
* clutter/fruity/clutter-fruity.h:
* clutter/fruity/clutter-stage-fruity.c:
* clutter/fruity/clutter-stage-fruity.h: added fruity backend.
2008-04-24 Matthew Allum <mallum@openedhand.com>
* clutter/clutter-texture.c:
Add a 'disable-slicing' property.
2008-04-24 Ivan Leben <ivan@o-hand.com>
* clutter/clutter-feature.c:
(_clutter_features_from_cogl:) oops, forgot to return.
2008-04-24 Ivan Leben <ivan@o-hand.com>
* clutter/clutter-feature.c:
Map cogl to clutter features before or-ing with clutter flags
obtained from backend.
* clutter/cogl/cogl.h.in:
Removed SYNC_TO_VBLANK from cogl feature flags, since its only
checked on clutter level. Renumbered flags in ascending order.
* clutter/cogl/gles/cogl.c:
(_cogl_features_init:) Adds COGL_FEATURE_TEXTURE_READ_PIXELS
flag to features.
2008-04-24 Neil Roberts <neil@o-hand.com>
* clutter/cogl/cogl.h.in: Documented remaining functions up to the
texture API except cogl_check_extension, cogl_perspective and
cogl_alpha_func.
2008-04-24 Neil Roberts <neil@o-hand.com>
* clutter/clutter-texture.c (struct _ClutterTexturePrivate): Make
max_tile_waste signed.
(clutter_texture_class_init): Fix documentation for tile-waste
property.
(clutter_texture_get_cogl_texture),
(clutter_texture_set_cogl_texture): Added 'since' to the gtk-doc.
(clutter_texture_set_max_tile_waste): Make the max_tile_waste
parameter signed and fix the documentation.
(clutter_texture_get_max_tile_waste): Make the return value signed
and fix the documentation.
* clutter/clutter-texture.h: Fix type for
{get,set}_max_tile_waste.
* clutter/clutter-sections.txt: Added
clutter_texture_{get,set}_max_tile_waste and
clutter_texture_set_cogl_texture.
2008-04-24 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/cogl.h.in:
* clutter/cogl/gl/(es)/cogl-texture.c:
cogl_texture_get_max_waste returns gint instead of guint.
2008-04-24 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/cogl.h.in:
Texture *_new_* functions max_waste argument changed to signed
integer.
* clutter/cogl/gl(es)/cogl-texture.c:
(_cogl_texture_slices_create:) Returns FALSE if max_waste is -1
and size of initial slice is not supported.
(_cogl_texture_slices_free:) Fixed so that slice_gl_handles
array is freed when texture created from foreign.
(_cogl_texture_free:) New function - calls other *_free
functions to simplify destruction.
(*_new_* functions): max_waste signed, fixed handling of
failed texture construction so that the resources allocated
so far are actually freed before bailing out.
2008-04-24 Neil Roberts <neil@o-hand.com>
* clutter/cogl/cogl.h.in (cogl_scale): Fixed name of the y
parameter.
2008-04-24 Robert Bragg <bob@o-hand.com>
* clutter/eglx/clutter-stage-egl.c
* clutter/cogl/gl/cogl-texture.c
* clutter/cogl/gles/cogl-texture.c
* tests/test-pixmap.c:
Minor tidy up of some allocations: s/malloc/g_malloc and s/free/g_free
(except I left cogl/common/stb_image.c untouched)
These had been causing some cross compile issues for me.
2008-04-24 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl(es)/cogl-texture.c:
(cogl_texture_is_sliced, cogl_texture_get_gl_texture:)
Fixed a copy-paste typo. Thanks to Matthew Allum for spotting.
2008-04-24 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/cogl.h.in: Changed flags in CoglTargetBuffer
enum to occupy separate bits so COGL_WINDOW_BUFFER and
COGL_MASK_BUFFER can be or-ed together.
* clutter/cogl/gl(es)/cogl-fbo.c: (cogl_draw_buffer:) handles
the combination of window and mask buffer targets
* clutter/cogl/gles/cogl-textures.c:
Implemented cogl_texture_getset in GLES. Limitations are two:
a) viewport must be inside the window and have at least width and
height of 1 pixel
b) framebuffer alpha plane required to properly obtain data for
alpha texture channel
2008-04-23 Robert Bragg <bob@o-hand.com>
* clutter/sdl/Makefile.am
* clutter/glx/Makefile.am
* clutter/pango/Makefile.am
* clutter/cogl/gl/Makefile.am
* clutter/cogl/common/Makefile.am
* clutter/cogl/gles/Makefile.am
* clutter/win32/Makefile.am
* clutter/x11/Makefile.am
* clutter/osx/Makefile.am
* clutter/Makefile.am
* tests/Makefile.am:
Adds support for out of tree builds. Tested building for arm+eglx
glx and mingw+win32.
>>>>>>> .r2586
2008-04-23 Neil Roberts <neil@o-hand.com>
* tests/Makefile.am: Don't build test-pixmap if we are not
targetting one of the X11-based backends.
* configure.ac: Define an AM_CONDITIONAL when we are building
for either of the X11-based backends.
2008-04-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-texture.c:
(clutter_texture_set_property),
(clutter_texture_class_init): Add a :filename property, writable
only, for setting the filename of the texture data.
(clutter_texture_set_custom_property),
(clutter_scriptable_iface_init): Override the scriptable interface
to allow using relative paths for the :filename property; chain
up to the parent class implementation.
* tests/test-script.json: Update to use "filename" instead of
"pixbuf".
2008-04-23 Emmanuele Bassi <ebassi@openedhand.com>
* clutter/clutter-actor.[ch]: Sync up with trunk, to reduce the
chunks between the clutter-ivan branch and trunk when merging.
2008-04-23 Neil Roberts <neil@o-hand.com>
* clutter/clutter-actor.c (clutter_actor_set_property): When one
of the rotation properties is set it also tries to set the
rotation center to what is was already. clutter_actor_set_rotation
expects integer co-ordinates but we were passing them directly
from the actor private data which stores them as ClutterUnits
2008-04-22 Robert Bragg <bob@o-hand.com>
* clutter/x11/clutter-x11-texture-pixmap.c:
clutter_x11_texture_pixmap_update_area_real simply returns if no
pixmap has been set yet so we dont hit an X error after trying
XGet[Sub]Image.
2008-04-22 Robert Bragg <bob@o-hand.com>
* clutter/cogl/common/cogl-bitmap-pixbuf.c:
Tweaks the calculation of last_row_size in _cogl_bitmap_from_file
(USE_GDKPIXBUF) to fix an overflow page fault.
2008-04-22 Neil Roberts <neil@o-hand.com>
* clutter/cogl/cogl.h.in:
* clutter/cogl/gl/cogl-texture.c:
* clutter/cogl/gles/cogl-texture.c:
* doc/reference/cogl/cogl-sections.txt: Removed
cogl_texture_can_polygon.
2008-04-22 Neil Roberts <neil@o-hand.com>
* doc/reference/cogl/Makefile.am (INCLUDES):
* doc/reference/clutter/Makefile.am (INCLUDES):
Added the clutter directory to the include path so that
cogl/cogl.h can be included when building cogl-scan and
clutter-scan.
2008-04-22 Neil Roberts <neil@o-hand.com>
Relocated the installation location of the cogl header to
clutter-VERSION/cogl/cogl.h instead of
clutter-VERSION/clutter/cogl.h.
* configure.ac: Now generates cogl/cogl-defines-*.gl from the
cogl-defines.h in the appropriate directory. cogl.h is also
generated to include the right cogl-defines-*.h
* clutter/cogl/gl/Makefile.am:
* clutter/cogl/gles/Makefile.am: Install cogl headers to
clutter-VERSION/cogl instead of clutter-VERSION/clutter.
* clutter/cogl/cogl.h: Rename to cogl.h.in and have the configure
script filter it so that it can include the right
cogl-defines-*.h.
* clutter/cogl/gles/cogl-defines.h: Rename to cogl-defines.h.in so
that the configure script can copy it to the parent directory.
* clutter/cogl/gles/cogl-fbo.c:
* clutter/cogl/gl/cogl-fbo.c: Remove inclusion of cogl-defines.h
because it has changed its name and it is included indirectly by
cogl.h anyway.
* clutter/cogl/common/Makefile.am (INCLUDES): Added the clutter
folder to the include path.
* clutter/clutter-texture.h: Properly include the COGL header as
<cogl/cogl.h> and use CoglHandle instead of void*
* clutter/clutter-clone-texture.c:
* clutter/clutter-feature.c:
* clutter/clutter-group.c:
* clutter/clutter-main.c:
* clutter/clutter-rectangle.c:
* clutter/clutter-shader.c:
* clutter/clutter-stage.c:
* clutter/clutter-texture.c:
* clutter/clutter-actor.c:
* clutter/glx/clutter-stage-glx.c:
* clutter/glx/clutter-backend-glx.c:
* clutter/glx/clutter-glx-texture-pixmap.c:
* clutter/pango/pangoclutter-render.c:
* clutter/sdl/clutter-stage-sdl.c:
* clutter/win32/clutter-backend-win32.c:
* clutter/win32/clutter-stage-win32.c:
* clutter/x11/clutter-backend-x11.c:
* clutter/x11/clutter-stage-x11.c:
* clutter/x11/clutter-x11-texture-pixmap.c:
Include the COGL header as cogl/cogl.h instead of cogl.h
* clutter/pango/Makefile.am:
* clutter/osx/Makefile.am:
* clutter/glx/Makefile.am:
* clutter/sdl/Makefile.am:
* clutter/win32/Makefile.am:
* clutter/x11/Makefile.am:
* clutter/Makefile.am: Remove the two COGL include
directories and add the clutter folder so that the cogl header can
be included as cogl/cogl.h
* tests/Makefile.am: Added the clutter folder to the include path
and removed the special build flags for the COGL tests.
* tests/test-cogl-offscreen:
* tests/test-cogl-tex-convert:
* tests/test-cogl-tex-foreign:
* tests/test-cogl-tex-getset:
* tests/test-cogl-tex-polygon:
* tests/test-cogl-tex-tile:
Include COGL header as <cogl/cogl.h> instead of "cogl.h"
2008-04-22 Øyvind Kolås <pippin@o-hand.com>
* clutter/cogl/common/stb_image.c: only include emmintrin.h when
STBI_SIMD is explictly defined before including stb_image.[ch] to
make stb_image compile for ARM.
2008-04-22 Øyvind Kolås <pippin@o-hand.com>
* clutter/eglx/clutter-stage-egl.c: removed ::draw_to_pixbuf.
2008-04-22 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl(es)/cogl-texture.c:
(cogl_texture_new_from_foreign:) Sets waste value for the single
slice and tex->wrap_mode. This fixes test-cogl-tex-foreign after
hardware tiling has been corrected by factoring out the waste from
texture coordinates.
2008-04-22 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl-texture.c (_cogl_texture_slices_create:)
Moved check for harware tiling availability so that n_slices is
actually initialized before being used in the check. Fixes
test-cogl-tex-tile after introduction of cogl_texture_polygon.
2008-04-22 Øyvind Kolås <pippin@o-hand.com>
* clutter/clutter-stage-window.h: removed draw_to_pixbuf call from
class.
* clutter/glx/clutter-stage-glx.c: removed
clutter_stage_glx_draw_to_pixbuf.
* clutter/clutter-stage.[ch]: (clutter_stage_read_pixels): made
clutter_stage_read_pixels replace clutter_stage_snapshot.
* tests/test-stage-read-pixels.c: added test that extends test-actors
with a on stage snapshot of the stage behind the circle of hands.
* tests/Makefile.am: added test.
2008-04-21 Neil Roberts <neil@o-hand.com>
* clutter/cogl/gles/cogl-texture.c (_cogl_texture_quad_hw):
* clutter/cogl/gl/cogl-texture.c (_cogl_texture_quad_hw):
Fixed so that if the texture is sliced then it doesn't include the
waste part of the texture in the range of the texture coordinates.
2008-04-21 Neil Roberts <neil@o-hand.com>
* clutter/cogl/cogl.h: Added cogl_texture_can_polygon and
cogl_texture_polygon.
(struct _CoglTextureVertex): New public structure to represent a
vertex with texture coordinates and a color to pass to
cogl_texture_polygon.
* clutter/cogl/gl/cogl-texture.c (_cogl_texture_slices_create):
The wrap mode for the texture is now stored in the texture
structure so that it can be quickly restored after
cogl_texture_polygon temporarily changes it. It now also sets a
transparent border color for each texture to make
cogl_texture_polygon easier to work with sliced textures.
(cogl_texture_can_polygon, cogl_texture_polygon): New public
functions.
* clutter/cogl/gl/cogl-texture.h (struct _CoglTexture): Added
wrap_mode
* clutter/cogl/gles/cogl-context.h (struct CoglContext): Added a
global resizable array to store vertices in to pass to
glDrawArrays from cogl_texture_polygon.
* clutter/cogl/gles/cogl-context.c (cogl_create_context): Added
initialisers for texture_vertices and textures_vertices_size.
(cogl_destroy_context): Frees texture_vertices.
* clutter/cogl/gles/cogl-internal.h (COGL_ENABLE_COLOR_ARRAY):
Added a bit to enable the color array.
* clutter/cogl/gles/cogl-texture.c (cogl_texture_can_polygon)
(cogl_texture_polygon): New public functions.
* clutter/cogl/gles/cogl.c (cogl_enable): Added test for enabling
the color array.
* tests/Makefile.am: Added test-cogl-tex-polygon.
* tests/test-cogl-tex-polygon.c: New test for cogl_texture_polygon
2008-04-18 Øyvind Kolås <pippin@gimp.org>
* configure.ac: added a configure time option to build without
depending on GdkPixbuf that uses stb_image.c instead, this build
type is experimental and can be enabled by passing
--with-imagebackend=internal to ./configure.
* clutter/cogl/common/stb_image.c: new file.
* clutter/cogl/common/Makefile.am: added new file.
* clutter/cogl/common/cogl-bitmap-pixbuf.c:
(_cogl_bitmap_from_file): added alternate codepath.
* clutter/clutter-script.c:
* clutter/clutter-script-parser.c: #include <gmodule.h> and disable
code referring to GdkPixbuf is USE_GDKPIXBUF is not defined.
* clutter/clutter-stage.[ch]:
* clutter/clutter-stage.h:
* clutter/clutter-stage-window.h:
* clutter/glx/clutter-stage-glx.c:
* clutter/x11/clutter-stage-x11.c:
* tests/test-pixmap.c:
* tests/test-textures.c: disable code referring to GdkPixbuf if
USE_GDKPIXBUF is not defined.
2008-04-17 Neil Roberts <neil@o-hand.com>
Applied patch from bug #874
* clutter/cogl/gles/cogl.c (cogl_clip_set):
* clutter/cogl/gl/cogl.c (cogl_clip_set): If four clip planes are
available then attempt to use those to implement the clip rect,
otherwise resort to the stencil buffer.
* clutter/cogl/cogl.h (enum CoglFeatureFlags): Added feature flags
for the stencil buffer and having four clip planes.
2008-04-17 Øyvind Kolås <pippin@o-hand.com>
* clutter/clutter-deprecated.h: added deprecation warning for
clutter_texture_new_from_pixmap.
2008-04-16 Neil Roberts <neil@o-hand.com>
* tests/test-multistage.c (on_button_press): Fix to use the new
clutter_texture_new_from_file function instead of
clutter_texture_new_from_pixbuf.
2008-04-16 Neil Roberts <neil@o-hand.com>
* clutter/cogl/gl/cogl-texture.c:
* clutter/cogl/gles/cogl-texture.c:
Fixed tests for COGL_DEBUG in texture referencing debugging
statements. (It's defined as 0 when disabled instead of not being
defined at all). oops
2008-04-15 Ivan Leben <ivan@o-hand.com>
* tests: update svn:ignore
2008-04-15 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/cogl.h:
* clutter/cogl/common/cogl-bitmap.c:
* clutter/cogl/common/cogl-bitmap-fallback.c:
* clutter/cogl/gl/cogl-texture.c:
* clutter/cogl/gles/cogl-texture.c:
New pixel format COGL_PIXEL_FORMAT_G_8 and appropriate
conversions to / from RGBA implemented.
* tests/test-cogl-tex-convert.c:
Bottom-right image uses G_8 format instead of RGB_888.
* clutter/cogl/cogl.h:
* clutter/cogl/gl/cogl-texture.h:
* clutter/cogl/gl/cogl-texture.c:
* clutter/cogl/gles/cogl-texture.h:
* clutter/cogl/gles/cogl-texture.c:
New function cogl_texture_new_from_foreign constructs a
cogl texture from an existing GL texture object.
* tests/test-cogl-tex-foreign.c:
New test app for cogl_texture_new_from_foreign.
2008-04-15 Neil Roberts <neil@o-hand.com>
* clutter/clutter-texture.c (clutter_texture_set_property)
(clutter_texture_get_property, clutter_texture_class_init): Added
the 'cogl-texture' property.
(clutter_texture_handle_get_type): Added a function to get a boxed
type wrapper around a CoglHandle for a texture.
(clutter_texture_set_cogl_texture): Emits a notification signal
when the cogl-texture property is changed.
* clutter/clutter-texture.h: Added a boxed type wrapper for a COGL
texture handle.
* clutter/cogl/gl/cogl-texture.c (cogl_texture_new_with_size)
(cogl_texture_new_from_data, cogl_texture_new_from_file)
(cogl_texture_ref, cogl_texture_unref): Added debugging statements
for the texture referencing counting.
2008-04-15 Neil Roberts <neil@o-hand.com>
Added reference counting to CoglHandles
* tests/test-cogl-offscreen.c (test_coglbox_dispose):
* clutter/clutter-texture.c: Replaced calls to
cogl_offscreen_destroy with cogl_offscreen_unref.
* clutter/cogl/gl/cogl-texture.h:
* clutter/cogl/gl/cogl-texture.c:
* clutter/cogl/gles/cogl-texture.h:
* clutter/cogl/gles/cogl-texture.c:
* clutter/cogl/gl/cogl-fbo.h:
* clutter/cogl/gl/cogl-fbo.c:
* clutter/cogl/gles/cogl-fbo.h:
* clutter/cogl/gles/cogl-fbo.c:
* clutter/cogl/cogl.h:
Added reference counting functions
* clutter/clutter-texture.c (struct _ClutterTexturePrivate):
max_tile_waste is now guint instead of gint.
(clutter_texture_realize): Added a call to
cogl_texture_set_filters for every new texture created.
(clutter_texture_set_property): Calls
clutter_texture_set_max_tile_waste to set the PROP_MAX_TILE_WASTE
property.
(clutter_texture_get_property): Calls getter functions for the
PROP_MAX_TILE_WASTE and PROP_FILTER_QUALITY functions.
(clutter_texture_save_to_local_data): Store the filter quality and
max_tile_waste when making a local copy of the texture so that it
can be restored.
(clutter_texture_set_filter_quality): Set the filter quality on
the CoglHandle instead if it is available.
(clutter_texture_get_filter_quality): Gets the filter quality on
the CoglHandle instead if it is available.
(clutter_texture_set_cogl_texture)
(clutter_texture_set_max_tile_waste)
(clutter_texture_get_max_tile_waste): New functions
(clutter_set_cogl_texture): New public function to replace
clutter_texture_set_from_cogl_texture
* tests/test-cogl-tex-convert.c:
* tests/test-cogl-tex-getset.c:
* tests/test-cogl-tex-tile.c:
* tests/test-cogl-offscreen.c:
* clutter/pango/pangoclutter-render.c (tc_clear):
Replace cogl_texture_destroy with cogl_texture_unref.
2008-04-15 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl.c:
* clutter/cogl/gl/cogl-context.c:
* clutter/cogl/gl/cogl-context.h:
_cogl_features_init obtains pointers to all the shader related
functions and stores them into context object (same as for FBOs).
All the cogl thin wrappers around shader functions redirected
to function pointers from context.
2008-04-14 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/cogl.h:
* clutter/cogl/gl(es)/cogl-texture.c:
New functions: cogl_texture_is_sliced and
cogl_texture_get_gl_texture.
2008-04-09 Ivan Leben <ivan@o-hand.com>
* cluter/cogl/gl/cogl-texture.c:
* cluter/cogl/gles/cogl-texture.c:
Manual texture coordinate (de)normalization to avoid
per-slice texture matrix push/pop.
2008-04-08 Neil Roberts <neil@o-hand.com>
* clutter/clutter-texture.c (clutter_texture_save_to_local_data):
Got rid of COGL_PIXEL_FORMAT_HAS_ALPHA now that CoglPixelFormat
has the COGL_A_BIT flag to signify that the format has an alpha
channel.
2008-04-08 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/*:
cogl_enable is now internal. All the cogl primitive and
texture drawing functions automatically enable required
flags.
* clutter/cogl/gl/cogl-texture.c:
* clutter/cogl/gles/cogl-texture.c:
Improved texture drawing to optimize for special cases.
Coupled with internal enable flag caching, the font
performance has now been restored.
* clutter/cogl/gl/cogl-defines.h:
* clutter/cogl/gles/cogl-defines.h:
Clean-up of obsolete defines. One step closer to not
having it included in cogl.h
* clutter/glx/clutter-glx-texture-pixmap.c:
commented usage of old cogl functions
* tests/test-text.c:
fps counter for measuring texture performance
2008-04-07 Neil Roberts <neil@o-hand.com>
Removed GdkPixbuf related code from ClutterTexture.
* clutter/cogl/gles/cogl-texture.c (cogl_texture_new_from_file):
* clutter/cogl/gl/cogl-texture.c (cogl_texture_new_from_file):
* clutter/cogl/common/cogl-bitmap-pixbuf.c
(_cogl_bitmap_from_file):
Now takes an error pointer to pass up errors from gdk-pixbuf.
* clutter/clutter-texture.h: Removed pixbuf functions and added
clutter_texture_set_from_file and clutter_texture_new_from_file.
* clutter/clutter-texture.c (clutter_texture_unrealize,
clutter_texture_realize): Now saves the system memory copy of the
texture to a local guchar array instead of to a pixbuf
(clutter_texture_set_property, clutter_texture_get_property):
Removed the pixbuf property.
(clutter_texture_get_pixbuf, clutter_texture_set_pixbuf):
Removed.
(clutter_texture_set_from_file): New function.
* tests/test-viewport.c:
* tests/test-textures.c:
* tests/test-shader.c:
* tests/test-rotate.c:
* tests/test-fbo.c:
* tests/test-depth.c:
* tests/test-cogl-tex-tile.c:
* tests/test-cogl-tex-getset.c:
* tests/test-cogl-tex-convert.c:
* tests/test-cogl-offscreen.c:
* tests/test-behave.c:
* tests/test-actors.c:
Adapted to use clutter_texture_new_from_file instead of
clutter_texture_new_from_pixbuf.
2008-04-07 Neil Roberts <neil@o-hand.com>
Adapted PangoClutterRenderer to use the new COGL API. This
currently seems to get about half the performance though.
* clutter/pango/pangoclutter-render.c: Now uses CoglHandles and
the new texture API instead of creating GL textures directly.
(draw_trapezoid): Removed as it doesn't seem to be used anywhere.
* clutter/cogl/gles/cogl-texture.c (_cogl_pixel_format_to_gl):
Added the COGL_PIXEL_FORMAT_A8 pixel format.
(_cogl_texture_upload_subregion_to_gl): Now sets
GL_UNPACK_ALIGNMENT based on the rowstride otherwise it won't
support bitmaps aligned to anything but 4.
* clutter/cogl/gl/cogl-texture.c (_cogl_pixel_format_to_gl): Added
the COGL_PIXEL_FORMAT_A8 pixel format.
2008-04-04 Neil Roberts <neil@o-hand.com>
* clutter/cogl/gles/cogl-texture.c (_cogl_texture_upload_to_gl):
Set GL_UNPACK_ALIGNMENT to 1 before uploading data for a tile. The
default value is 4 so if you used image data that doesn't have an
alpha it would previously be misaligned and show a corrupted
texture.
2008-04-04 Neil Roberts <neil@o-hand.com>
* clutter/cogl/gl/cogl-texture.c (_cogl_subregion_gl_store_rules):
Now sets ROW_LENGTH based on the row stride instead of the image
width. This allows you to use the row stride to make a texture
from a sub-section of a larger image. This is necessary to use
GdkPixbufs generated using gdk_pixbuf_new_subpixbuf.
* clutter/clutter-texture.c (clutter_texture_set_from_data): Fixed
a bug with sync-size if you try to change the size of the texture
data more than once. When clutter_actor_set_size is called in
response to the texture size being changed the sync_actor_size
flag is cleared. The fix just sets it again after the call is
finished.
2008-04-03 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/cogl.h:
* clutter/cogl/gl/cogl.c:
* clutter/cogl/gles/cogl.c:
Removed old offscreen api. Renamed cogl_offscreen_buf_destroy
to cogl_offscreen_destroy since there is no clash anymore.
* clutter/cogl/gl/fbo.c:
* clutter/cogl/gles/fbo.c:
* clutter/clutter-texture.c:
* tests/test-cogl-offscreen.c:
cogl_offscreen_buf_destroy -> cogl_offscreen_destroy
2008-04-03 Ivan Leben <ivan@o-hand.com>
* clutter/clutter-texture.c: Fixed an = to |= typo.
2008-04-03 Neil Roberts <neil@o-hand.com>
* tests/test-textures.c (main): Removed call to
clutter_texture_get_n_tiles which is no longer supported.
2008-04-03 Neil Roberts <neil@o-hand.com>
Upgraded ClutterTexture and ClutterCloneTexture to use the new
texture API in COGL.
* clutter/clutter-texture.c (clutter_texture_realize): Greatly
simplified to just load the texture data using the new COGL
API. The static utility functions that were used to load the data
have been removed and are now in COGL.
(clutter_texture_set_property): Removed the use-tiles property
because it can no longer be implemented with the new COGL API. The
repeat-x, repeat-y and filter-quality properties now cause the
actor to be redrawn.
(clutter_texture_get_property): Removed the pixel-type property
because the information is now available in the single
pixel-format property. This is now directly queried from the COGL
texture instead of being stored in a private member variable.
* clutter/clutter-texture.h: Removed API functions that are
related to tiling because they are no longer neccessary to
implement ClutterCloneTexture using the new COGL texture API.
* clutter/clutter-clone-texture.c (clutter_clone_texture_set_property)
(clutter_clone_texture_get_property): Added repeat-x and repeat-y
properties.
(clone_texture_render_to_gl_quad): Removed so that the painting
can be done via the COGL API instead.
(clutter_clone_texture_paint): Painting greatly simplified so that
it just gets a handle to the COGL texture from the parent
ClutterTexture and calls COGL to render it. Also supports the
repeat-x and repeat-y properties by extending the texture
co-ordinates given to cogl_texture_rectangle.
2008-04-02 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl-texture.c:
Fixed a bug where cogl_texture_get_data would
corrupt memory if the texture was sliced.
2008-04-02 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/cogl.h:
* clutter/cogl/gl(es)/cogl-texture.h:
* clutter/cogl/gl(es)/cogl-texture.c:
Added min/mag filter property to a texture.
New function cogl_texture_set_filters.
cogl_texture_get_properties broken into separate
functions for each of the texture properties
(e.g. cogl_texture_get_width).
* clutter/clutter-texture.c:
* clutter/glx/clutter-glx-texture-pixmap.c:
* clutter/pango/pangoclutter-render.c:
Commented out clashes with new api while Clutter
is being moved to new textures api.
* tests/test-cogl-tex-tile.c:
Set linear min mag filters after creating texture.
* tests/test-cogl-tex-getset.c:
Use new getter functions.
2008-04-02 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl.c:
* clutter/cogl/gles/cogl.c:
Explicit cast to remove const qualifier when initing
bitmap structure with given data argument fixes the
compile warning.
2008-04-02 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/cogl.h:
* clutter/cogl/gl/cogl.c:
Rearraging, grouping and marking of functions that
are expected to be removed in the cleanup phase
after clutter is moved to new api.
* clutter/cogl/gl/cogl-texture.c:
* clutter/cogl/gles/cogl-texture.c:
* tests/test-cogl-tex-getset.c:
Renamed cogl_texture_set_subregion to
cogl_texture_set_region. Data argument made const.
2008-03-31 Ivan Leben <ivan@o-hand.com>
* cluter/cogl/gl/cogl-context.c:
Removed the inclusion of gles header. (Copy-paste
error when syncing with gles port.)
2008-03-26 Ivan Leben <ivan@o-hand.com>
* tests: update svn:ignore
2008-03-26 Ivan Leben <ivan@o-hand.com>
Bug fixes, code rearrangement.
FBOs ported to GLES (mainly just stubs).
* clutter/cogl/gl/cogl-texture.c:
New function cogl_texture_new_with_size creates
an empty texture of given size.
* tests/test-cogl-offscreen.c:
Two partially-occluded rectangles are drawn
to an offscreen buffer and then blended as
one entity with the textured background.
2008-03-20 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/cogl.h:
* clutter/cogl/cogl.c:
* clutter/cogl/cogl-context.h:
* clutter/cogl/cogl-context.c:
Added COGL_FEATURE_OFFSCREEN_BLIT and
COGL_FEATURE_OFFSCREEN_MULTISAMPLE.
Added function pointers for generation
of renderbuffers.
All EXT function pointers now stored in
context structure
A default context structure is now created
automatically upon a call to
cogl_context_get_default
* tests/test-cogl-xxx.c:
Removed a call to cogl_context_create.
* clutter/cogl/gl/cogl-defines.h:
Removed EXT fuction declarations. We rely on
glext.h to provied those anyway.
* clutter/cogl/gl/cogl-fbo.c:
Checks for offscreen feature support before
calling EXT functions via pointers in context.
2008-03-20 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl(es)/cogl-texture.c:
Moved some declarations from here ...
* clutter/cogl/gl(es)/cogl-texture.h:
...to a new header file, to be able to reference
textures from FBOs.
* clutter/cogl/gl(es)/cogl-context.h:
* clutter/cogl/gl(es)/cogl-context.c:
* clutter/cogl/gl/cogl-fbo.h:
* clutter/cogl/gl/cogl-fbo.c:
Began implementing FBOs. GL flavour currently
not compilable. Need to resolve some issues
in cogl-defines.h.
2008-03-18 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl(es)/cogl-context.h:
* clutter/cogl/gl(es)/cogl-context.c:
Implemented a CoglContext structure and context
create / destroy api to be able to init state
properly and centralize state variables.
* clutter/cogl/gl(es)/cogl-primitives.h:
* clutter/cogl/gl(es)/cogl-primitives.c:
* clutter/cogl/gl(es)/cogl-texture.h:
* clutter/cogl/gl(es)/cogl-texture.c:
Moved state variables to CoglContext.
* tests/test-cogl-*.c:
Updated CoglTestbox to create cogl context.
* clutter/eglx/clutter-stage-egl.c:
Some more testing with glGet values.
2008-03-11 Ivan Leben <ivan@o-hand.com>
* clutter/eglx/clutter-stage-egl.c:
Output all the available configurations prior to
choosing one. Clearly shows no stencil buffer
available with PowerVR's GLES SDK.
2008-03-07 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/common/cogl-bitmap.h:
* clutter/cogl/common/cogl-bitmap.c:
Utility function to copy data subregion between
two bitmaps of same format.
* clutter/cogl/gl/cogl-texture.c:
Minor bug fix.
* clutter/cogl/gles/cogl-texture.c:
Texture api ported to GLES (get/set still missing).
* clutter/cogl/cogl.h:
Texture creation functions now also take maximum
waste parameter.
* tests/test-cogl-tex-xxx.c:
Update to new texture creation api.
2008-03-06 Ivan Leben <ivan@o-hand.com>
* ./ : update svn:ignore
* tests: update svn:ignore
2008-03-06 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/common:
Common files (util and bitmap related) moved here
and compiled into an intermediate static lib to be
linked in to proper gl(es) version of the library.
2008-03-04 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/cogl.h:
* clutter/cogl/gl/cogl-texture.c:
cogl_texture_set_subregion implemented
* tests/test-cogl-tex-getset.c:
Tests texture image retrieval and subregion update
api.
2008-03-01 Ivan Leben <ivan@o-hand.com>
* tests/test-cogl.c:
Renamed to:
* tests/test-cogl-primitives.c:
... and reverted to test the primitives api
* tests/test-cogl-tex-tile.c:
A separate test for texture tiling. Now animated to
test a broader range of input data.
* tests/test-cogl-tex-convert.c:
Tests bitmap conversion functions by forcing the image
data to a different internal format.
2008-02-29 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl-bitmap.h:
* clutter/cogl/gl/cogl-bitmap-fallback.h:
* clutter/cogl/gl/cogl-bitmap-pixbuf.h:
Many bugs fixed in the fallback conversion code that
make it actually work. Conversions from rgba to other
24 and 32 bit formats required by cogl_texture_get_image.
* clutter/cogl/cogl.h:
* clutter/cogl/gl/cogl-texture.c:
Bug fixes to make conversions work. cogl_texture_new_xxx
functions now take internal format as a convenience so
cogl can do a conversion prior to passing the data to
GL if requested so by the user (e.g. rgb(a) -> grayscale)
2008-02-28 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl.c:
Moved _cogl_get_format_bpp ...
* clutter/cogl/gl/cogl-bitmap.c:
- ... here
- Convenience function _cogl_bitmap_convert_and_premult
does both
* clutter/cogl/gl/cogl-texture.c:
- Generalized the gl pixel storage setup function to
be able to specify both pack and unpack rules
- implemented _cogl_texture_download_from_gl
- implemented cogl_texture_get_image (renamed from
cogl_texture_get_subregion, since obtaining subregion
is not supported by GL.. might get renamed again :)
2008-02-27 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/cogl.h:
* clutter/cogl/gl/cogl-texture.c:
- New function cogl_texture_get_properties returns
texture width, height and maximum waste.
- CoglSpanIter structure and iterator api abstracts
iteration over slices when an area needs to be
covered by returning slice-coverage intersection
info.
- Software tiling simplified using span iterators
- Began work on cogl_texture_get_sub_region and
cogl_texture_set_sub_region (will use span iterators
as well)
2008-02-27 Ivan Leben <ivan@o-hand.com>
* tests/test-cogl.c:
Background color changed to emphasize the transparency
in the redhand image.
2008-02-27 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/cogl.h:
cogl_texture_draw renamed to cogl_texture_rectangle to
better match the rest of the drawing api
* clutter/cogl/gl/cogl-texture.c:
Harware tiling implemented and used when supported.
Software (manual) tiling now only used as a fallback.
2008-02-27 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl(es)/cogl.c:
Moved the COGL_DEBUG definition from source ...
* clutter/cogl/gl(es)/cogl-internal.h:
... to header file.
* clutter/cogl/gl/cogl-texture.c:
- Uploading to gl for multiple slices implemented
- Unique upload function for both one and many slices
- Some fixes for bugs found while testing
- Some more comments
2008-02-26 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/cogl.h:
Texture drawing api now takes texture coordinates
for quad corners.
* clutter/cogl/gl/cogl-texture.c:
Tiling has been implemented. Whenever the quad texture
corner coordinates are different than (0,0)-(1,1) the
texture slices are automatically drawn as many times
as to cover the whole quad area, thus tiling the whole
texture image across the quad. To be used as a fallback
where GL_REPEAT for texture wrap mode is not supported.
* clutter/tests/test-cogl.c:
Draws the red hand image tiled several times.
2008-02-23 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl-texture.c:
slicing moved into cogl texture api
2008-02-22 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/TODO:
a special (temporary) TODO for cogl overhaul related
stuff
2008-02-22 Ivan Leben <ivan@o-hand.com>
* clutter/clutter-feature.h:
added a new feature: CLUTTER_FEATURE_TEXTURE_NPOT
* clutter/cogl/cogl.h:
cogl has got its own feature flags defined
* clutter/cogl/gl(es)/cogl.c:
new feature check for ARB_texture_non_power_of_two
* clutter/cogl/gl(es)/cogl-util.h:
* clutter/cogl/gl(es)/cogl-util.c:
cogl_util_next_p2 moved from clutter for independency
* clutter/cogl/gl/cogl-texture.c:
- texture handles being stored into and array
- cogl_is_texture checks for a valid handle
- structures and functions prepared for implementation
of slicing
2008-02-21 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl.c:
* clutter/cogl/gl/cogl-internal.h:
* clutter/cogl/gl/cogl-bitmap-pixbuf.c:
* clutter/cogl/gl/cogl-bitmap-fallback.c:
* clutter/cogl/gl/cogl-texture.c:
Some debugging of the texture code written so far...
* clutter/tests/test-cogl.c:
...and the first texture is being drawn using the new api!
2008-02-19 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl.h:
braces () around complex pixel format enums
* clutter/cogl/gl/cogl-bitmap.h:
* clutter/cogl/gl/cogl-bitmap-fallback.h:
* clutter/cogl/gl/cogl-bitmap-pixbuf.h:
simplified api by introducing internal CoglBitmap struct
* clutter/cogl/gl/cogl-texture.c:
- using CoglBitmap
- format conversion and alpha unpremultiplication using
cogl_bitmap_xxx api
2008-02-19 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl-texture.c:
prepared to implement the upload-to-GL stage
2008-02-19 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl-texture.c:
loading from file (first stage - load data into memory)
implemented in CoglTexture
* clutter/cogl/gl/cogl-bitmap.h:
* clutter/cogl/gl/cogl-bitmap-fallback.c:
* clutter/cogl/gl/cogl-bitmap-pixbuf.c:
loading from file implemented in GdkPixbuf imaging backend
2008-02-18 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl-texture.c:
* clutter/cogl/gl/cogl-bitmap.h:
* clutter/cogl/gl/cogl-bitmap-fallback.c:
* clutter/cogl/gl/cogl-bitmap-pixbuf.c:
image loading and pixel conversions moved behind a simple
abstraction api that makes adding new native image library
'backends' easy
* clutter/cogl/gl/Makefile.am:
for now hardcoded to use pixbuf imaging library, this
should be handled by configure.ac later
* clutter/cogl/cogl.h:
updated CoglFormat enum to add premultiplied image formats
2008-02-16 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl-texture.c: started moving
clutter-texture code to cogl level
* clutter/cogl/cogl.h: enums and declarations required
by the textures api (not complete yet)
2008-02-13 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl-primitives.c:
* clutter/cogl/gles/cogl-primitives.c:
Primitives api extensively commented.
2008-02-13 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl-primitives.c: moved cogl_color ...
* clutter/cogl/gl/cogl.c: ... back here, since it might be
subject to more general use.
* clutter/cogl/gles/cogl.c:
* clutter/cogl/gles/cogl-internal.h:
* clutter/cogl/gles/cogl-primitives.c:
Primitives api ported to GLES.
2008-02-12 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/cogl.c: moved drawing api...
* clutter/cogl/cogl-primitives.c: ...to a separate file
* clutter/cogl/cogl-internal.h: hosts internal declarations
and #defines common to all the source files implementing
cogl
2008-02-12 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/cogl.c:
- removed cogl_set_fill_color, cogl_set_stroke_color
(a unique color is specifiad via cogl_color and used
for both filling and stroking)
- renamed cogl_rectangle to cogl_fast_fill_rectangle
(uses current color just like cogl_fill and cogl_stroke)
- renamed cogl_trapezoid to cogl_fast_fill_trapezoid
(uses current color just like cogl_fill and cogl_stroke)
- cogl_fast_fill_rectanglex, cogl_fast_fill_trapezoidx
(ClutterFixed versions)
* clutter/cogl/cogl.h:
rectangle and color api update
* tests/test-coglc:
update to use cogl_color instead
* clutter/clutter-actor.c:
* clutter/clutter-rectangle.c:
cogl_rectangle => cogl_fast_fill_rectangle
* clutter/pango/pangoclutter-render.c:
cogl_trapezoid => cogl_fast_fill_trapezoid
2008-02-12 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/cogl.h: drawing api inserted into header
* clutter/cogl/gl/cogl.c:
- bezier relative functions
- internal functions made static
2008-02-12 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl.c:
- relative versions of path_xxx_to apis (path_xxx_to_rel)
- horizontal, vertical lines for even more handyness
- cogl_round_rectangle
- all the input arguments changed to ClutterFixed
* tests/test-cogl.c: added round rectangle to drawing list
2008-02-11 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl.c: bezier quadratic and cubic curve
subdivision implemented.
* tests/test-cogl.c: added bezier curves to drawing list
2008-02-09 Ivan Leben <ivan@o-hand.com>
* tests/test-cogl.c: moved the "cogltester" class from
clutter-cogltester.c into a dedicated test app. The cogl testing
actor cycles between and draws various cogl primitives.
* clutter/cogl/gl/cogl.c: almost all the basic primitives done
2008-02-08 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl.c: some more work on higher level drawing api
* clutter/clutter-cogltester.h: header for a simple actor to test new
cogl api. For now just an empty rig.
* clutter/clutter-cogltester.c: implementation of a simple actor to
test new cogl api. For now just an empty rig.
2008-02-07 Ivan Leben <ivan@o-hand.com>
* clutter/cogl/gl/cogl.c: started work on higher level drawing api.