Hi, Prasanta.
The same approach was used in OGL pipeline for the reason. Because we
use glReadPixels and there is no way to apply the clip. So we read
pixels to the temporary buffer and apply the clip later. Can you
additionaly investigate is it possible to apply the clip in d3d directly
or not?
Note that this [1] comment is not correct in d3d, because d3d have only
one direct blit D3d surface -> SW which is D3DSurfaceToSwBlit(IntArgb,
ST_INT_ARGB), all other blits will be done via temporary buffer in
D3DGeneralBlit.
[1]
523 // We can convert argb_pre data from D3d surface in two
places:
524 // - During D3d surface -> SW blit
525 // - During SW -> SW blit
526 // The first one is faster when we use opaque D3d
surface, because in
527 // this case we simply skip conversion and use color
components as is.
528 // Because of this we align intermediate buffer type with
type of
529 // destination not source.
On 15.04.15 11:57, prasanta sadhukhan wrote:
Hi,
I would like a review for a solution of this bug in jdk9.
The clip was ignored during surface->sw blit in d3d pipeline. The fix
is to use the clip parameter to calculate the blit coordinates correctly.
Bug: https://bugs.openjdk.java.net/browse/JDK-8044788
webrev: http://cr.openjdk.java.net/~psadhukhan/8044788/webrev.00/
Regards
Prasanta
--
Best regards, Sergey.