<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Some review discussion with Jim is in the bug report comments.<br>
<br>
Updated webrev to address the minimal set of issues :<br>
<a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~prr/8177393.1/">http://cr.openjdk.java.net/~prr/8177393.1/</a><br>
<br>
-phil.<br>
<br>
On 5/18/17, 3:32 AM, Prasanta Sadhukhan wrote:
<blockquote
cite="mid:66089a18-dd70-4280-0645-7809f368dfb0@oracle.com"
type="cite">
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<p>Looks good to me. [Checked 8080287 also works ok with this
change]<br>
</p>
Regards<br>
Prasanta<br>
<div class="moz-cite-prefix">On 5/17/2017 11:14 PM, Phil Race
wrote:<br>
</div>
<blockquote
cite="mid:94ab2091-34f8-90da-0d4d-f322ff659159@oracle.com"
type="cite">
<meta http-equiv="content-type" content="text/html;
charset=UTF-8">
Bug: <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://bugs.openjdk.java.net/browse/JDK-8177393">https://bugs.openjdk.java.net/browse/JDK-8177393</a>
<br>
Webrev: <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Eprr/8177393/">http://cr.openjdk.java.net/~prr/8177393/</a><br>
<br>
I have updated the bug report with a long evaluation and some
additional<br>
explanation of the proposed fix. I don't intend to duplicate all
that here<br>
so please go read it there. The following is a much briefer
summary.<br>
<br>
We are ending up in medialib native code that cannot interpret
the Java 2D child raster<br>
it is handed. The child raster was an attempt to prevent
rescaling of the alpha channel.<br>
<br>
The proposed fix avoids creating that child raster and instead
creates a LookupOp<br>
which has an explicit lookup table for the alpha channel that
does the identity lookup. <br>
<br>
The fix has a couple of other updates.<br>
(1) the "canUseLookupOp()" method now checks that the DataBuffer
is<br>
something that the medialib code used by LookupOp can handle.<br>
This would have fixed the bug by itself although at the expense
of always<br>
falling back to slow Java code in RescaleOp. However it is still
needed in<br>
case the application itself supplies a child raster.<br>
<br>
(2) The slow path in RescaleOp turns out to have the same bug
that I think<br>
was seen in some other bug report or fix. It is always
re-scaling alpha as<br>
well as colour components. I fixed that too.<br>
<br>
Since the fix is entirely confined to RescaleOp any consequences
- good or bad - are limited.<br>
<br>
I ran the few regression tests we have that cover RescaleOp and
also checked Java2Ddemo.<br>
<br>
The commented out cases in the new regression test are to be
handled under a different bug ID.<br>
<br>
-phil.<br>
</blockquote>
<br>
</blockquote>
</body>
</html>