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.

Reply via email to