On Tue, 5 Aug 2025 16:21:22 GMT, Kevin Rushforth <k...@openjdk.org> wrote:
>> Ambarish Rapte has updated the pull request incrementally with one >> additional commit since the last revision: >> >> nir: review comments > > modules/javafx.graphics/src/main/java/com/sun/prism/mtl/MTLTexture.java line > 133: > >> 131: arr = new byte[buf.remaining()]; >> 132: buf.get(arr); >> 133: } > > I instrumented the code, and found that `updateTextureByte` is sometimes > called with a direct byte buffer, which means that `buf.hasArray()` returns > false. In the cases I tested, the format is `BYTE_ALPHA`, so without your > change it will correctly call the native method with a null array and the > direct byte buffer. This will cause the native method to use the optimized > path. With this change, we now create a new byte array, copy from the direct > byte buffer to that array, and pass that to the native method. This isn't > what we want. > > I think you should revert this change, and move the array allocation / copy > code to the cases that actually need it. The revert needs to happen now. The > allocation / copy code could be done either now or via a follow-up bug. Moved the copy code to specific cases PixelFormat.BYTE_RGB and PixelFormat.BYTE_GRAY. ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/1824#discussion_r2255001943