The primitive (i.e. oval, circle, roundrect, rect) shaders used on the desktop have multiple variants for properties like the type of paint. They even have extra variants for cases of gradients that have different CycleMethod properties (PAD, REFLECT, REPEAT). When the embedded versions of the shaders were created they were implemented in a way that allows all 3 CycleMethod types to be implemented in a single shader without loss of performance. The desktop shaders should be revamped to use a similar calculation in the shader to avoid the need to triple the number of variants of each primitive shader.
- relates to
-
JDK-8090587 Beagleboard: Execute fragment shader on the GPU causes significant drop in performance
- Open