On Thu, 3 Apr 2025 06:36:04 GMT, Nikita Gubarkov <ngubar...@openjdk.org> wrote:
>I just accepted any pixel-interleaved surface with 4-byte stride and assumed >that I can blit it directly. So you implemented logic similar to [this one](https://github.com/openjdk/jdk/blob/bd74922157230c866802b4c5269da81e872525aa/src/java.desktop/share/native/libawt/java2d/loops/LoopMacros.h#L847). I haven’t found yet whether we have logic to fall back to a "generic Java loop" if the gap is not stored in the array and that memcpy fails. If we’re missing this, we should either: - Add the fallback, - Implement another version of the loop that handles the tail, or - Update the current ISOSCALE_BLIT. A similar approach could be implemented for Vulkan as well. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/24111#discussion_r2026378715