[mutter/wip/nielsdg/clutter-remove-deprecated: 2/6] clutter: remove deprecated ClutterShader
- From: Niels De Graef <nielsdg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/nielsdg/clutter-remove-deprecated: 2/6] clutter: remove deprecated ClutterShader
- Date: Sun, 18 Nov 2018 10:54:04 +0000 (UTC)
commit 19137361d7076cd87d7267bcbbb94d6d2386d245
Author: Niels De Graef <nielsdegraef gmail com>
Date: Wed Nov 14 08:32:42 2018 +0100
clutter: remove deprecated ClutterShader
clutter/clutter/Makefile.am | 2 -
clutter/clutter/clutter-actor.c | 19 -
clutter/clutter/clutter-deprecated.h | 1 -
clutter/clutter/clutter-types.h | 1 -
.../clutter/deprecated/clutter-actor-deprecated.c | 308 -------
clutter/clutter/deprecated/clutter-shader.c | 907 ---------------------
clutter/clutter/deprecated/clutter-shader.h | 182 -----
clutter/clutter/deprecated/clutter-texture.c | 20 -
clutter/clutter/meson.build | 2 -
po/POTFILES.skip | 1 -
10 files changed, 1443 deletions(-)
---
diff --git a/clutter/clutter/Makefile.am b/clutter/clutter/Makefile.am
index 2b43a170d..b9a84804c 100644
--- a/clutter/clutter/Makefile.am
+++ b/clutter/clutter/Makefile.am
@@ -276,7 +276,6 @@ deprecated_h = \
deprecated/clutter-keysyms.h \
deprecated/clutter-main.h \
deprecated/clutter-rectangle.h \
- deprecated/clutter-shader.h \
deprecated/clutter-stage-manager.h \
deprecated/clutter-stage.h \
deprecated/clutter-state.h \
@@ -305,7 +304,6 @@ deprecated_c = \
deprecated/clutter-input-device-deprecated.c \
deprecated/clutter-layout-manager-deprecated.c \
deprecated/clutter-rectangle.c \
- deprecated/clutter-shader.c \
deprecated/clutter-state.c \
deprecated/clutter-table-layout.c \
deprecated/clutter-texture.c \
diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c
index 3580ac1fd..083e104bb 100644
--- a/clutter/clutter/clutter-actor.c
+++ b/clutter/clutter/clutter-actor.c
@@ -1108,7 +1108,6 @@ static void clutter_actor_pop_in_cloned_branch (ClutterActor *self,
{ _transform; } \
cogl_matrix_translate ((m), -_tx, -_ty, -_tz); } G_STMT_END
-static GQuark quark_shader_data = 0;
static GQuark quark_actor_layout_info = 0;
static GQuark quark_actor_transform_info = 0;
static GQuark quark_actor_animation_info = 0;
@@ -3522,12 +3521,6 @@ _clutter_actor_update_last_paint_volume (ClutterActor *self)
priv->last_paint_volume_valid = TRUE;
}
-static inline gboolean
-actor_has_shader_data (ClutterActor *self)
-{
- return g_object_get_qdata (G_OBJECT (self), quark_shader_data) != NULL;
-}
-
guint32
_clutter_actor_get_pick_id (ClutterActor *self)
{
@@ -3769,7 +3762,6 @@ clutter_actor_paint (ClutterActor *self)
ClutterActorPrivate *priv;
ClutterPickMode pick_mode;
gboolean clip_set = FALSE;
- gboolean shader_applied = FALSE;
ClutterStage *stage;
g_return_if_fail (CLUTTER_IS_ACTOR (self));
@@ -3940,13 +3932,6 @@ clutter_actor_paint (ClutterActor *self)
if (priv->effects == NULL)
{
- if (pick_mode == CLUTTER_PICK_NONE &&
- actor_has_shader_data (self))
- {
- _clutter_actor_shader_pre_paint (self, FALSE);
- shader_applied = TRUE;
- }
-
priv->next_effect_to_paint = NULL;
}
else
@@ -3955,9 +3940,6 @@ clutter_actor_paint (ClutterActor *self)
clutter_actor_continue_paint (self);
- if (shader_applied)
- _clutter_actor_shader_post_paint (self);
-
if (G_UNLIKELY (clutter_paint_debug_flags & CLUTTER_DEBUG_PAINT_VOLUMES &&
pick_mode == CLUTTER_PICK_NONE))
_clutter_actor_draw_paint_volume (self);
@@ -6297,7 +6279,6 @@ clutter_actor_class_init (ClutterActorClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
- quark_shader_data = g_quark_from_static_string ("-clutter-actor-shader-data");
quark_actor_layout_info = g_quark_from_static_string ("-clutter-actor-layout-info");
quark_actor_transform_info = g_quark_from_static_string ("-clutter-actor-transform-info");
quark_actor_animation_info = g_quark_from_static_string ("-clutter-actor-animation-info");
diff --git a/clutter/clutter/clutter-deprecated.h b/clutter/clutter/clutter-deprecated.h
index 222091b79..31ae126fe 100644
--- a/clutter/clutter/clutter-deprecated.h
+++ b/clutter/clutter/clutter-deprecated.h
@@ -25,7 +25,6 @@
#include "deprecated/clutter-keysyms.h"
#include "deprecated/clutter-main.h"
#include "deprecated/clutter-rectangle.h"
-#include "deprecated/clutter-shader.h"
#include "deprecated/clutter-stage-manager.h"
#include "deprecated/clutter-stage.h"
#include "deprecated/clutter-state.h"
diff --git a/clutter/clutter/clutter-types.h b/clutter/clutter/clutter-types.h
index 12544565b..1d4d3f9a3 100644
--- a/clutter/clutter/clutter-types.h
+++ b/clutter/clutter/clutter-types.h
@@ -116,7 +116,6 @@ typedef struct _ClutterEventSequence ClutterEventSequence;
typedef struct _ClutterFog ClutterFog; /* deprecated */
typedef struct _ClutterBehaviour ClutterBehaviour; /* deprecated */
-typedef struct _ClutterShader ClutterShader; /* deprecated */
/**
* ClutterPaintVolume:
diff --git a/clutter/clutter/deprecated/clutter-actor-deprecated.c
b/clutter/clutter/deprecated/clutter-actor-deprecated.c
index 7e56c65a6..554fe7d41 100644
--- a/clutter/clutter/deprecated/clutter-actor-deprecated.c
+++ b/clutter/clutter/deprecated/clutter-actor-deprecated.c
@@ -7,314 +7,6 @@
#include "clutter-actor-private.h"
#include "clutter-private.h"
-#include "clutter-shader.h"
-
-typedef struct _ShaderData ShaderData;
-
-struct _ShaderData
-{
- ClutterShader *shader;
-
- /* back pointer to the actor */
- ClutterActor *actor;
-
- /* list of values that should be set on the shader
- * before each paint cycle
- */
- GHashTable *value_hash;
-};
-
-static void
-shader_value_free (gpointer data)
-{
- GValue *var = data;
- g_value_unset (var);
- g_slice_free (GValue, var);
-}
-
-static void
-destroy_shader_data (gpointer data)
-{
- ShaderData *shader_data = data;
-
- if (shader_data == NULL)
- return;
-
- if (shader_data->shader != NULL)
- {
- g_object_unref (shader_data->shader);
- shader_data->shader = NULL;
- }
-
- if (shader_data->value_hash != NULL)
- {
- g_hash_table_destroy (shader_data->value_hash);
- shader_data->value_hash = NULL;
- }
-
- g_slice_free (ShaderData, shader_data);
-}
-
-/**
- * clutter_actor_get_shader:
- * @self: a #ClutterActor
- *
- * Queries the currently set #ClutterShader on @self.
- *
- * Return value: (transfer none): The currently set #ClutterShader
- * or %NULL if no shader is set.
- *
- * Since: 0.6
- *
- * Deprecated: 1.8: Use clutter_actor_get_effect() instead.
- */
-ClutterShader *
-clutter_actor_get_shader (ClutterActor *self)
-{
- ShaderData *shader_data;
-
- g_return_val_if_fail (CLUTTER_IS_ACTOR (self), NULL);
-
- shader_data = g_object_get_data (G_OBJECT (self), "-clutter-actor-shader-data");
- if (shader_data != NULL)
- return shader_data->shader;
-
- return NULL;
-}
-
-/**
- * clutter_actor_set_shader:
- * @self: a #ClutterActor
- * @shader: (allow-none): a #ClutterShader or %NULL to unset the shader.
- *
- * Sets the #ClutterShader to be used when rendering @self.
- *
- * If @shader is %NULL this function will unset any currently set shader
- * for the actor.
- *
- * Any #ClutterEffect applied to @self will take the precedence
- * over the #ClutterShader set using this function.
- *
- * Return value: %TRUE if the shader was successfully applied
- * or removed
- *
- * Since: 0.6
- *
- * Deprecated: 1.8: Use #ClutterShaderEffect and
- * clutter_actor_add_effect() instead.
- */
-gboolean
-clutter_actor_set_shader (ClutterActor *self,
- ClutterShader *shader)
-{
- ShaderData *shader_data;
-
- g_return_val_if_fail (CLUTTER_IS_ACTOR (self), FALSE);
- g_return_val_if_fail (shader == NULL || CLUTTER_IS_SHADER (shader), FALSE);
-
- if (shader != NULL)
- g_object_ref (shader);
- else
- {
- /* if shader passed in is NULL we destroy the shader */
- g_object_set_data (G_OBJECT (self), "-clutter-actor-shader-data", NULL);
- return TRUE;
- }
-
- shader_data = g_object_get_data (G_OBJECT (self), "-clutter-actor-shader-data");
- if (shader_data == NULL)
- {
- shader_data = g_slice_new (ShaderData);
- shader_data->actor = self;
- shader_data->shader = NULL;
- shader_data->value_hash =
- g_hash_table_new_full (g_str_hash, g_str_equal,
- g_free,
- shader_value_free);
-
- g_object_set_data_full (G_OBJECT (self), "-clutter-actor-shader-data",
- shader_data,
- destroy_shader_data);
- }
-
- if (shader_data->shader != NULL)
- g_object_unref (shader_data->shader);
-
- shader_data->shader = shader;
-
- clutter_actor_queue_redraw (self);
-
- return TRUE;
-}
-
-static void
-set_each_param (gpointer key,
- gpointer value,
- gpointer user_data)
-{
- ClutterShader *shader = user_data;
- const gchar *uniform = key;
- GValue *var = value;
-
- clutter_shader_set_uniform (shader, uniform, var);
-}
-
-void
-_clutter_actor_shader_pre_paint (ClutterActor *actor,
- gboolean repeat)
-{
- ShaderData *shader_data;
- ClutterShader *shader;
-
- shader_data = g_object_get_data (G_OBJECT (actor), "-clutter-actor-shader-data");
- if (shader_data == NULL)
- return;
-
- shader = shader_data->shader;
- if (shader != NULL)
- {
- clutter_shader_set_is_enabled (shader, TRUE);
-
- g_hash_table_foreach (shader_data->value_hash, set_each_param, shader);
-
- if (!repeat)
- _clutter_context_push_shader_stack (actor);
- }
-}
-
-void
-_clutter_actor_shader_post_paint (ClutterActor *actor)
-{
- ShaderData *shader_data;
- ClutterShader *shader;
-
- shader_data = g_object_get_data (G_OBJECT (actor), "-clutter-actor-shader-data");
- if (G_LIKELY (shader_data == NULL))
- return;
-
- shader = shader_data->shader;
- if (shader != NULL)
- {
- ClutterActor *head;
-
- clutter_shader_set_is_enabled (shader, FALSE);
-
- /* remove the actor from the shaders stack; if there is another
- * actor inside it, then call pre-paint again to set its shader
- * but this time with the second argument being TRUE, indicating
- * that we are re-applying an existing shader and thus should it
- * not be prepended to the stack
- */
- head = _clutter_context_pop_shader_stack (actor);
- if (head != NULL)
- _clutter_actor_shader_pre_paint (head, TRUE);
- }
-}
-
-static inline void
-clutter_actor_set_shader_param_internal (ClutterActor *self,
- const gchar *param,
- const GValue *value)
-{
- ShaderData *shader_data;
- GValue *var;
-
- shader_data = g_object_get_data (G_OBJECT (self), "-clutter-actor-shader-data");
- if (shader_data == NULL)
- return;
-
- var = g_slice_new0 (GValue);
- g_value_init (var, G_VALUE_TYPE (value));
- g_value_copy (value, var);
- g_hash_table_insert (shader_data->value_hash, g_strdup (param), var);
-
- clutter_actor_queue_redraw (self);
-}
-
-/**
- * clutter_actor_set_shader_param:
- * @self: a #ClutterActor
- * @param: the name of the parameter
- * @value: the value of the parameter
- *
- * Sets the value for a named parameter of the shader applied
- * to @actor.
- *
- * Since: 1.0
- *
- * Deprecated: 1.8: Use clutter_shader_effect_set_uniform_value() instead
- */
-void
-clutter_actor_set_shader_param (ClutterActor *self,
- const gchar *param,
- const GValue *value)
-{
- g_return_if_fail (CLUTTER_IS_ACTOR (self));
- g_return_if_fail (param != NULL);
- g_return_if_fail (CLUTTER_VALUE_HOLDS_SHADER_FLOAT (value) ||
- CLUTTER_VALUE_HOLDS_SHADER_INT (value) ||
- CLUTTER_VALUE_HOLDS_SHADER_MATRIX (value) ||
- G_VALUE_HOLDS_FLOAT (value) ||
- G_VALUE_HOLDS_INT (value));
-
- clutter_actor_set_shader_param_internal (self, param, value);
-}
-
-/**
- * clutter_actor_set_shader_param_float:
- * @self: a #ClutterActor
- * @param: the name of the parameter
- * @value: the value of the parameter
- *
- * Sets the value for a named float parameter of the shader applied
- * to @actor.
- *
- * Since: 0.8
- *
- * Deprecated: 1.8: Use clutter_shader_effect_set_uniform() instead
- */
-void
-clutter_actor_set_shader_param_float (ClutterActor *self,
- const gchar *param,
- gfloat value)
-{
- GValue var = { 0, };
-
- g_value_init (&var, G_TYPE_FLOAT);
- g_value_set_float (&var, value);
-
- clutter_actor_set_shader_param_internal (self, param, &var);
-
- g_value_unset (&var);
-}
-
-/**
- * clutter_actor_set_shader_param_int:
- * @self: a #ClutterActor
- * @param: the name of the parameter
- * @value: the value of the parameter
- *
- * Sets the value for a named int parameter of the shader applied to
- * @actor.
- *
- * Since: 0.8
- *
- * Deprecated: 1.8: Use clutter_shader_effect_set_uniform() instead
- */
-void
-clutter_actor_set_shader_param_int (ClutterActor *self,
- const gchar *param,
- gint value)
-{
- GValue var = { 0, };
-
- g_value_init (&var, G_TYPE_INT);
- g_value_set_int (&var, value);
-
- clutter_actor_set_shader_param_internal (self, param, &var);
-
- g_value_unset (&var);
-}
/**
* clutter_actor_set_geometry:
diff --git a/clutter/clutter/deprecated/clutter-texture.c b/clutter/clutter/deprecated/clutter-texture.c
index 2b40e80fe..4996a9e93 100644
--- a/clutter/clutter/deprecated/clutter-texture.c
+++ b/clutter/clutter/deprecated/clutter-texture.c
@@ -45,9 +45,6 @@
#include "clutter-build-config.h"
-/* sadly, we are still using ClutterShader internally */
-#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
-
#include <cogl/cogl.h>
#include "clutter-texture.h"
@@ -64,7 +61,6 @@
#include "clutter-stage-private.h"
#include "clutter-backend.h"
-#include "deprecated/clutter-shader.h"
#include "deprecated/clutter-texture.h"
#include "deprecated/clutter-util.h"
@@ -480,22 +476,10 @@ update_fbo (ClutterActor *self)
{
ClutterTexture *texture = CLUTTER_TEXTURE (self);
ClutterTexturePrivate *priv = texture->priv;
- ClutterActor *head;
- ClutterShader *shader = NULL;
ClutterActor *stage = NULL;
CoglMatrix projection;
CoglColor transparent_col;
- head = _clutter_context_peek_shader_stack ();
- if (head != NULL)
- shader = clutter_actor_get_shader (head);
-
- /* Temporarily turn off the shader on the top of the context's
- * shader stack, to restore the GL pipeline to it's natural state.
- */
- if (shader != NULL)
- clutter_shader_set_is_enabled (shader, FALSE);
-
/* Redirect drawing to the fbo */
cogl_push_framebuffer (priv->fbo_handle);
@@ -554,10 +538,6 @@ update_fbo (ClutterActor *self)
/* Restore drawing to the previous framebuffer */
cogl_pop_framebuffer ();
-
- /* If there is a shader on top of the shader stack, turn it back on. */
- if (shader != NULL)
- clutter_shader_set_is_enabled (shader, TRUE);
}
static void
diff --git a/clutter/clutter/meson.build b/clutter/clutter/meson.build
index b1a90f32e..7d4b3bf20 100644
--- a/clutter/clutter/meson.build
+++ b/clutter/clutter/meson.build
@@ -236,7 +236,6 @@ clutter_deprecated_headers = [
'deprecated/clutter-keysyms.h',
'deprecated/clutter-main.h',
'deprecated/clutter-rectangle.h',
- 'deprecated/clutter-shader.h',
'deprecated/clutter-stage-manager.h',
'deprecated/clutter-stage.h',
'deprecated/clutter-state.h',
@@ -264,7 +263,6 @@ clutter_deprecated_sources = [
'deprecated/clutter-input-device-deprecated.c',
'deprecated/clutter-layout-manager-deprecated.c',
'deprecated/clutter-rectangle.c',
- 'deprecated/clutter-shader.c',
'deprecated/clutter-state.c',
'deprecated/clutter-table-layout.c',
'deprecated/clutter-texture.c',
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
index 5d69910f7..f9ebb7245 100644
--- a/po/POTFILES.skip
+++ b/po/POTFILES.skip
@@ -67,7 +67,6 @@ clutter/clutter/deprecated/clutter-behaviour-scale.c
clutter/clutter/deprecated/clutter-box.c
clutter/clutter/deprecated/clutter-cairo-texture.c
clutter/clutter/deprecated/clutter-rectangle.c
-clutter/clutter/deprecated/clutter-shader.c
clutter/clutter/deprecated/clutter-state.c
clutter/clutter/deprecated/clutter-table-layout.c
clutter/clutter/deprecated/clutter-texture.c
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]