Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mutter
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
verdre
mutter
Commits
5613f4f7
Commit
5613f4f7
authored
Nov 01, 2019
by
Adam Jackson
🥃
Committed by
Georges Basile Stavracas Neto
Dec 18, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cogl: Remove unused explicit blend-enable controls
!978
parent
02db9ee5
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
2 additions
and
129 deletions
+2
-129
cogl/cogl/cogl-pipeline-debug.c
cogl/cogl/cogl-pipeline-debug.c
+1
-19
cogl/cogl/cogl-pipeline-private.h
cogl/cogl/cogl-pipeline-private.h
+0
-27
cogl/cogl/cogl-pipeline-state-private.h
cogl/cogl/cogl-pipeline-state-private.h
+0
-4
cogl/cogl/cogl-pipeline-state.c
cogl/cogl/cogl-pipeline-state.c
+0
-58
cogl/cogl/cogl-pipeline.c
cogl/cogl/cogl-pipeline.c
+1
-21
No files found.
cogl/cogl/cogl-pipeline-debug.c
View file @
5613f4f7
...
...
@@ -193,27 +193,9 @@ dump_pipeline_cb (CoglNode *node, void *user_data)
if
(
pipeline
->
differences
&
COGL_PIPELINE_STATE_BLEND
)
{
const
char
*
blend_enable_name
;
changes
=
TRUE
;
switch
(
pipeline
->
blend_enable
)
{
case
COGL_PIPELINE_BLEND_ENABLE_AUTOMATIC
:
blend_enable_name
=
"AUTO"
;
break
;
case
COGL_PIPELINE_BLEND_ENABLE_ENABLED
:
blend_enable_name
=
"ENABLED"
;
break
;
case
COGL_PIPELINE_BLEND_ENABLE_DISABLED
:
blend_enable_name
=
"DISABLED"
;
break
;
default:
blend_enable_name
=
"UNKNOWN"
;
}
g_string_append_printf
(
changes_label
,
"
\\
lblend=%s
\\
n"
,
blend_enable_name
);
"
\\
lblend
\\
n"
);
}
if
(
pipeline
->
differences
&
COGL_PIPELINE_STATE_LAYERS
)
...
...
cogl/cogl/cogl-pipeline-private.h
View file @
5613f4f7
...
...
@@ -62,7 +62,6 @@ typedef enum
{
/* sparse state */
COGL_PIPELINE_STATE_COLOR_INDEX
,
COGL_PIPELINE_STATE_BLEND_ENABLE_INDEX
,
COGL_PIPELINE_STATE_LAYERS_INDEX
,
COGL_PIPELINE_STATE_ALPHA_FUNC_INDEX
,
COGL_PIPELINE_STATE_ALPHA_FUNC_REFERENCE_INDEX
,
...
...
@@ -99,8 +98,6 @@ typedef enum _CoglPipelineState
{
COGL_PIPELINE_STATE_COLOR
=
1L
<<
COGL_PIPELINE_STATE_COLOR_INDEX
,
COGL_PIPELINE_STATE_BLEND_ENABLE
=
1L
<<
COGL_PIPELINE_STATE_BLEND_ENABLE_INDEX
,
COGL_PIPELINE_STATE_LAYERS
=
1L
<<
COGL_PIPELINE_STATE_LAYERS_INDEX
,
...
...
@@ -147,7 +144,6 @@ typedef enum _CoglPipelineState
#define COGL_PIPELINE_STATE_AFFECTS_BLENDING \
(COGL_PIPELINE_STATE_COLOR | \
COGL_PIPELINE_STATE_BLEND_ENABLE | \
COGL_PIPELINE_STATE_LAYERS | \
COGL_PIPELINE_STATE_BLEND | \
COGL_PIPELINE_STATE_USER_SHADER | \
...
...
@@ -184,15 +180,6 @@ typedef struct
float
alpha_func_reference
;
}
CoglPipelineAlphaFuncState
;
typedef
enum
_CoglPipelineBlendEnable
{
/* XXX: we want to detect users mistakenly using TRUE or FALSE
* so start the enum at 2. */
COGL_PIPELINE_BLEND_ENABLE_ENABLED
=
2
,
COGL_PIPELINE_BLEND_ENABLE_DISABLED
,
COGL_PIPELINE_BLEND_ENABLE_AUTOMATIC
}
CoglPipelineBlendEnable
;
typedef
struct
{
/* Determines how this pipeline is blended with other primitives */
...
...
@@ -367,13 +354,6 @@ struct _CoglPipeline
/* Determines if pipeline->big_state is valid */
unsigned
int
has_big_state
:
1
;
/* By default blending is enabled automatically depending on the
* unlit color, the lighting colors or the texture format. The user
* can override this to explicitly enable or disable blending.
*
* This is a sparse property */
unsigned
int
blend_enable
:
3
;
/* There are many factors that can determine if we need to enable
* blending, this holds our final decision */
unsigned
int
real_blend_enable
:
1
;
...
...
@@ -774,13 +754,6 @@ void
_cogl_pipeline_apply_overrides
(
CoglPipeline
*
pipeline
,
CoglPipelineFlushOptions
*
options
);
CoglPipelineBlendEnable
_cogl_pipeline_get_blend_enabled
(
CoglPipeline
*
pipeline
);
void
_cogl_pipeline_set_blend_enabled
(
CoglPipeline
*
pipeline
,
CoglPipelineBlendEnable
enable
);
#ifdef COGL_DEBUG_ENABLED
void
_cogl_pipeline_set_static_breadcrumb
(
CoglPipeline
*
pipeline
,
...
...
cogl/cogl/cogl-pipeline-state-private.h
View file @
5613f4f7
...
...
@@ -108,10 +108,6 @@ void
_cogl_pipeline_hash_color_state
(
CoglPipeline
*
authority
,
CoglPipelineHashState
*
state
);
void
_cogl_pipeline_hash_blend_enable_state
(
CoglPipeline
*
authority
,
CoglPipelineHashState
*
state
);
void
_cogl_pipeline_hash_layers_state
(
CoglPipeline
*
authority
,
CoglPipelineHashState
*
state
);
...
...
cogl/cogl/cogl-pipeline-state.c
View file @
5613f4f7
...
...
@@ -407,56 +407,6 @@ cogl_pipeline_set_color4f (CoglPipeline *pipeline,
cogl_pipeline_set_color
(
pipeline
,
&
color
);
}
CoglPipelineBlendEnable
_cogl_pipeline_get_blend_enabled
(
CoglPipeline
*
pipeline
)
{
CoglPipeline
*
authority
;
g_return_val_if_fail
(
cogl_is_pipeline
(
pipeline
),
FALSE
);
authority
=
_cogl_pipeline_get_authority
(
pipeline
,
COGL_PIPELINE_STATE_BLEND_ENABLE
);
return
authority
->
blend_enable
;
}
static
gboolean
_cogl_pipeline_blend_enable_equal
(
CoglPipeline
*
authority0
,
CoglPipeline
*
authority1
)
{
return
authority0
->
blend_enable
==
authority1
->
blend_enable
?
TRUE
:
FALSE
;
}
void
_cogl_pipeline_set_blend_enabled
(
CoglPipeline
*
pipeline
,
CoglPipelineBlendEnable
enable
)
{
CoglPipelineState
state
=
COGL_PIPELINE_STATE_BLEND_ENABLE
;
CoglPipeline
*
authority
;
g_return_if_fail
(
cogl_is_pipeline
(
pipeline
));
g_return_if_fail
(
enable
>
1
&&
"don't pass TRUE or FALSE to _set_blend_enabled!"
);
authority
=
_cogl_pipeline_get_authority
(
pipeline
,
state
);
if
(
authority
->
blend_enable
==
enable
)
return
;
/* - Flush journal primitives referencing the current state.
* - Make sure the pipeline has no dependants so it may be modified.
* - If the pipeline isn't currently an authority for the state being
* changed, then initialize that state from the current authority.
*/
_cogl_pipeline_pre_change_notify
(
pipeline
,
state
,
NULL
,
FALSE
);
pipeline
->
blend_enable
=
enable
;
_cogl_pipeline_update_authority
(
pipeline
,
authority
,
state
,
_cogl_pipeline_blend_enable_equal
);
pipeline
->
dirty_real_blend_enable
=
TRUE
;
}
static
void
_cogl_pipeline_set_alpha_test_function
(
CoglPipeline
*
pipeline
,
CoglPipelineAlphaFunc
alpha_func
)
...
...
@@ -1379,14 +1329,6 @@ _cogl_pipeline_hash_color_state (CoglPipeline *authority,
_COGL_COLOR_DATA_SIZE
);
}
void
_cogl_pipeline_hash_blend_enable_state
(
CoglPipeline
*
authority
,
CoglPipelineHashState
*
state
)
{
uint8_t
blend_enable
=
authority
->
blend_enable
;
state
->
hash
=
_cogl_util_one_at_a_time_hash
(
state
->
hash
,
&
blend_enable
,
1
);
}
void
_cogl_pipeline_hash_alpha_func_state
(
CoglPipeline
*
authority
,
CoglPipelineHashState
*
state
)
...
...
cogl/cogl/cogl-pipeline.c
View file @
5613f4f7
...
...
@@ -104,7 +104,6 @@ _cogl_pipeline_init_default_pipeline (void)
pipeline
->
real_blend_enable
=
FALSE
;
pipeline
->
blend_enable
=
COGL_PIPELINE_BLEND_ENABLE_AUTOMATIC
;
pipeline
->
layer_differences
=
NULL
;
pipeline
->
n_layers
=
0
;
...
...
@@ -721,24 +720,12 @@ _cogl_pipeline_needs_blending_enabled (CoglPipeline *pipeline,
const
CoglColor
*
override_color
,
gboolean
unknown_color_alpha
)
{
CoglPipeline
*
enable_authority
;
CoglPipeline
*
blend_authority
;
CoglPipelineBlendState
*
blend_state
;
CoglPipelineBlendEnable
enabled
;
if
(
G_UNLIKELY
(
COGL_DEBUG_ENABLED
(
COGL_DEBUG_DISABLE_BLENDING
)))
return
FALSE
;
/* We unconditionally check the _BLEND_ENABLE state first because
* all the other changes are irrelevent if blend_enable != _AUTOMATIC
*/
enable_authority
=
_cogl_pipeline_get_authority
(
pipeline
,
COGL_PIPELINE_STATE_BLEND_ENABLE
);
enabled
=
enable_authority
->
blend_enable
;
if
(
enabled
!=
COGL_PIPELINE_BLEND_ENABLE_AUTOMATIC
)
return
enabled
==
COGL_PIPELINE_BLEND_ENABLE_ENABLED
?
TRUE
:
FALSE
;
blend_authority
=
_cogl_pipeline_get_authority
(
pipeline
,
COGL_PIPELINE_STATE_BLEND
);
...
...
@@ -826,9 +813,6 @@ _cogl_pipeline_copy_differences (CoglPipeline *dest,
if
(
differences
&
COGL_PIPELINE_STATE_COLOR
)
dest
->
color
=
src
->
color
;
if
(
differences
&
COGL_PIPELINE_STATE_BLEND_ENABLE
)
dest
->
blend_enable
=
src
->
blend_enable
;
if
(
differences
&
COGL_PIPELINE_STATE_LAYERS
)
{
GList
*
l
;
...
...
@@ -977,7 +961,6 @@ _cogl_pipeline_init_multi_property_sparse_state (CoglPipeline *pipeline,
/* XXX: avoid using a default: label so we get a warning if we
* don't explicitly handle a newly defined state-group here. */
case
COGL_PIPELINE_STATE_COLOR
:
case
COGL_PIPELINE_STATE_BLEND_ENABLE
:
case
COGL_PIPELINE_STATE_ALPHA_FUNC
:
case
COGL_PIPELINE_STATE_ALPHA_FUNC_REFERENCE
:
case
COGL_PIPELINE_STATE_NON_ZERO_POINT_SIZE
:
...
...
@@ -2170,7 +2153,6 @@ _cogl_pipeline_equal (CoglPipeline *pipeline0,
break
;
}
case
COGL_PIPELINE_STATE_BLEND_ENABLE_INDEX
:
case
COGL_PIPELINE_STATE_REAL_BLEND_ENABLE_INDEX
:
case
COGL_PIPELINE_STATE_COUNT
:
g_warn_if_reached
();
...
...
@@ -2514,8 +2496,6 @@ _cogl_pipeline_init_state_hash_functions (void)
{
state_hash_functions
[
COGL_PIPELINE_STATE_COLOR_INDEX
]
=
_cogl_pipeline_hash_color_state
;
state_hash_functions
[
COGL_PIPELINE_STATE_BLEND_ENABLE_INDEX
]
=
_cogl_pipeline_hash_blend_enable_state
;
state_hash_functions
[
COGL_PIPELINE_STATE_LAYERS_INDEX
]
=
_cogl_pipeline_hash_layers_state
;
state_hash_functions
[
COGL_PIPELINE_STATE_ALPHA_FUNC_INDEX
]
=
...
...
@@ -2545,7 +2525,7 @@ _cogl_pipeline_init_state_hash_functions (void)
{
/* So we get a big error if we forget to update this code! */
_COGL_STATIC_ASSERT
(
COGL_PIPELINE_STATE_SPARSE_COUNT
==
1
5
,
_COGL_STATIC_ASSERT
(
COGL_PIPELINE_STATE_SPARSE_COUNT
==
1
4
,
"Make sure to install a hash function for "
"newly added pipeline state and update assert "
"in _cogl_pipeline_init_state_hash_functions"
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment