| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Instead of using the backend singleton. This allows lazy initialization
of Clutter.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2435
(cherry picked from commit 446107f19d59ab95c918e566b5d8efdb8c0841c8)
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When picking a size for the last slice in a texture, Cogl would always
pick the biggest power of two size that doesn't create too much
waste and is less than or equal to the previous slice size. However
this can end up creating a texture that is bigger than needed if there
is a smaller power of two.
For example, if the maximum waste is 127 (the current default) and we
try to create a texture that is 257 pixels wide it will decide that
the next power of two (512) is too much waste (255) so it will create
the first slice at 256 pixels wide. Then we only have 1 pixel left to
allocate but Cogl would pick the next smaller size that has a small
enough waste which is 128. But of course 1 is already a power of two
so that's redundantly oversized by 127.
This patch fixes it so that whenever it finds a size that would be big
enough, instead of using exactly that it picks the next power of two
up from the size we need to fill.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2355
(cherry picked from commit 7e112472b5ad9deea9b0ad1fda47aa16199a780a)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ClutterAnimator currently has a number of bugs related to its
referencing of its internal timeline.
1) The default timeline created in _init is not unreffed (it appears the
programmer has wrongly thought ClutterTimeline has a floating reference
based on the use of g_object_ref_sink in _set_timeline)
2) The timeline and slave_timeline vars are unreffed in finalize instead
of dispose
3) The signal handlers set up in _set_timeline are not disconnected when
the animator is disposed
http://bugzilla.clutter-project.org/show_bug.cgi?id=2347
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
(cherry picked from commit 3fe10e0bb1a7d6d9ad1f28ab50d609d2a0af55fb)
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When removing all keys in a ClutterAnimator, the hash table with
object/property name pairs went out of sync. This change makes
the animator always clear this hash table upon key-removal; and
refreshing it if the animator's timeline is running.
Fixes bug #2335
(cherry picked from commit 4640dad6afdce4469b64cef3fea9a426afcb0ce8)
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
|
|
|
|
|
|
| |
(cherry picked from commit 271e0d960486acea896389b05ba521d569c7c83a)
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
|
|
|
|
|
|
| |
(cherry picked from commit 306385c2eb6ea3e0df406edc34227ca8c2622b7d)
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
|
|
|
|
|
|
|
|
| |
Use the same code used elsewhere in Clutter when dealing with values
that can be copied or transformed.
(cherry picked from commit 74301da8e7bbce31395871927fe8afd6e08bbfd9)
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
For sliced 2D textures, _cogl_texture_2d_sliced_get_data() uses the
bitmap width as the number of bytes to copy from an intermediate
bitmap when a conversion is needed. This doesn't take into account the
bpp so it wasn't copying enough data.
Based on a patch by Brian Tarricone.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2125
|
| |
|
| |
|
|
|
|
| |
http://bugzilla.clutter-project.org/show_bug.cgi?id=2272
|
|
|
|
|
|
|
| |
Correctly detect various GLES v1.1 libraries (with or without additional
EGL libraries).
http://bugzilla.clutter-project.org/show_bug.cgi?id=2271
|
|
|
|
| |
Update the keysyms header from master.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The request mode set by the box layout was previously width-for-height
in a vertical layout and height-for-width in a horizontal layout which
seems to be wrong. For example, if width-for-height is used in a
vertical layout then the width request will come second with the
for_height parameter set. However a vertical layout doesn't pass the
for_height parameter on to its children so doing the requests in that
order doesn't help. If the layout contains a ClutterText then both the
width and height request for it will have -1 for the for_width and
for_height parameters so the text would end up allocated too small.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2328
(cherry picked from commit 8f4d61e663770d6a24b75d77418a145eba7c104f)
|
|
|
|
|
| |
And error out in case of load failure.
(cherry picked from commit 00675f42aab932b2a2cb7d128d282625f681e449)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Nothing was storing the shader type when a shader was created so it
would get confused about whether it was a custom vertex or fragment
shader.
Also the 'type' member of CoglShader was a GLenum but the only place
that read it was treating it as if it was CoglShaderType. This changes
it be CoglShaderType.
(cherry picked from commit ec26466cdce5b701af7c82bce4588cb6f2e3180c)
|
|
|
|
|
|
| |
Like the big GL backend, GLES2 needs to flush the journal before
setting a user program because the current program is not logged in
the journal.
|
|
|
|
|
|
|
| |
The tests can't rely on using the internal HAVE_* macros that are
generated by configure.ac. It's better to use the public COGL_HAS_*
macros from cogl-defines.h This was causing it to use the GL versions
of the variable names.
|
|
|
|
|
|
|
| |
Otherwise the test leaks the shader object and the underlying GLSL
program.
(cherry picked from commit 616eccdad63ce35d5ce59094cf026970b799cf09)
|
|
|
|
|
|
|
| |
_cogl_program_free and _cogl_shader_free never freed the struct their
structs so it would end up leaking a little bit.
(cherry picked from commit 87e77f9a22785b8b11f7cdb4dc82841aa34c6e83)
|
|
|
|
|
|
|
|
|
|
|
| |
Since the GLES2 wrapper grew support for multi-texturing, the
tex_coord varying variable defined in the vertex shader is actually an
array of texture coordinates so it ought to match in the fragment
shader in test-shader. This seemed to work anyway under Mesa/Intel but
under NVidia it does not so I don't think it's safe to assume that
linking a non-array varying with an array will work.
(cherry picked from commit a1c74209795c341dc89dbe2f6c3a91242a8c813c)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In OpenGL the 'shininess' lighting parameter is floating point value
limited to the range 0.0→128.0. This number is used to affect the size
of the specular highlight. Cogl materials used to only accept a number
between 0.0 and 1.0 which then gets multiplied by 128.0 before sending
to GL. I think the assumption was that this is just a weird GL quirk
so we don't expose it. However the value is used as an exponent to
raise the attenuation to a power so there is no conceptual limit to
the value.
This removes the mapping and changes some of the documentation.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2222
|
|
|
|
|
|
|
|
|
| |
The documentation was recursively referring to itself causing a stack
overflow in the reader's brain.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2233
(cherry picked from commit 1dee65770a7eba85c899890e652d4cf32744c71a)
|
|
|
|
|
|
|
|
|
|
| |
Moves preprocessor #ifdef __linux_ above else statement, avoiding the
lack of an else block if __linux__ is not defined.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2212
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
(cherry picked from commit fff5558ad25d3a633657c2bd4558132b21dc8ab8)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using clutter_actor_animatev it would set a boolean whenever a
property begins with "fixed::". However it would never clear the
variable so it would end up marking all subsequent properties as
fixed.
http://bugzilla.openedhand.com/show_bug.cgi?id=2180
http://bugzilla.clutter-project.org/show_bug.cgi?id=2149
(cherry picked from commit 8512423f22995dced954b9b5c5e6481af83ba5a0)
|
|
|
|
|
|
| |
Slightly edited when backporting from master:
f60999becfc40af940eba23cd2dbdd8dd2455b1a
|
|
|
|
|
|
| |
(cherry picked from commit 4e5c84ebc5fba38afdf0593f830dc2ea08098a30)
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The code sample in the gtk-doc annotations for ClutterBindingPool shows
the arguments in the wrong order.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2133
(cherry picked from commit 213cd30cebfb58df1298a13adf528755aad6cdfa)
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
| |
Explicitly explain that end_pos is not included with the resulting
string
http://bugzilla.clutter-project.org/show_bug.cgi?id=2081
(cherry picked from commit d37dee8258ec2a10f5825694376cc27bc43b8f93)
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
| |
The paint opacity should always assume a fully opaque top-level at the
end, otherwise the scene would be rendered fully transparent.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2050
(cherry picked from commit a950388bc68a0fbdb76bf83cc0673bdca2f1d1d5)
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
A top-level actor could still have 0 opacity (e.g. a Stage with the
:use-alpha property set to TRUE), but we want its children to still
be painted.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2050
(cherry picked from commit 42df1a150b8ecb49f02a5780b9f9c983221c97ea)
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The -rdynamic linker option is specific to ELF so it was breaking
builds on systems with other object formats such as Windows and
Solaris. This patch replaces that option with -export-dynamic which is
a portable libtool option which should do the right thing on each
platform.
http://bugzilla.clutter-project.org/show_bug.cgi?id=1930
(cherry picked from commit fbeab378289a0e9f9470aa9f532003cf66529970)
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
|
|
|
|
|
|
| |
(cherry picked from commit f64c66ede8c3edea31931bae4edcb4c10f53d93a)
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
|
|
|
|
|
|
|
|
| |
http://bugzilla.clutter-project.org/show_bug.cgi?id=2169
(cherry picked from commit 140f76abf44594dc6b004b381e3ec24b6ecdc208)
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a blind patch because I don't know enough about the osx backend
and the osx backend probably doesn't even work these days anyway but
since people have filed bugs specifically on OSX that imply they don't
have a depth or stencil buffer this tries to fix that.
Maybe someone will eventually pick up the osx backend again and verify
if this helps.
http://bugzilla.clutter-project.org/show_bug.cgi?id=1394
(cherry picked from commit 279e68d8d9a84356c83e32502c5bc5af5160da08)
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
|
|
|
|
|
|
|
|
| |
This function has always been defined in the shared library but it was
missed from the public headers.
(cherry picked from commit 0e839c37693339287232f0292283f92522fa3ca5)
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
|
|
|
|
| |
When removing keys, sometimes a couple of keys would be remaining.
|
|
|
|
|
| |
When removing the last key in a list, the last part of the for statement
could cause dereferencing (NULL)->next and thus segfaulting.
|
| |
|
|
|
|
|
| |
When using interpolation and the last key is not at 1.0 a bouncing
artifact could be observed after the keys.
|
| |
|
|
|
|
| |
renamed KeyAnimator to PropertyIter
|
|
|
|
|
|
| |
Duplicate the existing ease-in/interpolation mode for the property when
removing, replacing the first key for a property or adding a new first
key for a property.
|
|
|
|
|
|
| |
When inserting or modifying keys of a running animator the internal
iterators per property could go out of sync. Reinitializing the
iterators if the timeline is running avoids this.
|
|
|
|
|
|
|
|
|
| |
glDisableVertexAttribArray was defined to glEnableVertexAttribArray so
it would probably cause crashes if it was ever used. Presumably
nothing is using these yet because the generic attributes are not yet
tied to shader attributes in a predictable way.
(cherry picked from commit ced7915ea1977bd9d9aa2a70f54f1f2f774ed567)
|
|
|
|
|
|
|
| |
A typo in clutter-event.c meant that the wrong struct location could be
used for the input device of key events. Also, a typo in the X11 event
code meant that key-presses would come from the pointer device (releases
would still come from the keyboard device).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's possible that a single WM_MOUSEWHEEL event can arrive with a
scroll amount greater than WHEEL_DELTA. Previously it would accumulate
these amounts but it would still only emit a single event per
message. For example, if a message arrived that is worth two
WHEEL_DELTAs then it would emit one event and leave scroll_pos as
+WHEEL_DELTA. If the wheel is then scrolled in the opposite direction
then wheel delta would end up as zero and the scroll event would get
lost.
This patch fixes it so that it always emits enough events to put
scroll_pos back to less than WHEEL_DELTA.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2135
(cherry picked from commit 527ad961ab039c55f7cc0cc3066aedcf183db857)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the window procedure for the stage window would always
create a ClutterEvent struct for every message and then pass that on
to message_translate to fill in the details. message_translate could
return FALSE to abandon the event. Instead of this, message_translate
now creates and queues the event itself whenever it sees a message
that could translate to an event. The function now returns void. This
has a number of advantages:
* It saves redundantly allocating events for messages that Clutter
doesn't care about.
* A single message can now easily be translated into multiple events.
* There were some messages that were handled and did not fill in the
event struct but did not cause the function to return FALSE. I think
this would end up with a CLUTTER_NOTHING event being emitted.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2135
(cherry picked from commit 2c8d73f0472798896a6528359f82f8ea6f7589e2)
|