RFR: 8369348: Failed assertion with scissor rect when Metal API Validation is enabled

Lukasz Kostyra lkostyra at openjdk.org
Thu Feb 19 12:55:23 UTC 2026


On Wed, 18 Feb 2026 14:59:58 GMT, Ambarish Rapte <arapte at openjdk.org> wrote:

> Issue:
> This is a metal pipeline specific issue. When Metal API Validation is enabled an assertion is thrown due to invalid scissor rect being set. Please test the steps described in the ticket [JDK-8369348](https://bugs.openjdk.org/browse/JDK-8369348).
> 
> Cause:
> MetalContext.setClipRect() method uses the negative x,y values and later performs a negative value check.
> This results in a clip rect with a width and height being larger than rtt size.
> 
> Fix:
> Moving the negative value check before first use of x and y variables.
> Test is not included as, it requires manually enabling Metal API Validation i.e. METAL_DEVICE_WRAPPER_TYPE
> 
> Verification:
> Verify the issue described in the [JDK-8369348](https://bugs.openjdk.org/browse/JDK-8369348).
> Perform general sanity test.

LGTM; simple check and works well. Verified on macOS, provided test scenario crashes without this change and works with this change. Quick check on Ensemble8 with validation layers enabled also looks good.

-------------

Marked as reviewed by lkostyra (Reviewer).

PR Review: https://git.openjdk.org/jfx/pull/2078#pullrequestreview-3825707190


More information about the openjfx-dev mailing list