RFR: 8273946: Move clearQuad method to BaseShaderGraphics superclass

Nir Lisker nlisker at openjdk.java.net
Wed Sep 22 14:02:57 UTC 2021


On Tue, 21 Sep 2021 12:45:20 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:

> As mentioned in JBS, the `clearQuad` methods in `D3DGraphics` and `ES2Graphics` are now identical, which should have been the case all along. The fact that they weren't identical was the source of a bug that was only discovered during the testing of [JDK-8090547](https://bugs.openjdk.java.net/browse/JDK-8090547) on the es2 pipeline.
> 
> This PR moves the `clearQuad` method to the `BaseShaderGraphics` superclass to get rid of the unnecessary code duplication. This will be helpful when implementing the metal pipeline as well. As a note, I made the `context` field in the `D3DGraphics` final, which it should have been. This is necessary to ensure that moving the method to the super-class is equivalent.
> 
> No new tests are needed, since this is just refactoring.

> We added `@SuppressWarnings("removal")` annotations for JDK-8264139, so I'm surprised the IDE is still flagging it.

The warning is on the `import` of the class, which can be suppressed by adding the annotation to the class declaration. Maybe it's only this way in the Eclipse compiler.

> We could consider a follow-up issue to clean this up, but I'm not really inclined to change anything.

The question is if this can cause any bugs? Is the method supposed to override? If yes and it isn't, it sounds like something could go wrong.

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

PR: https://git.openjdk.java.net/jfx/pull/628


More information about the openjfx-dev mailing list