JDK-8251396 : Test Plan for JEP 382: New macOS Rendering Pipeline
  • Type: JEP Task
  • Component: client-libs
  • Sub-Component: 2d
  • Priority: P3
  • Status: Resolved
  • Resolution: Delivered
  • Fix Versions: internal
  • Submitted: 2020-08-11
  • Updated: 2021-03-03
  • Resolved: 2021-01-12
Related Reports
Blocks :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Sub Tasks
JDK-8259592 :  
JDK-8259593 :  
JDK-8259611 :  
Description
Test Methodology
----------------

We will test the functionality and performance of the new rendering pipeline.

Testing the new pipeline does not require new test development, since no Java 2D APIs will change. Existing tests and real-world applications will suffice.

Test Inventory
--------------

**Functionality Testing :**

We will use below tests to test functionality of the new rendering pipeline:

    

 - JDK jtreg regression tests - AWT, Swing and Java2D - automated and
   manual tests
 - JCK Tests - AWT, Swing and Java2D - automated and manual tests
 - Java 2D Demo - manual test
 - Font 2D Demo - manual test
 - SwingSet2 Demo - manual test
 - JavaFX-Swing inter-op sanity tests - manual test
    - Test JFXPanel (JFXPanel is a component to embed JavaFX content into
    Swing applications)
    - Test SwingNode (This Node is used to embed a Swing content into a JavaFX application)   
 - Examples of large-scale real world applications - manual test
    - Intellij IDEA IDE usage
    - Netbeans IDE usage

**Performance Testing :**

We will use below tests to test performance of the new rendering pipeline:

    

 - J2DBench, a Java 2D bench-marking application included in JDK
 - RenderPerfTest - see "New Tests" below
 - IDE rendering performance tests -
    - IntelliJ IDEA rendering performance
    - Netbeans IDE rendering performance
        - A set of identified Netbeans IDE UI responsiveness tests 


**New Tests:**

- RenderPerfTest - A custom stress test that renders multiple objects of the same primitive type and measures frames per second (FPS)

Test Configurations
-------------------

VM option to test new rendering pipeline: -Dsun.java2d.metal=true


**macOS**

The new rendering pipeline will be tested on below OS X devices and OS versions -

*Devices:*

 - MacBook Pro (integrated GPU) - Intel Iris Plus Graphics
 - MacBook Pro (discrete GPU) - Intel UHD Graphics 630 + AMD Radeon Pro 5300M
 - macmini (external non-retina display) - Intel UHD Graphics 630

*OS versions:*

 - macOS 10.14.x
 - macOS 10.15.x
 - macOS 11 (BigSur)

*Screen configurations:*

 - Default Retina display
 - External non-retina display
 - Dual screen configuration involving - Retina and non-Retina display


**Windows**

N/A

**Linux**

N/A


Success Criteria
----------------
No critical functional and performance regressions as compared to OpenGL rendering pipeline.
Comments
Approved by SQE
04-02-2021

Test plan delivered.
12-01-2021

Shura confirmed review is completed. Recommended to open subtask to indicate how much P2s fixed to get a zero P2s
11-01-2021

[~shurailine] please review
22-08-2020