5f16ed4c58
MSL does not support the unary "-" operator on matrix types. Similarly the SPIR-V OpFNegate/OpSNegate operations only work on scalar and vector type. * An expression such as "-<mat>" is now transformed to "-1.0 * <mat>" when generating MSL. * The same expression now generates a component-wise negation in SPIR-V, matching what glslang outputs for GLSL. * A unary "+" is now treated as NOP for MSL, matching the SPIR-V backend. An expression such as "+<expr>" is now evaluated as "<expr>". * The shared/Negation.sksl has been moved to folding/ as much of its contents exercise constant-folding of comparison expressions. * The shared/UnaryPositiveNegative.sksl test has been extended to exercise scalar and matrix types. NOTE: The SPIR-V backend changes have caused a minor re-ordering of SSA IDs generated when writing out a prefix-expression. The affected gold files have been updated. Bug: skia:12627, skia:12992 Change-Id: Iec5cdafc591aed7e49b3b52bda42a02661380bab Reviewed-on: https://skia-review.googlesource.com/c/skia/+/513976 Auto-Submit: Arman Uguray <armansito@google.com> Reviewed-by: John Stiles <johnstiles@google.com> Commit-Queue: Arman Uguray <armansito@google.com> |
||
---|---|---|
.. | ||
BlendClear.asm.frag | ||
BlendClear.glsl | ||
BlendClear.metal | ||
BlendClearStandaloneSettings.glsl | ||
BlendColor.asm.frag | ||
BlendColor.glsl | ||
BlendColor.metal | ||
BlendColorBurn.asm.frag | ||
BlendColorBurn.glsl | ||
BlendColorBurn.metal | ||
BlendColorBurnStandaloneSettings.glsl | ||
BlendColorDodge.asm.frag | ||
BlendColorDodge.glsl | ||
BlendColorDodge.metal | ||
BlendColorDodgeStandaloneSettings.glsl | ||
BlendColorStandaloneSettings.glsl | ||
BlendDarken.asm.frag | ||
BlendDarken.glsl | ||
BlendDarken.metal | ||
BlendDarkenStandaloneSettings.glsl | ||
BlendDifference.asm.frag | ||
BlendDifference.glsl | ||
BlendDifference.metal | ||
BlendDifferenceStandaloneSettings.glsl | ||
BlendDst.asm.frag | ||
BlendDst.glsl | ||
BlendDst.metal | ||
BlendDstAtop.asm.frag | ||
BlendDstAtop.glsl | ||
BlendDstAtop.metal | ||
BlendDstAtopStandaloneSettings.glsl | ||
BlendDstIn.asm.frag | ||
BlendDstIn.glsl | ||
BlendDstIn.metal | ||
BlendDstInStandaloneSettings.glsl | ||
BlendDstOut.asm.frag | ||
BlendDstOut.glsl | ||
BlendDstOut.metal | ||
BlendDstOutStandaloneSettings.glsl | ||
BlendDstOver.asm.frag | ||
BlendDstOver.glsl | ||
BlendDstOver.metal | ||
BlendDstOverStandaloneSettings.glsl | ||
BlendDstStandaloneSettings.glsl | ||
BlendExclusion.asm.frag | ||
BlendExclusion.glsl | ||
BlendExclusion.metal | ||
BlendExclusionStandaloneSettings.glsl | ||
BlendHardLight.asm.frag | ||
BlendHardLight.glsl | ||
BlendHardLight.metal | ||
BlendHardLightStandaloneSettings.glsl | ||
BlendHue.asm.frag | ||
BlendHue.glsl | ||
BlendHue.metal | ||
BlendHueStandaloneSettings.glsl | ||
BlendLighten.asm.frag | ||
BlendLighten.glsl | ||
BlendLighten.metal | ||
BlendLightenStandaloneSettings.glsl | ||
BlendLuminosity.asm.frag | ||
BlendLuminosity.glsl | ||
BlendLuminosity.metal | ||
BlendLuminosityStandaloneSettings.glsl | ||
BlendModulate.asm.frag | ||
BlendModulate.glsl | ||
BlendModulate.metal | ||
BlendModulateStandaloneSettings.glsl | ||
BlendMultiply.asm.frag | ||
BlendMultiply.glsl | ||
BlendMultiply.metal | ||
BlendMultiplyStandaloneSettings.glsl | ||
BlendOverlay.asm.frag | ||
BlendOverlay.glsl | ||
BlendOverlay.metal | ||
BlendOverlayStandaloneSettings.glsl | ||
BlendPlus.asm.frag | ||
BlendPlus.glsl | ||
BlendPlus.metal | ||
BlendPlusStandaloneSettings.glsl | ||
BlendSaturation.asm.frag | ||
BlendSaturation.glsl | ||
BlendSaturation.metal | ||
BlendSaturationStandaloneSettings.glsl | ||
BlendScreen.asm.frag | ||
BlendScreen.glsl | ||
BlendScreen.metal | ||
BlendScreenStandaloneSettings.glsl | ||
BlendSoftLight.asm.frag | ||
BlendSoftLight.glsl | ||
BlendSoftLight.metal | ||
BlendSoftLightStandaloneSettings.glsl | ||
BlendSrc.asm.frag | ||
BlendSrc.glsl | ||
BlendSrc.metal | ||
BlendSrcAtop.asm.frag | ||
BlendSrcAtop.glsl | ||
BlendSrcAtop.metal | ||
BlendSrcAtopStandaloneSettings.glsl | ||
BlendSrcIn.asm.frag | ||
BlendSrcIn.glsl | ||
BlendSrcIn.metal | ||
BlendSrcInStandaloneSettings.glsl | ||
BlendSrcOut.asm.frag | ||
BlendSrcOut.glsl | ||
BlendSrcOut.metal | ||
BlendSrcOutStandaloneSettings.glsl | ||
BlendSrcOver.asm.frag | ||
BlendSrcOver.glsl | ||
BlendSrcOver.metal | ||
BlendSrcOverStandaloneSettings.glsl | ||
BlendSrcStandaloneSettings.glsl | ||
BlendXor.asm.frag | ||
BlendXor.glsl | ||
BlendXor.metal | ||
BlendXorStandaloneSettings.glsl |