Commit f2eaddfc authored by Markus Stange's avatar Markus Stange
Browse files

Bug 1577566 - Enforce appropriate output channel clamping in D2D1 ColorMatrix filters. r=bas

Differential Revision: https://phabricator.services.mozilla.com/D45142

--HG--
extra : moz-landing-system : lando
parent afdeed79
......@@ -648,6 +648,9 @@ already_AddRefed<FilterNode> FilterNodeD2D1::Create(ID2D1DeviceContext* aDC,
void FilterNodeD2D1::InitUnmappedProperties() {
switch (mType) {
case FilterType::COLOR_MATRIX:
mEffect->SetValue(D2D1_COLORMATRIX_PROP_CLAMP_OUTPUT, TRUE);
break;
case FilterType::TRANSFORM:
mEffect->SetValue(D2D1_2DAFFINETRANSFORM_PROP_BORDER_MODE,
D2D1_BORDER_MODE_HARD);
......
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<!DOCTYPE html>
<html lang="en">
<meta charset="utf-8">
<title>Bug 1577566, reference: The alpha channel should be clamped at the right time so that it doesn't bright colors.</title>
<style>
#box {
width: 100px;
height: 100px;
background-color: rgb(0, 204, 0); /* 0, 0.8, 0 */
}
</style>
<div id="box"></div>
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<!DOCTYPE html>
<html lang="en">
<meta charset="utf-8">
<title>Bug 1577566: The alpha channel should be clamped at the right time so that it doesn't bright colors.</title>
<style>
#box {
width: 100px;
height: 100px;
background-color: black;
filter: url(#filter);
}
</style>
<div id="box"></div>
<svg height="0">
<defs>
<filter id="filter" color-interpolation-filters="sRGB">
<feColorMatrix type="matrix"
values="0 0 0 0 0
0 0 0 0 0.8
0 0 0 0 0
0 0 0 2 0"/>
</filter>
</defs>
</svg>
......@@ -2111,4 +2111,5 @@ fuzzy-if(!webrender||!winWidget,251-255,464-1613) fuzzy-if(geckoview&&webrender,
fuzzy-if(winWidget&&webrender,0-31,0-3) fuzzy-if(geckoview&&webrender,0-93,0-87) == 1562733-rotated-nastaliq-2.html 1562733-rotated-nastaliq-2-ref.html
test-pref(plain_text.wrap_long_lines,false) != 1565129.txt 1565129.txt
fuzzy(0-32,0-8) fuzzy-if(Android&&webrender,0-32,0-1458) == 1576553-1.html 1576553-1-ref.html
fuzzy(0-1,0-10000) == 1577566-1.html 1577566-1-ref.html
== 1579953-2.html 1579953-2-ref.html
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment