From 9e476b798f03930b6bc7fb6eacab574f197e172d Mon Sep 17 00:00:00 2001 From: Ethan Nicholas Date: Mon, 15 Mar 2021 15:54:16 -0400 Subject: [PATCH] Refactored SPIR-V RelaxedPrecision handling The RelaxedPrecision decoration is now handled by nextId(), to make it easier to see all spots where a RelaxedPrecision decoration might be necessary. The goal of this initial refactor is not to actually fix the issues with RelaxedPrecision decorations, but rather to lay the groundwork for doing so in followup CLs. The initial intent of this change was to not affect the SPIR-V at all, saving modifications for followups, but there ended up being three kinds of changes to the output: 1. Doing things at nextId() time rather than later means some decorations move to an earlier spot in the output. This results in diffs, but should not cause any behavioral changes. 2. We were incorrectly tagging bools as RelaxedPrecision in some situations. By funneling things through fewer code paths, the refactor would have caused this to happen in even more situations, and the code responsible for the bug was being rewritten in this CL anyway, so it seemed worth just fixing the issue as part of this change. 3. Funneling things through fewer code paths ended up adding (correct) RelaxedPrecision modifiers to binary operations that had previously been missing them. It seemed better to just let it happen than to try to maintain bug-for-bug compatibility with the previous approach. Change-Id: Ia9654d6b5754e2c797e02226660cb618c9189b36 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384318 Commit-Queue: Ethan Nicholas Reviewed-by: Brian Osman --- src/sksl/SkSLSPIRVCodeGenerator.cpp | 292 ++++++++---------- src/sksl/SkSLSPIRVCodeGenerator.h | 16 +- src/sksl/ir/SkSLType.h | 4 + tests/sksl/blend/BlendClear.asm.frag | 1 - tests/sksl/blend/BlendColor.asm.frag | 6 +- tests/sksl/blend/BlendColorBurn.asm.frag | 1 - tests/sksl/blend/BlendColorDodge.asm.frag | 1 - tests/sksl/blend/BlendDarken.asm.frag | 1 - tests/sksl/blend/BlendDifference.asm.frag | 1 - tests/sksl/blend/BlendDst.asm.frag | 1 - tests/sksl/blend/BlendDstAtop.asm.frag | 1 - tests/sksl/blend/BlendDstIn.asm.frag | 1 - tests/sksl/blend/BlendDstOut.asm.frag | 1 - tests/sksl/blend/BlendDstOver.asm.frag | 1 - tests/sksl/blend/BlendEnum.asm.frag | 9 +- tests/sksl/blend/BlendExclusion.asm.frag | 1 - tests/sksl/blend/BlendHardLight.asm.frag | 1 - tests/sksl/blend/BlendHue.asm.frag | 6 +- tests/sksl/blend/BlendLighten.asm.frag | 1 - tests/sksl/blend/BlendLuminosity.asm.frag | 6 +- tests/sksl/blend/BlendModulate.asm.frag | 1 - tests/sksl/blend/BlendMultiply.asm.frag | 1 - tests/sksl/blend/BlendOverlay.asm.frag | 1 - tests/sksl/blend/BlendPlus.asm.frag | 1 - tests/sksl/blend/BlendSaturation.asm.frag | 6 +- tests/sksl/blend/BlendScreen.asm.frag | 2 +- tests/sksl/blend/BlendSoftLight.asm.frag | 3 +- tests/sksl/blend/BlendSrc.asm.frag | 1 - tests/sksl/blend/BlendSrcAtop.asm.frag | 1 - tests/sksl/blend/BlendSrcIn.asm.frag | 1 - tests/sksl/blend/BlendSrcOut.asm.frag | 1 - tests/sksl/blend/BlendSrcOver.asm.frag | 1 - tests/sksl/blend/BlendXor.asm.frag | 1 - tests/sksl/intrinsics/AbsFloat.asm.frag | 1 - tests/sksl/intrinsics/AbsInt.asm.frag | 1 - tests/sksl/intrinsics/Acos.asm.frag | 1 - tests/sksl/intrinsics/Acosh.asm.frag | 1 - tests/sksl/intrinsics/All.asm.frag | 2 - tests/sksl/intrinsics/Any.asm.frag | 2 - tests/sksl/intrinsics/Asin.asm.frag | 1 - tests/sksl/intrinsics/Asinh.asm.frag | 1 - tests/sksl/intrinsics/Atan.asm.frag | 1 - tests/sksl/intrinsics/Atanh.asm.frag | 1 - tests/sksl/intrinsics/BitCount.asm.frag | 1 - tests/sksl/intrinsics/Ceil.asm.frag | 1 - tests/sksl/intrinsics/ClampFloat.asm.frag | 1 - tests/sksl/intrinsics/ClampInt.asm.frag | 1 - tests/sksl/intrinsics/Cos.asm.frag | 1 - tests/sksl/intrinsics/Cosh.asm.frag | 1 - tests/sksl/intrinsics/Cross.asm.frag | 1 - tests/sksl/intrinsics/DFdx.asm.frag | 1 - tests/sksl/intrinsics/DFdy.asm.frag | 1 - tests/sksl/intrinsics/Degrees.asm.frag | 1 - tests/sksl/intrinsics/Determinant.asm.frag | 1 - tests/sksl/intrinsics/Distance.asm.frag | 1 - tests/sksl/intrinsics/Dot.asm.frag | 1 - tests/sksl/intrinsics/Equal.asm.frag | 1 - tests/sksl/intrinsics/Exp.asm.frag | 1 - tests/sksl/intrinsics/Exp2.asm.frag | 1 - tests/sksl/intrinsics/FaceForward.asm.frag | 1 - tests/sksl/intrinsics/FindLSB.asm.frag | 1 - tests/sksl/intrinsics/FindMSB.asm.frag | 1 - tests/sksl/intrinsics/FloatBitsToInt.asm.frag | 1 - .../sksl/intrinsics/FloatBitsToUint.asm.frag | 1 - tests/sksl/intrinsics/Floor.asm.frag | 1 - tests/sksl/intrinsics/Fma.asm.frag | 1 - tests/sksl/intrinsics/Fract.asm.frag | 1 - tests/sksl/intrinsics/Frexp.asm.frag | 1 - tests/sksl/intrinsics/Fwidth.asm.frag | 1 - tests/sksl/intrinsics/GreaterThan.asm.frag | 1 - .../sksl/intrinsics/GreaterThanEqual.asm.frag | 1 - tests/sksl/intrinsics/IntBitsToFloat.asm.frag | 1 - tests/sksl/intrinsics/Inverse.asm.frag | 1 - tests/sksl/intrinsics/Inversesqrt.asm.frag | 1 - tests/sksl/intrinsics/IsInf.asm.frag | 1 - tests/sksl/intrinsics/IsNan.asm.frag | 1 - tests/sksl/intrinsics/Ldexp.asm.frag | 1 - tests/sksl/intrinsics/Length.asm.frag | 1 - tests/sksl/intrinsics/LessThan.asm.frag | 1 - tests/sksl/intrinsics/LessThanEqual.asm.frag | 1 - tests/sksl/intrinsics/Log.asm.frag | 1 - tests/sksl/intrinsics/Log2.asm.frag | 1 - tests/sksl/intrinsics/MatrixCompMult.asm.frag | 1 - tests/sksl/intrinsics/MaxFloat.asm.frag | 1 - tests/sksl/intrinsics/MaxInt.asm.frag | 1 - tests/sksl/intrinsics/MinFloat.asm.frag | 1 - tests/sksl/intrinsics/MinInt.asm.frag | 1 - tests/sksl/intrinsics/MixBool.asm.frag | 4 +- tests/sksl/intrinsics/MixFloat.asm.frag | 1 - tests/sksl/intrinsics/Mod.asm.frag | 1 - tests/sksl/intrinsics/Modf.asm.frag | 1 - tests/sksl/intrinsics/Normalize.asm.frag | 1 - tests/sksl/intrinsics/Not.asm.frag | 2 - tests/sksl/intrinsics/NotEqual.asm.frag | 1 - tests/sksl/intrinsics/OuterProduct.asm.frag | 1 - tests/sksl/intrinsics/Pack.asm.frag | 1 - tests/sksl/intrinsics/Pow.asm.frag | 1 - tests/sksl/intrinsics/Radians.asm.frag | 1 - tests/sksl/intrinsics/Reflect.asm.frag | 1 - tests/sksl/intrinsics/Refract.asm.frag | 1 - tests/sksl/intrinsics/Round.asm.frag | 1 - tests/sksl/intrinsics/RoundEven.asm.frag | 1 - tests/sksl/intrinsics/Saturate.asm.frag | 1 - tests/sksl/intrinsics/SignFloat.asm.frag | 1 - tests/sksl/intrinsics/Sin.asm.frag | 1 - tests/sksl/intrinsics/Sinh.asm.frag | 1 - tests/sksl/intrinsics/Smoothstep.asm.frag | 1 - tests/sksl/intrinsics/Sqrt.asm.frag | 1 - tests/sksl/intrinsics/Step.asm.frag | 1 - tests/sksl/intrinsics/Tan.asm.frag | 1 - tests/sksl/intrinsics/Tanh.asm.frag | 1 - tests/sksl/intrinsics/Transpose.asm.frag | 1 - tests/sksl/intrinsics/Trunc.asm.frag | 1 - .../sksl/intrinsics/UintBitsToFloat.asm.frag | 1 - tests/sksl/intrinsics/Unpack.asm.frag | 1 - tests/sksl/shared/ArrayConstructors.asm.frag | 1 - tests/sksl/shared/ArrayIndexTypes.asm.frag | 1 - tests/sksl/shared/ArrayTypes.asm.frag | 1 - tests/sksl/shared/Assignment.asm.frag | 3 +- tests/sksl/shared/Caps.asm.frag | 1 - .../sksl/shared/CastsRoundTowardZero.asm.frag | 1 - tests/sksl/shared/Clockwise.asm.frag | 1 - tests/sksl/shared/CommaMixedTypes.asm.frag | 1 - tests/sksl/shared/CommaSideEffects.asm.frag | 1 - tests/sksl/shared/ComplexDelete.asm.frag | 1 - tests/sksl/shared/ConstArray.asm.frag | 3 +- .../shared/ConstVariableComparison.asm.frag | 1 - tests/sksl/shared/ConstantIf.asm.frag | 1 - tests/sksl/shared/Control.asm.frag | 2 +- tests/sksl/shared/DeadDoWhileLoop.asm.frag | 1 - tests/sksl/shared/DeadIfStatement.asm.frag | 1 - tests/sksl/shared/DeadLoopVariable.asm.frag | 1 - tests/sksl/shared/DeadStripFunctions.asm.frag | 1 - .../shared/DependentInitializers.asm.frag | 1 - tests/sksl/shared/DerivativesUnused.asm.frag | 1 - tests/sksl/shared/Discard.asm.frag | 1 - tests/sksl/shared/DoWhileControlFlow.asm.frag | 1 - tests/sksl/shared/EmptyBlocksES2.asm.frag | 1 - tests/sksl/shared/EmptyBlocksES3.asm.frag | 1 - tests/sksl/shared/ForLoopControlFlow.asm.frag | 1 - .../sksl/shared/FunctionArgTypeMatch.asm.frag | 10 +- tests/sksl/shared/FunctionPrototype.asm.frag | 1 - .../shared/FunctionReturnTypeMatch.asm.frag | 19 +- tests/sksl/shared/Functions.asm.frag | 1 - tests/sksl/shared/GaussianBlur.asm.frag | 1 - .../sksl/shared/GeometricIntrinsics.asm.frag | 1 - tests/sksl/shared/HelloWorld.asm.frag | 1 - tests/sksl/shared/Hex.asm.frag | 1 - tests/sksl/shared/HexUnsigned.asm.frag | 2 +- .../sksl/shared/InterfaceBlockNamed.asm.frag | 1 - .../shared/InterfaceBlockNamedArray.asm.frag | 1 - tests/sksl/shared/Matrices.asm.frag | 28 +- tests/sksl/shared/MatrixEquality.asm.frag | 10 +- .../sksl/shared/MultipleAssignments.asm.frag | 1 - .../sksl/shared/NegatedVectorLiteral.asm.frag | 1 - tests/sksl/shared/NumberCasts.asm.frag | 1 - tests/sksl/shared/NumberConversions.asm.frag | 1 - tests/sksl/shared/Offset.asm.frag | 1 - tests/sksl/shared/OperatorsES2.asm.frag | 1 - tests/sksl/shared/OperatorsES3.asm.frag | 1 - tests/sksl/shared/Ossfuzz26167.asm.frag | 1 - tests/sksl/shared/Ossfuzz28794.asm.frag | 1 - tests/sksl/shared/Ossfuzz28904.asm.frag | 1 - tests/sksl/shared/Ossfuzz29494.asm.frag | 1 - tests/sksl/shared/OutParams.asm.frag | 14 +- tests/sksl/shared/OutParamsTricky.asm.frag | 1 - tests/sksl/shared/RectangleTexture.asm.frag | 1 - tests/sksl/shared/ResizeMatrix.asm.frag | 1 - .../shared/ReturnBadTypeFromMain.asm.frag | 1 - .../sksl/shared/ReturnColorFromMain.asm.frag | 1 - .../ReturnsValueOnEveryPathES2.asm.frag | 1 - .../ReturnsValueOnEveryPathES3.asm.frag | 1 - tests/sksl/shared/SampleMask.asm.frag | 1 - .../ScalarConversionConstructorsES2.asm.frag | 1 - .../ScalarConversionConstructorsES3.asm.frag | 1 - tests/sksl/shared/ScopedSymbol.asm.frag | 1 - .../sksl/shared/StackingVectorCasts.asm.frag | 1 - tests/sksl/shared/StaticIf.asm.frag | 1 - tests/sksl/shared/StaticSwitch.asm.frag | 1 - .../shared/StaticSwitchWithBreak.asm.frag | 1 - .../StaticSwitchWithBreakInsideBlock.asm.frag | 1 - .../StaticSwitchWithConditionalBreak.asm.frag | 1 - ...chWithConditionalBreakInsideBlock.asm.frag | 1 - .../shared/StaticSwitchWithContinue.asm.frag | 1 - .../StaticSwitchWithFallthroughA.asm.frag | 1 - .../StaticSwitchWithFallthroughB.asm.frag | 1 - ...cSwitchWithStaticConditionalBreak.asm.frag | 1 - ...StaticConditionalBreakInsideBlock.asm.frag | 1 - tests/sksl/shared/Structs.asm.frag | 3 - tests/sksl/shared/StructsInFunctions.asm.frag | 1 - tests/sksl/shared/Switch.asm.frag | 1 - .../shared/SwitchContainingDeadCode.asm.frag | 1 - .../shared/SwitchWithFallthrough.asm.frag | 1 - .../sksl/shared/SwizzleBoolConstants.asm.frag | 1 - .../shared/SwizzleByConstantIndex.asm.frag | 1 - tests/sksl/shared/SwizzleByIndex.asm.frag | 1 - tests/sksl/shared/SwizzleConstants.asm.frag | 1 - tests/sksl/shared/SwizzleLTRB.asm.frag | 1 - tests/sksl/shared/SwizzleOpt.asm.frag | 1 - tests/sksl/shared/SwizzleScalar.asm.frag | 1 - .../TernaryAsLValueEntirelyFoldable.asm.frag | 1 - .../TernaryAsLValueFoldableTest.asm.frag | 1 - tests/sksl/shared/TernaryExpression.asm.frag | 1 - tests/sksl/shared/Texture1D.asm.frag | 1 - tests/sksl/shared/Texture2D.asm.frag | 1 - tests/sksl/shared/TextureSharpen.asm.frag | 1 - .../shared/UnaryPositiveNegative.asm.frag | 3 +- tests/sksl/shared/UniformArray.asm.frag | 1 - tests/sksl/shared/UniformBuffers.asm.frag | 1 - tests/sksl/shared/Uniforms.asm.frag | 1 - tests/sksl/shared/UnusedVariables.asm.frag | 1 - tests/sksl/shared/VectorConstructors.asm.frag | 1 - .../sksl/shared/WhileLoopControlFlow.asm.frag | 1 - .../spirv/ConstantVectorFromVector.asm.frag | 1 - .../spirv/InterfaceBlockPushConstant.asm.frag | 1 - 215 files changed, 207 insertions(+), 440 deletions(-) diff --git a/src/sksl/SkSLSPIRVCodeGenerator.cpp b/src/sksl/SkSLSPIRVCodeGenerator.cpp index 5f9fce1a68..d60bc2f957 100644 --- a/src/sksl/SkSLSPIRVCodeGenerator.cpp +++ b/src/sksl/SkSLSPIRVCodeGenerator.cpp @@ -240,7 +240,7 @@ void SPIRVCodeGenerator::writeOpCode(SpvOp_ opCode, int length, OutputStream& ou // block. This should be a rare event, but if it happens, synthesize a label; this is // necessary to satisfy the validator. if (fCurrentBlock == 0) { - this->writeLabel(this->nextId(), out); + this->writeLabel(this->nextId(nullptr), out); } break; } @@ -389,7 +389,17 @@ void SPIRVCodeGenerator::writeCapabilities(OutputStream& out) { } } -SpvId SPIRVCodeGenerator::nextId() { +SpvId SPIRVCodeGenerator::nextId(const Type* type) { + return this->nextId(type && type->hasPrecision() && !type->highPrecision() + ? Precision::kRelaxed + : Precision::kDefault); +} + +SpvId SPIRVCodeGenerator::nextId(Precision precision) { + if (precision == Precision::kRelaxed) { + this->writeInstruction(SpvOpDecorate, fIdCount, SpvDecorationRelaxedPrecision, + fDecorationBuffer); + } return fIdCount++; } @@ -506,7 +516,7 @@ SpvId SPIRVCodeGenerator::getType(const Type& rawType, const MemoryLayout& layou } auto entry = fTypeMap.find(key); if (entry == fTypeMap.end()) { - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); switch (type.typeKind()) { case Type::TypeKind::kScalar: if (type.isBoolean()) { @@ -545,7 +555,7 @@ SpvId SPIRVCodeGenerator::getType(const Type& rawType, const MemoryLayout& layou case Type::TypeKind::kArray: { if (!MemoryLayout::LayoutIsSupported(type)) { fErrors.error(type.fOffset, "type '" + type.name() + "' is not permitted here"); - return this->nextId(); + return this->nextId(nullptr); } if (type.columns() > 0) { SpvId typeId = this->getType(type.componentType(), layout); @@ -628,7 +638,7 @@ SpvId SPIRVCodeGenerator::getFunctionType(const FunctionDeclaration& function) { key += ")"; auto entry = fTypeMap.find(key); if (entry == fTypeMap.end()) { - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); int32_t length = 3 + (int32_t) parameters.size(); SpvId returnType = this->getType(function.returnType()); std::vector parameterTypes; @@ -684,7 +694,7 @@ SpvId SPIRVCodeGenerator::getPointerType(const Type& rawType, const MemoryLayout String key = type.displayName() + "*" + to_string(layout.fStd) + to_string(storageClass); auto entry = fTypeMap.find(key); if (entry == fTypeMap.end()) { - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); this->writeInstruction(SpvOpTypePointer, result, storageClass, this->getType(type), fConstantBuffer); fTypeMap[key] = result; @@ -755,7 +765,7 @@ SpvId SPIRVCodeGenerator::writeIntrinsicCall(const FunctionCall& c, OutputStream } switch (std::get<0>(intrinsic->second)) { case kGLSL_STD_450_IntrinsicKind: { - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); std::vector argumentIds; for (size_t i = 0; i < arguments.size(); i++) { if (function.parameters()[i]->modifiers().fFlags & Modifiers::kOut_Flag) { @@ -780,7 +790,7 @@ SpvId SPIRVCodeGenerator::writeIntrinsicCall(const FunctionCall& c, OutputStream if (intrinsicId == SpvOpDot && arguments[0]->type().isScalar()) { intrinsicId = SpvOpFMul; } - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); std::vector argumentIds; for (size_t i = 0; i < arguments.size(); i++) { if (function.parameters()[i]->modifiers().fFlags & Modifiers::kOut_Flag) { @@ -828,14 +838,13 @@ std::vector SPIRVCodeGenerator::vectorize(const ExpressionArray& args, Ou const Type& argType = arg->type(); SpvId raw = this->writeExpression(*arg, out); if (vectorSize && argType.isScalar()) { - SpvId vector = this->nextId(); + SpvId vector = this->nextId(&arg->type()); this->writeOpCode(SpvOpCompositeConstruct, 3 + vectorSize, out); this->writeWord(this->getType(argType.toCompound(fContext, vectorSize, 1)), out); this->writeWord(vector, out); for (int i = 0; i < vectorSize; i++) { this->writeWord(raw, out); } - this->writePrecisionModifier(argType, vector); result.push_back(vector); } else { result.push_back(raw); @@ -870,8 +879,8 @@ void SPIRVCodeGenerator::writeGLSLExtendedInstruction(const Type& type, SpvId id SpvId SPIRVCodeGenerator::writeSpecialIntrinsic(const FunctionCall& c, SpecialIntrinsic kind, OutputStream& out) { const ExpressionArray& arguments = c.arguments(); - SpvId result = this->nextId(); const Type& callType = c.type(); + SpvId result = this->nextId(nullptr); switch (kind) { case kAtan_SpecialIntrinsic: { std::vector argumentIds; @@ -1014,11 +1023,10 @@ SpvId SPIRVCodeGenerator::writeSpecialIntrinsic(const FunctionCall& c, SpecialIn this->writeWord(fn, out); if (fProgram.fConfig->fSettings.fFlipY) { // Flipping Y also negates the Y derivatives. - SpvId flipped = this->nextId(); + SpvId flipped = this->nextId(&callType); this->writeInstruction(SpvOpFNegate, this->getType(callType), flipped, result, out); - this->writePrecisionModifier(callType, flipped); - return flipped; + result = flipped; } break; } @@ -1127,13 +1135,13 @@ SpvId SPIRVCodeGenerator::writeFunctionCall(const FunctionCall& c, OutputStream& // copy it into a temp, call the function, read the value out of the temp, and then // update the lvalue. tmpValueId = lv->load(out); - tmpVar = this->nextId(); + tmpVar = this->nextId(nullptr); tempVars.push_back(TempVar{tmpVar, &arguments[i]->type(), std::move(lv)}); } } else { // See getFunctionType for an explanation of why we're always using pointer parameters. tmpValueId = this->writeExpression(*arguments[i], out); - tmpVar = this->nextId(); + tmpVar = this->nextId(nullptr); } this->writeInstruction(SpvOpVariable, this->getPointerType(arguments[i]->type(), SpvStorageClassFunction), @@ -1143,7 +1151,7 @@ SpvId SPIRVCodeGenerator::writeFunctionCall(const FunctionCall& c, OutputStream& this->writeInstruction(SpvOpStore, tmpVar, tmpValueId, out); argumentIds.push_back(tmpVar); } - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); this->writeOpCode(SpvOpFunctionCall, 4 + (int32_t) arguments.size(), out); this->writeWord(this->getType(c.type()), out); this->writeWord(result, out); @@ -1153,9 +1161,8 @@ SpvId SPIRVCodeGenerator::writeFunctionCall(const FunctionCall& c, OutputStream& } // Now that the call is complete, we copy temp out-variables back to their real lvalues. for (const TempVar& tempVar : tempVars) { - SpvId load = this->nextId(); + SpvId load = this->nextId(tempVar.type); this->writeInstruction(SpvOpLoad, getType(*tempVar.type), load, tempVar.spvId, out); - this->writePrecisionModifier(*tempVar.type, load); tempVar.lvalue->store(load, out); } return result; @@ -1194,7 +1201,7 @@ SpvId SPIRVCodeGenerator::writeConstantVector(const Constructor& c) { auto [iter, newlyCreated] = fVectorConstants.insert({key, (SpvId)-1}); if (newlyCreated) { // Emit an OpConstantComposite instruction for this constant. - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); this->writeOpCode(SpvOpConstantComposite, 3 + type.columns(), fConstantBuffer); this->writeWord(key.fTypeId, fConstantBuffer); this->writeWord(result, fConstantBuffer); @@ -1222,7 +1229,7 @@ SpvId SPIRVCodeGenerator::castScalarToFloat(SpvId inputId, const Type& inputType } // Given the input type, generate the appropriate instruction to cast to float. - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); if (inputType.isBoolean()) { // Use OpSelect to convert the boolean argument to a literal 1.0 or 0.0. FloatLiteral one(/*offset=*/-1, /*value=*/1, fContext.fTypes.fFloat.get()); @@ -1258,7 +1265,7 @@ SpvId SPIRVCodeGenerator::castScalarToSignedInt(SpvId inputId, const Type& input } // Given the input type, generate the appropriate instruction to cast to signed int. - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); if (inputType.isBoolean()) { // Use OpSelect to convert the boolean argument to a literal 1 or 0. IntLiteral one(/*offset=*/-1, /*value=*/1, fContext.fTypes.fInt.get()); @@ -1295,7 +1302,7 @@ SpvId SPIRVCodeGenerator::castScalarToUnsignedInt(SpvId inputId, const Type& inp } // Given the input type, generate the appropriate instruction to cast to unsigned int. - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); if (inputType.isBoolean()) { // Use OpSelect to convert the boolean argument to a literal 1u or 0u. IntLiteral one(/*offset=*/-1, /*value=*/1, fContext.fTypes.fUInt.get()); @@ -1332,7 +1339,7 @@ SpvId SPIRVCodeGenerator::castScalarToBoolean(SpvId inputId, const Type& inputTy } // Given the input type, generate the appropriate instruction to cast to bool. - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); if (inputType.isSigned()) { // Synthesize a boolean result by comparing the input against a signed zero literal. IntLiteral zero(/*offset=*/-1, /*value=*/0, fContext.fTypes.fInt.get()); @@ -1368,13 +1375,12 @@ void SPIRVCodeGenerator::writeUniformScaleMatrix(SpvId id, SpvId diagonal, const out); this->writeWord(this->getType(type.componentType().toCompound(fContext, type.rows(), 1)), out); - SpvId columnId = this->nextId(); + SpvId columnId = this->nextId(&type); this->writeWord(columnId, out); columnIds.push_back(columnId); for (int row = 0; row < type.columns(); row++) { this->writeWord(row == column ? diagonal : zeroId, out); } - this->writePrecisionModifier(type, columnId); } this->writeOpCode(SpvOpCompositeConstruct, 3 + type.columns(), out); @@ -1383,7 +1389,6 @@ void SPIRVCodeGenerator::writeUniformScaleMatrix(SpvId id, SpvId diagonal, const for (SpvId columnId : columnIds) { this->writeWord(columnId, out); } - this->writePrecisionModifier(type, id); } void SPIRVCodeGenerator::writeMatrixCopy(SpvId id, SpvId src, const Type& srcType, @@ -1412,9 +1417,8 @@ void SPIRVCodeGenerator::writeMatrixCopy(SpvId id, SpvId src, const Type& srcTyp for (int i = 0; i < dstType.columns(); i++) { if (i < srcType.columns()) { // we're still inside the src matrix, copy the column - SpvId srcColumn = this->nextId(); + SpvId srcColumn = this->nextId(&dstType); this->writeInstruction(SpvOpCompositeExtract, srcColumnType, srcColumn, src, i, out); - this->writePrecisionModifier(dstType, srcColumn); SpvId dstColumn; if (srcType.rows() == dstType.rows()) { // columns are equal size, don't need to do anything @@ -1422,7 +1426,7 @@ void SPIRVCodeGenerator::writeMatrixCopy(SpvId id, SpvId src, const Type& srcTyp } else if (dstType.rows() > srcType.rows()) { // dst column is bigger, need to zero-pad it - dstColumn = this->nextId(); + dstColumn = this->nextId(&dstType); int delta = dstType.rows() - srcType.rows(); this->writeOpCode(SpvOpCompositeConstruct, 4 + delta, out); this->writeWord(dstColumnType, out); @@ -1431,11 +1435,10 @@ void SPIRVCodeGenerator::writeMatrixCopy(SpvId id, SpvId src, const Type& srcTyp for (int j = 0; j < delta; ++j) { this->writeWord(zeroId, out); } - this->writePrecisionModifier(dstType, dstColumn); } else { // dst column is smaller, need to swizzle the src column - dstColumn = this->nextId(); + dstColumn = this->nextId(&dstType); int count = dstType.rows(); this->writeOpCode(SpvOpVectorShuffle, 5 + count, out); this->writeWord(dstColumnType, out); @@ -1445,20 +1448,18 @@ void SPIRVCodeGenerator::writeMatrixCopy(SpvId id, SpvId src, const Type& srcTyp for (int j = 0; j < count; j++) { this->writeWord(j, out); } - this->writePrecisionModifier(dstType, dstColumn); } columns[i] = dstColumn; } else { // we're past the end of the src matrix, need a vector of zeroes if (!zeroColumn) { - zeroColumn = this->nextId(); + zeroColumn = this->nextId(&dstType); this->writeOpCode(SpvOpCompositeConstruct, 3 + dstType.rows(), out); this->writeWord(dstColumnType, out); this->writeWord(zeroColumn, out); for (int j = 0; j < dstType.rows(); ++j) { this->writeWord(zeroId, out); } - this->writePrecisionModifier(dstType, zeroColumn); } columns[i] = zeroColumn; } @@ -1469,7 +1470,6 @@ void SPIRVCodeGenerator::writeMatrixCopy(SpvId id, SpvId src, const Type& srcTyp for (int i = 0; i < dstType.columns(); i++) { this->writeWord(columns[i], out); } - this->writePrecisionModifier(dstType, id); } void SPIRVCodeGenerator::addColumnEntry(SpvId columnType, Precision precision, @@ -1484,14 +1484,13 @@ void SPIRVCodeGenerator::addColumnEntry(SpvId columnType, Precision precision, *currentCount = 0; this->writeOpCode(SpvOpCompositeConstruct, 3 + currentColumn->size(), out); this->writeWord(columnType, out); - SpvId columnId = this->nextId(); + SpvId columnId = this->nextId(precision); this->writeWord(columnId, out); columnIds->push_back(columnId); for (SpvId id : *currentColumn) { this->writeWord(id, out); } currentColumn->clear(); - this->writePrecisionModifier(precision, columnId); } } @@ -1506,7 +1505,7 @@ SpvId SPIRVCodeGenerator::writeMatrixConstructor(const Constructor& c, OutputStr for (size_t i = 0; i < c.arguments().size(); i++) { arguments.push_back(this->writeExpression(*c.arguments()[i], out)); } - SpvId result = this->nextId(); + SpvId result = this->nextId(&type); int rows = type.rows(); int columns = type.columns(); if (arguments.size() == 1 && arg0Type.isScalar()) { @@ -1520,14 +1519,14 @@ SpvId SPIRVCodeGenerator::writeMatrixConstructor(const Constructor& c, OutputStr SpvId componentType = this->getType(type.componentType()); SpvId v[4]; for (int i = 0; i < 4; ++i) { - v[i] = this->nextId(); + v[i] = this->nextId(nullptr); this->writeInstruction(SpvOpCompositeExtract, componentType, v[i], arguments[0], i, out); } SpvId columnType = this->getType(type.componentType().toCompound(fContext, 2, 1)); - SpvId column1 = this->nextId(); + SpvId column1 = this->nextId(nullptr); this->writeInstruction(SpvOpCompositeConstruct, columnType, column1, v[0], v[1], out); - SpvId column2 = this->nextId(); + SpvId column2 = this->nextId(nullptr); this->writeInstruction(SpvOpCompositeConstruct, columnType, column2, v[2], v[3], out); this->writeInstruction(SpvOpCompositeConstruct, this->getType(type), result, column1, column2, out); @@ -1538,7 +1537,7 @@ SpvId SPIRVCodeGenerator::writeMatrixConstructor(const Constructor& c, OutputStr std::vector currentColumn; // the total number of scalars represented by currentColumn's entries int currentCount = 0; - Precision precision = type.highPrecision() ? Precision::kHigh : Precision::kLow; + Precision precision = type.highPrecision() ? Precision::kDefault : Precision::kRelaxed; for (size_t i = 0; i < arguments.size(); i++) { const Type& argType = c.arguments()[i]->type(); if (currentCount == 0 && argType.isVector() && @@ -1552,7 +1551,7 @@ SpvId SPIRVCodeGenerator::writeMatrixConstructor(const Constructor& c, OutputStr } else { SpvId componentType = this->getType(argType.componentType()); for (int j = 0; j < argType.columns(); ++j) { - SpvId swizzle = this->nextId(); + SpvId swizzle = this->nextId(nullptr); this->writeInstruction(SpvOpCompositeExtract, componentType, swizzle, arguments[i], j, out); this->addColumnEntry(columnType, precision, ¤tColumn, &columnIds, @@ -1569,7 +1568,6 @@ SpvId SPIRVCodeGenerator::writeMatrixConstructor(const Constructor& c, OutputStr this->writeWord(id, out); } } - this->writePrecisionModifier(type, result); return result; } @@ -1601,7 +1599,7 @@ SpvId SPIRVCodeGenerator::writeVectorConstructor(const Constructor& c, OutputStr } for (int j = 0; j < argType.columns(); j++) { - SpvId swizzle = this->nextId(); + SpvId swizzle = this->nextId(nullptr); this->writeInstruction(SpvOpCompositeExtract, this->getType(src), swizzle, vec, j, out); if (dst.isFloat()) { @@ -1623,7 +1621,7 @@ SpvId SPIRVCodeGenerator::writeVectorConstructor(const Constructor& c, OutputStr arguments.push_back(this->writeExpression(*c.arguments()[i], out)); } } - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); if (arguments.size() == 1 && c.arguments()[0]->type().isScalar()) { this->writeOpCode(SpvOpCompositeConstruct, 3 + type.columns(), out); this->writeWord(this->getType(type), out); @@ -1652,7 +1650,7 @@ SpvId SPIRVCodeGenerator::writeArrayConstructor(const Constructor& c, OutputStre for (size_t i = 0; i < c.arguments().size(); i++) { arguments.push_back(this->writeExpression(*c.arguments()[i], out)); } - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); this->writeOpCode(SpvOpCompositeConstruct, 3 + (int32_t) c.arguments().size(), out); this->writeWord(this->getType(type), out); this->writeWord(result, out); @@ -1772,9 +1770,8 @@ public: } SpvId load(OutputStream& out) override { - SpvId result = fGen.nextId(); + SpvId result = fGen.nextId(fPrecision); fGen.writeInstruction(SpvOpLoad, fType, result, fPointer, out); - fGen.writePrecisionModifier(fPrecision, result); return result; } @@ -1792,14 +1789,12 @@ private: class SwizzleLValue : public SPIRVCodeGenerator::LValue { public: SwizzleLValue(SPIRVCodeGenerator& gen, SpvId vecPointer, const ComponentArray& components, - const Type& baseType, const Type& swizzleType, - SPIRVCodeGenerator::Precision precision) + const Type& baseType, const Type& swizzleType) : fGen(gen) , fVecPointer(vecPointer) , fComponents(components) , fBaseType(&baseType) - , fSwizzleType(&swizzleType) - , fPrecision(precision) {} + , fSwizzleType(&swizzleType) {} bool applySwizzle(const ComponentArray& components, const Type& newType) override { ComponentArray updatedSwizzle; @@ -1816,10 +1811,9 @@ public: } SpvId load(OutputStream& out) override { - SpvId base = fGen.nextId(); + SpvId base = fGen.nextId(fBaseType); fGen.writeInstruction(SpvOpLoad, fGen.getType(*fBaseType), base, fVecPointer, out); - fGen.writePrecisionModifier(fPrecision, base); - SpvId result = fGen.nextId(); + SpvId result = fGen.nextId(fBaseType); fGen.writeOpCode(SpvOpVectorShuffle, 5 + (int32_t) fComponents.size(), out); fGen.writeWord(fGen.getType(*fSwizzleType), out); fGen.writeWord(result, out); @@ -1828,7 +1822,6 @@ public: for (int component : fComponents) { fGen.writeWord(component, out); } - fGen.writePrecisionModifier(fPrecision, result); return result; } @@ -1843,9 +1836,9 @@ public: // we end up with the virtual vector (L.x, L.y, L.z, R.x, R.y, R.z). Then we want // our result vector to look like (R.x, L.y, R.y), so we need to select indices // (3, 1, 4). - SpvId base = fGen.nextId(); + SpvId base = fGen.nextId(nullptr); fGen.writeInstruction(SpvOpLoad, fGen.getType(*fBaseType), base, fVecPointer, out); - SpvId shuffle = fGen.nextId(); + SpvId shuffle = fGen.nextId(fBaseType); fGen.writeOpCode(SpvOpVectorShuffle, 5 + fBaseType->columns(), out); fGen.writeWord(fGen.getType(*fBaseType), out); fGen.writeWord(shuffle, out); @@ -1867,7 +1860,6 @@ public: } fGen.writeWord(offset, out); } - fGen.writePrecisionModifier(fPrecision, shuffle); fGen.writeInstruction(SpvOpStore, fVecPointer, shuffle, out); } @@ -1877,7 +1869,6 @@ private: ComponentArray fComponents; const Type* fBaseType; const Type* fSwizzleType; - const SPIRVCodeGenerator::Precision fPrecision; }; int SPIRVCodeGenerator::findUniformFieldIndex(const Variable& var) const { @@ -1888,14 +1879,14 @@ int SPIRVCodeGenerator::findUniformFieldIndex(const Variable& var) const { std::unique_ptr SPIRVCodeGenerator::getLValue(const Expression& expr, OutputStream& out) { const Type& type = expr.type(); - Precision precision = type.highPrecision() ? Precision::kHigh : Precision::kLow; + Precision precision = type.highPrecision() ? Precision::kDefault : Precision::kRelaxed; switch (expr.kind()) { case Expression::Kind::kVariableReference: { const Variable& var = *expr.as().variable(); int uniformIdx = this->findUniformFieldIndex(var); if (uniformIdx >= 0) { IntLiteral uniformIdxLiteral{/*offset=*/-1, uniformIdx, fContext.fTypes.fInt.get()}; - SpvId memberId = this->nextId(); + SpvId memberId = this->nextId(nullptr); SpvId typeId = this->getPointerType(type, SpvStorageClassUniform); SpvId uniformIdxId = this->writeIntLiteral(uniformIdxLiteral); this->writeInstruction(SpvOpAccessChain, typeId, memberId, fUniformBufferId, @@ -1917,7 +1908,7 @@ std::unique_ptr SPIRVCodeGenerator::getLValue(const case Expression::Kind::kIndex: // fall through case Expression::Kind::kFieldAccess: { std::vector chain = this->getAccessChain(expr, out); - SpvId member = this->nextId(); + SpvId member = this->nextId(nullptr); this->writeOpCode(SpvOpAccessChain, (SpvId) (3 + chain.size()), out); this->writeWord(this->getPointerType(type, get_storage_class(expr)), out); this->writeWord(member, out); @@ -1937,7 +1928,7 @@ std::unique_ptr SPIRVCodeGenerator::getLValue(const fErrors.error(swizzle.fOffset, "unable to retrieve lvalue from swizzle"); } if (swizzle.components().size() == 1) { - SpvId member = this->nextId(); + SpvId member = this->nextId(nullptr); SpvId typeId = this->getPointerType(type, get_storage_class(*swizzle.base())); IntLiteral index(/*offset=*/-1, swizzle.components()[0], fContext.fTypes.fInt.get()); @@ -1947,7 +1938,7 @@ std::unique_ptr SPIRVCodeGenerator::getLValue(const precision); } else { return std::make_unique(*this, base, swizzle.components(), - swizzle.base()->type(), type, precision); + swizzle.base()->type(), type); } } default: { @@ -1955,7 +1946,7 @@ std::unique_ptr SPIRVCodeGenerator::getLValue(const // to the need to store values in temporary variables during function calls (see // comments in getFunctionType); erroneous uses of rvalues as lvalues should have been // caught by IRGenerator - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); SpvId pointerType = this->getPointerType(type, SpvStorageClassFunction); this->writeInstruction(SpvOpVariable, pointerType, result, SpvStorageClassFunction, fVariableBuffer); @@ -1973,12 +1964,12 @@ SpvId SPIRVCodeGenerator::writeVariableReference(const VariableReference& ref, O if (variable->modifiers().fLayout.fBuiltin == SK_FRAGCOORD_BUILTIN && fProgram.fConfig->fSettings.fFlipY) { // The x component never changes, so just grab it - SpvId xId = this->nextId(); + SpvId xId = this->nextId(nullptr); this->writeInstruction(SpvOpCompositeExtract, this->getType(*fContext.fTypes.fFloat), xId, result, 0, out); // Calculate the y component which may need to be flipped - SpvId rawYId = this->nextId(); + SpvId rawYId = this->nextId(nullptr); this->writeInstruction(SpvOpCompositeExtract, this->getType(*fContext.fTypes.fFloat), rawYId, result, 1, out); SpvId flippedYId = 0; @@ -2041,18 +2032,18 @@ SpvId SPIRVCodeGenerator::writeVariableReference(const VariableReference& ref, O IntLiteral fieldIndex(/*offset=*/-1, fRTHeightFieldIndex, fContext.fTypes.fInt.get()); SpvId fieldIndexId = this->writeIntLiteral(fieldIndex); - SpvId heightPtr = this->nextId(); + SpvId heightPtr = this->nextId(nullptr); this->writeOpCode(SpvOpAccessChain, 5, out); this->writeWord(this->getPointerType(*fContext.fTypes.fFloat, fRTHeightStorageClass), out); this->writeWord(heightPtr, out); this->writeWord(fRTHeightStructId, out); this->writeWord(fieldIndexId, out); - SpvId heightRead = this->nextId(); + SpvId heightRead = this->nextId(nullptr); this->writeInstruction(SpvOpLoad, this->getType(*fContext.fTypes.fFloat), heightRead, heightPtr, out); - flippedYId = this->nextId(); + flippedYId = this->nextId(nullptr); this->writeInstruction(SpvOpFSub, this->getType(*fContext.fTypes.fFloat), flippedYId, heightRead, rawYId, out); } @@ -2062,12 +2053,12 @@ SpvId SPIRVCodeGenerator::writeVariableReference(const VariableReference& ref, O SpvId zeroId = writeFloatLiteral(zero); // Calculate the w component - SpvId rawWId = this->nextId(); + SpvId rawWId = this->nextId(nullptr); this->writeInstruction(SpvOpCompositeExtract, this->getType(*fContext.fTypes.fFloat), rawWId, result, 3, out); // Fill in the new fragcoord with the components from above - SpvId adjusted = this->nextId(); + SpvId adjusted = this->nextId(nullptr); this->writeOpCode(SpvOpCompositeConstruct, 7, out); this->writeWord(this->getType(*fContext.fTypes.fFloat4), out); this->writeWord(adjusted, out); @@ -2088,7 +2079,7 @@ SpvId SPIRVCodeGenerator::writeVariableReference(const VariableReference& ref, O !fProgram.fConfig->fSettings.fFlipY) { // FrontFacing in Vulkan is defined in terms of a top-down render target. In skia, we use // the default convention of "counter-clockwise face is front". - SpvId inverse = this->nextId(); + SpvId inverse = this->nextId(nullptr); this->writeInstruction(SpvOpLogicalNot, this->getType(*fContext.fTypes.fBool), inverse, result, out); return inverse; @@ -2101,7 +2092,7 @@ SpvId SPIRVCodeGenerator::writeIndexExpression(const IndexExpression& expr, Outp if (expr.base()->type().isVector()) { SpvId base = this->writeExpression(*expr.base(), out); SpvId index = this->writeExpression(*expr.index(), out); - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); this->writeInstruction(SpvOpVectorExtractDynamic, this->getType(expr.type()), result, base, index, out); return result; @@ -2115,7 +2106,7 @@ SpvId SPIRVCodeGenerator::writeFieldAccess(const FieldAccess& f, OutputStream& o SpvId SPIRVCodeGenerator::writeSwizzle(const Swizzle& swizzle, OutputStream& out) { SpvId base = this->writeExpression(*swizzle.base(), out); - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); size_t count = swizzle.components().size(); if (count == 1) { this->writeInstruction(SpvOpCompositeExtract, this->getType(swizzle.type()), result, base, @@ -2137,7 +2128,7 @@ SpvId SPIRVCodeGenerator::writeBinaryOperation(const Type& resultType, const Type& operandType, SpvId lhs, SpvId rhs, SpvOp_ ifFloat, SpvOp_ ifInt, SpvOp_ ifUInt, SpvOp_ ifBool, OutputStream& out) { - SpvId result = this->nextId(); + SpvId result = this->nextId(&resultType); if (is_float(fContext, operandType)) { this->writeInstruction(ifFloat, this->getType(resultType), result, lhs, rhs, out); } else if (is_signed(fContext, operandType)) { @@ -2146,15 +2137,9 @@ SpvId SPIRVCodeGenerator::writeBinaryOperation(const Type& resultType, this->writeInstruction(ifUInt, this->getType(resultType), result, lhs, rhs, out); } else if (is_bool(fContext, operandType)) { this->writeInstruction(ifBool, this->getType(resultType), result, lhs, rhs, out); - return result; // skip RelaxedPrecision check } else { fErrors.error(operandType.fOffset, "unsupported operand for binary expression: " + operandType.description()); - return result; - } - if (getActualType(resultType) == operandType && !resultType.highPrecision()) { - this->writeInstruction(SpvOpDecorate, result, SpvDecorationRelaxedPrecision, - fDecorationBuffer); } return result; } @@ -2162,7 +2147,7 @@ SpvId SPIRVCodeGenerator::writeBinaryOperation(const Type& resultType, SpvId SPIRVCodeGenerator::foldToBool(SpvId id, const Type& operandType, SpvOp op, OutputStream& out) { if (operandType.isVector()) { - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); this->writeInstruction(op, this->getType(*fContext.fTypes.fBool), result, id, out); return result; } @@ -2184,16 +2169,16 @@ SpvId SPIRVCodeGenerator::writeMatrixComparison(const Type& operandType, SpvId l SpvId boolType = this->getType(*fContext.fTypes.fBool); SpvId result = 0; for (int i = 0; i < operandType.columns(); i++) { - SpvId columnL = this->nextId(); + SpvId columnL = this->nextId(&operandType); this->writeInstruction(SpvOpCompositeExtract, columnType, columnL, lhs, i, out); - SpvId columnR = this->nextId(); + SpvId columnR = this->nextId(&operandType); this->writeInstruction(SpvOpCompositeExtract, columnType, columnR, rhs, i, out); - SpvId compare = this->nextId(); + SpvId compare = this->nextId(&operandType); this->writeInstruction(compareOp, bvecType, compare, columnL, columnR, out); - SpvId merge = this->nextId(); + SpvId merge = this->nextId(nullptr); this->writeInstruction(vectorMergeOperator, boolType, merge, compare, out); if (result != 0) { - SpvId next = this->nextId(); + SpvId next = this->nextId(nullptr); this->writeInstruction(mergeOperator, boolType, next, result, merge, out); result = next; } @@ -2215,14 +2200,14 @@ SpvId SPIRVCodeGenerator::writeComponentwiseMatrixBinary(const Type& operandType 1)); SpvId columns[4]; for (int i = 0; i < operandType.columns(); i++) { - SpvId columnL = this->nextId(); + SpvId columnL = this->nextId(nullptr); this->writeInstruction(SpvOpCompositeExtract, columnType, columnL, lhs, i, out); - SpvId columnR = this->nextId(); + SpvId columnR = this->nextId(nullptr); this->writeInstruction(SpvOpCompositeExtract, columnType, columnR, rhs, i, out); - columns[i] = this->nextId(); + columns[i] = this->nextId(nullptr); this->writeInstruction(op, columnType, columns[i], columnL, columnR, out); } - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); this->writeOpCode(SpvOpCompositeConstruct, 3 + operandType.columns(), out); this->writeWord(this->getType(operandType), out); this->writeWord(result, out); @@ -2258,19 +2243,19 @@ SpvId SPIRVCodeGenerator::writeBinaryExpression(const Type& leftType, SpvId lhs, if (leftType.isVector() && rightType.isNumber()) { if (op.kind() == Token::Kind::TK_SLASH) { SpvId one = this->writeExpression(*create_literal_1(fContext, rightType), out); - SpvId inverse = this->nextId(); + SpvId inverse = this->nextId(nullptr); this->writeInstruction(SpvOpFDiv, this->getType(rightType), inverse, one, rhs, out); rhs = inverse; op = Token::Kind::TK_STAR; } if (op.kind() == Token::Kind::TK_STAR) { - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); this->writeInstruction(SpvOpVectorTimesScalar, this->getType(resultType), result, lhs, rhs, out); return result; } // promote number to vector - SpvId vec = this->nextId(); + SpvId vec = this->nextId(nullptr); const Type& vecType = leftType; this->writeOpCode(SpvOpCompositeConstruct, 3 + vecType.columns(), out); this->writeWord(this->getType(vecType), out); @@ -2282,13 +2267,13 @@ SpvId SPIRVCodeGenerator::writeBinaryExpression(const Type& leftType, SpvId lhs, operandType = &leftType; } else if (rightType.isVector() && leftType.isNumber()) { if (op.kind() == Token::Kind::TK_STAR) { - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); this->writeInstruction(SpvOpVectorTimesScalar, this->getType(resultType), result, rhs, lhs, out); return result; } // promote number to vector - SpvId vec = this->nextId(); + SpvId vec = this->nextId(nullptr); const Type& vecType = rightType; this->writeOpCode(SpvOpCompositeConstruct, 3 + vecType.columns(), out); this->writeWord(this->getType(vecType), out); @@ -2308,11 +2293,11 @@ SpvId SPIRVCodeGenerator::writeBinaryExpression(const Type& leftType, SpvId lhs, SkASSERT(rightType.isScalar()); spvop = SpvOpMatrixTimesScalar; } - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); this->writeInstruction(spvop, this->getType(resultType), result, lhs, rhs, out); return result; } else if (rightType.isMatrix()) { - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); if (leftType.isVector()) { this->writeInstruction(SpvOpVectorTimesMatrix, this->getType(resultType), result, lhs, rhs, out); @@ -2409,7 +2394,7 @@ SpvId SPIRVCodeGenerator::writeBinaryExpression(const Type& leftType, SpvId lhs, case Token::Kind::TK_STAR: if (leftType.isMatrix() && rightType.isMatrix()) { // matrix multiply - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); this->writeInstruction(SpvOpMatrixTimesMatrix, this->getType(resultType), result, lhs, rhs, out); return result; @@ -2487,8 +2472,8 @@ SpvId SPIRVCodeGenerator::writeLogicalAnd(const BinaryExpression& a, OutputStrea BoolLiteral falseLiteral(/*offset=*/-1, /*value=*/false, fContext.fTypes.fBool.get()); SpvId falseConstant = this->writeBoolLiteral(falseLiteral); SpvId lhs = this->writeExpression(*a.left(), out); - SpvId rhsLabel = this->nextId(); - SpvId end = this->nextId(); + SpvId rhsLabel = this->nextId(nullptr); + SpvId end = this->nextId(nullptr); SpvId lhsBlock = fCurrentBlock; this->writeInstruction(SpvOpSelectionMerge, end, SpvSelectionControlMaskNone, out); this->writeInstruction(SpvOpBranchConditional, lhs, rhsLabel, end, out); @@ -2497,7 +2482,7 @@ SpvId SPIRVCodeGenerator::writeLogicalAnd(const BinaryExpression& a, OutputStrea SpvId rhsBlock = fCurrentBlock; this->writeInstruction(SpvOpBranch, end, out); this->writeLabel(end, out); - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); this->writeInstruction(SpvOpPhi, this->getType(*fContext.fTypes.fBool), result, falseConstant, lhsBlock, rhs, rhsBlock, out); return result; @@ -2508,8 +2493,8 @@ SpvId SPIRVCodeGenerator::writeLogicalOr(const BinaryExpression& o, OutputStream BoolLiteral trueLiteral(/*offset=*/-1, /*value=*/true, fContext.fTypes.fBool.get()); SpvId trueConstant = this->writeBoolLiteral(trueLiteral); SpvId lhs = this->writeExpression(*o.left(), out); - SpvId rhsLabel = this->nextId(); - SpvId end = this->nextId(); + SpvId rhsLabel = this->nextId(nullptr); + SpvId end = this->nextId(nullptr); SpvId lhsBlock = fCurrentBlock; this->writeInstruction(SpvOpSelectionMerge, end, SpvSelectionControlMaskNone, out); this->writeInstruction(SpvOpBranchConditional, lhs, end, rhsLabel, out); @@ -2518,7 +2503,7 @@ SpvId SPIRVCodeGenerator::writeLogicalOr(const BinaryExpression& o, OutputStream SpvId rhsBlock = fCurrentBlock; this->writeInstruction(SpvOpBranch, end, out); this->writeLabel(end, out); - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); this->writeInstruction(SpvOpPhi, this->getType(*fContext.fTypes.fBool), result, trueConstant, lhsBlock, rhs, rhsBlock, out); return result; @@ -2531,7 +2516,7 @@ SpvId SPIRVCodeGenerator::writeTernaryExpression(const TernaryExpression& t, Out t.ifTrue()->isCompileTimeConstant() && t.ifFalse()->isCompileTimeConstant()) { // both true and false are constants, can just use OpSelect - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); SpvId trueId = this->writeExpression(*t.ifTrue(), out); SpvId falseId = this->writeExpression(*t.ifFalse(), out); this->writeInstruction(SpvOpSelect, this->getType(type), result, test, trueId, falseId, @@ -2540,12 +2525,12 @@ SpvId SPIRVCodeGenerator::writeTernaryExpression(const TernaryExpression& t, Out } // was originally using OpPhi to choose the result, but for some reason that is crashing on // Adreno. Switched to storing the result in a temp variable as glslang does. - SpvId var = this->nextId(); + SpvId var = this->nextId(nullptr); this->writeInstruction(SpvOpVariable, this->getPointerType(type, SpvStorageClassFunction), var, SpvStorageClassFunction, fVariableBuffer); - SpvId trueLabel = this->nextId(); - SpvId falseLabel = this->nextId(); - SpvId end = this->nextId(); + SpvId trueLabel = this->nextId(nullptr); + SpvId falseLabel = this->nextId(nullptr); + SpvId end = this->nextId(nullptr); this->writeInstruction(SpvOpSelectionMerge, end, SpvSelectionControlMaskNone, out); this->writeInstruction(SpvOpBranchConditional, test, trueLabel, falseLabel, out); this->writeLabel(trueLabel, out); @@ -2555,16 +2540,15 @@ SpvId SPIRVCodeGenerator::writeTernaryExpression(const TernaryExpression& t, Out this->writeInstruction(SpvOpStore, var, this->writeExpression(*t.ifFalse(), out), out); this->writeInstruction(SpvOpBranch, end, out); this->writeLabel(end, out); - SpvId result = this->nextId(); + SpvId result = this->nextId(&type); this->writeInstruction(SpvOpLoad, this->getType(type), result, var, out); - this->writePrecisionModifier(type, result); return result; } SpvId SPIRVCodeGenerator::writePrefixExpression(const PrefixExpression& p, OutputStream& out) { const Type& type = p.type(); if (p.getOperator().kind() == Token::Kind::TK_MINUS) { - SpvId result = this->nextId(); + SpvId result = this->nextId(&type); SpvId typeId = this->getType(type); SpvId expr = this->writeExpression(*p.operand(), out); if (is_float(fContext, type)) { @@ -2574,7 +2558,6 @@ SpvId SPIRVCodeGenerator::writePrefixExpression(const PrefixExpression& p, Outpu } else { SkDEBUGFAILF("unsupported prefix expression %s", p.description().c_str()); } - this->writePrecisionModifier(type, result); return result; } switch (p.getOperator().kind()) { @@ -2599,13 +2582,13 @@ SpvId SPIRVCodeGenerator::writePrefixExpression(const PrefixExpression& p, Outpu } case Token::Kind::TK_LOGICALNOT: { SkASSERT(p.operand()->type().isBoolean()); - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); this->writeInstruction(SpvOpLogicalNot, this->getType(type), result, this->writeExpression(*p.operand(), out), out); return result; } case Token::Kind::TK_BITWISENOT: { - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); this->writeInstruction(SpvOpNot, this->getType(type), result, this->writeExpression(*p.operand(), out), out); return result; @@ -2643,14 +2626,14 @@ SpvId SPIRVCodeGenerator::writePostfixExpression(const PostfixExpression& p, Out SpvId SPIRVCodeGenerator::writeBoolLiteral(const BoolLiteral& b) { if (b.value()) { if (fBoolTrue == 0) { - fBoolTrue = this->nextId(); + fBoolTrue = this->nextId(nullptr); this->writeInstruction(SpvOpConstantTrue, this->getType(b.type()), fBoolTrue, fConstantBuffer); } return fBoolTrue; } else { if (fBoolFalse == 0) { - fBoolFalse = this->nextId(); + fBoolFalse = this->nextId(nullptr); this->writeInstruction(SpvOpConstantFalse, this->getType(b.type()), fBoolFalse, fConstantBuffer); } @@ -2662,7 +2645,7 @@ SpvId SPIRVCodeGenerator::writeIntLiteral(const IntLiteral& i) { SPIRVNumberConstant key{i.value(), i.type().numberKind()}; auto [iter, newlyCreated] = fNumberConstants.insert({key, (SpvId)-1}); if (newlyCreated) { - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); this->writeInstruction(SpvOpConstant, this->getType(i.type()), result, (SpvId) i.value(), fConstantBuffer); iter->second = result; @@ -2680,7 +2663,7 @@ SpvId SPIRVCodeGenerator::writeFloatLiteral(const FloatLiteral& f) { SPIRVNumberConstant key{valueBits, f.type().numberKind()}; auto [iter, newlyCreated] = fNumberConstants.insert({key, (SpvId)-1}); if (newlyCreated) { - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); this->writeInstruction(SpvOpConstant, this->getType(f.type()), result, (SpvId) valueBits, fConstantBuffer); iter->second = result; @@ -2697,7 +2680,7 @@ SpvId SPIRVCodeGenerator::writeFunctionStart(const FunctionDeclaration& f, Outpu this->writeInstruction(SpvOpName, result, f.name(), fNameBuffer); const std::vector& parameters = f.parameters(); for (size_t i = 0; i < parameters.size(); i++) { - SpvId id = this->nextId(); + SpvId id = this->nextId(nullptr); fVariableMap[parameters[i]] = id; SpvId type; type = this->getPointerType(parameters[i]->type(), SpvStorageClassFunction); @@ -2710,7 +2693,7 @@ SpvId SPIRVCodeGenerator::writeFunction(const FunctionDefinition& f, OutputStrea fVariableBuffer.reset(); SpvId result = this->writeFunctionStart(f.declaration(), out); fCurrentBlock = 0; - this->writeLabel(this->nextId(), out); + this->writeLabel(this->nextId(nullptr), out); StringStream bodyBuffer; this->writeBlock(f.body()->as(), bodyBuffer); write_stringstream(fVariableBuffer, out); @@ -2814,12 +2797,12 @@ static void update_sk_in_count(const Modifiers& m, int* outSkInCount) { SpvId SPIRVCodeGenerator::writeInterfaceBlock(const InterfaceBlock& intf, bool appendRTHeight) { MemoryLayout memoryLayout = this->memoryLayoutForVariable(intf.variable()); - SpvId result = this->nextId(); + SpvId result = this->nextId(nullptr); std::unique_ptr rtHeightStructType; const Type* type = &intf.variable().type(); if (!MemoryLayout::LayoutIsSupported(*type)) { fErrors.error(type->fOffset, "type '" + type->name() + "' is not permitted here"); - return this->nextId(); + return this->nextId(nullptr); } SpvStorageClass_ storageClass = get_storage_class(intf.variable(), SpvStorageClassFunction); if (fProgram.fInputs.fRTHeight && appendRTHeight) { @@ -2852,7 +2835,7 @@ SpvId SPIRVCodeGenerator::writeInterfaceBlock(const InterfaceBlock& intf, bool a if (intfModifiers.fLayout.fBuiltin == -1) { this->writeInstruction(SpvOpDecorate, typeId, SpvDecorationBlock, fDecorationBuffer); } - SpvId ptrType = this->nextId(); + SpvId ptrType = this->nextId(nullptr); this->writeInstruction(SpvOpTypePointer, ptrType, storageClass, typeId, fConstantBuffer); this->writeInstruction(SpvOpVariable, ptrType, result, storageClass, fConstantBuffer); Layout layout = intfModifiers.fLayout; @@ -2864,16 +2847,6 @@ SpvId SPIRVCodeGenerator::writeInterfaceBlock(const InterfaceBlock& intf, bool a return result; } -void SPIRVCodeGenerator::writePrecisionModifier(const Type& type, SpvId id) { - this->writePrecisionModifier(type.highPrecision() ? Precision::kHigh : Precision::kLow, id); -} - -void SPIRVCodeGenerator::writePrecisionModifier(Precision precision, SpvId id) { - if (precision == Precision::kLow) { - this->writeInstruction(SpvOpDecorate, id, SpvDecorationRelaxedPrecision, fDecorationBuffer); - } -} - static bool is_dead(const Variable& var, const ProgramUsage* usage) { ProgramUsage::VariableCounts counts = usage->get(var); if (counts.fRead || counts.fWrite) { @@ -2917,7 +2890,7 @@ void SPIRVCodeGenerator::writeGlobalVar(ProgramKind kind, const VarDeclaration& if (layout.fSet < 0 && storageClass == SpvStorageClassUniformConstant) { layout.fSet = fProgram.fConfig->fSettings.fDefaultUniformSet; } - SpvId id = this->nextId(); + SpvId id = this->nextId(&type); fVariableMap[&var] = id; SpvId typeId; if (var.modifiers().fLayout.fBuiltin == SK_IN_BUILTIN) { @@ -2929,7 +2902,6 @@ void SPIRVCodeGenerator::writeGlobalVar(ProgramKind kind, const VarDeclaration& } this->writeInstruction(SpvOpVariable, typeId, id, storageClass, fConstantBuffer); this->writeInstruction(SpvOpName, id, var.name(), fNameBuffer); - this->writePrecisionModifier(type, id); if (varDecl.value()) { SkASSERT(!fCurrentBlock); fCurrentBlock = -1; @@ -2949,7 +2921,7 @@ void SPIRVCodeGenerator::writeGlobalVar(ProgramKind kind, const VarDeclaration& void SPIRVCodeGenerator::writeVarDeclaration(const VarDeclaration& varDecl, OutputStream& out) { const Variable& var = varDecl.var(); - SpvId id = this->nextId(); + SpvId id = this->nextId(nullptr); fVariableMap[&var] = id; SpvId type = this->getPointerType(var.type(), SpvStorageClassFunction); this->writeInstruction(SpvOpVariable, type, id, SpvStorageClassFunction, fVariableBuffer); @@ -3012,10 +2984,10 @@ void SPIRVCodeGenerator::writeBlock(const Block& b, OutputStream& out) { void SPIRVCodeGenerator::writeIfStatement(const IfStatement& stmt, OutputStream& out) { SpvId test = this->writeExpression(*stmt.test(), out); - SpvId ifTrue = this->nextId(); - SpvId ifFalse = this->nextId(); + SpvId ifTrue = this->nextId(nullptr); + SpvId ifFalse = this->nextId(nullptr); if (stmt.ifFalse()) { - SpvId end = this->nextId(); + SpvId end = this->nextId(nullptr); this->writeInstruction(SpvOpSelectionMerge, end, SpvSelectionControlMaskNone, out); this->writeInstruction(SpvOpBranchConditional, test, ifTrue, ifFalse, out); this->writeLabel(ifTrue, out); @@ -3045,12 +3017,12 @@ void SPIRVCodeGenerator::writeForStatement(const ForStatement& f, OutputStream& if (f.initializer()) { this->writeStatement(*f.initializer(), out); } - SpvId header = this->nextId(); - SpvId start = this->nextId(); - SpvId body = this->nextId(); - SpvId next = this->nextId(); + SpvId header = this->nextId(nullptr); + SpvId start = this->nextId(nullptr); + SpvId body = this->nextId(nullptr); + SpvId next = this->nextId(nullptr); fContinueTarget.push(next); - SpvId end = this->nextId(); + SpvId end = this->nextId(nullptr); fBreakTarget.push(end); this->writeInstruction(SpvOpBranch, header, out); this->writeLabel(header, out); @@ -3079,12 +3051,12 @@ void SPIRVCodeGenerator::writeForStatement(const ForStatement& f, OutputStream& } void SPIRVCodeGenerator::writeDoStatement(const DoStatement& d, OutputStream& out) { - SpvId header = this->nextId(); - SpvId start = this->nextId(); - SpvId next = this->nextId(); - SpvId continueTarget = this->nextId(); + SpvId header = this->nextId(nullptr); + SpvId start = this->nextId(nullptr); + SpvId next = this->nextId(nullptr); + SpvId continueTarget = this->nextId(nullptr); fContinueTarget.push(continueTarget); - SpvId end = this->nextId(); + SpvId end = this->nextId(nullptr); fBreakTarget.push(end); this->writeInstruction(SpvOpBranch, header, out); this->writeLabel(header, out); @@ -3108,14 +3080,14 @@ void SPIRVCodeGenerator::writeDoStatement(const DoStatement& d, OutputStream& ou void SPIRVCodeGenerator::writeSwitchStatement(const SwitchStatement& s, OutputStream& out) { SpvId value = this->writeExpression(*s.value(), out); std::vector labels; - SpvId end = this->nextId(); + SpvId end = this->nextId(nullptr); SpvId defaultLabel = end; fBreakTarget.push(end); int size = 3; auto& cases = s.cases(); for (const std::unique_ptr& stmt : cases) { const SwitchCase& c = stmt->as(); - SpvId label = this->nextId(); + SpvId label = this->nextId(nullptr); labels.push_back(label); if (c.value()) { size += 2; @@ -3322,7 +3294,7 @@ void SPIRVCodeGenerator::writeUniformBuffer(std::shared_ptr topLeve } void SPIRVCodeGenerator::writeInstructions(const Program& program, OutputStream& out) { - fGLSLExtendedInstructions = this->nextId(); + fGLSLExtendedInstructions = this->nextId(nullptr); StringStream body; // Assign SpvIds to functions. const FunctionDeclaration* main = nullptr; @@ -3330,7 +3302,7 @@ void SPIRVCodeGenerator::writeInstructions(const Program& program, OutputStream& if (e->is()) { const FunctionDefinition& funcDef = e->as(); const FunctionDeclaration& funcDecl = funcDef.declaration(); - fFunctionMap[&funcDecl] = this->nextId(); + fFunctionMap[&funcDecl] = this->nextId(nullptr); if (funcDecl.name() == "main") { main = &funcDecl; } @@ -3374,7 +3346,7 @@ void SPIRVCodeGenerator::writeInstructions(const Program& program, OutputStream& if (main->returnType() == *fContext.fTypes.fHalf4) { adapter = this->writeEntrypointAdapter(*main); if (adapter.entrypointDecl) { - fFunctionMap[adapter.entrypointDecl.get()] = this->nextId(); + fFunctionMap[adapter.entrypointDecl.get()] = this->nextId(nullptr); this->writeFunction(*adapter.entrypointDef, body); main = adapter.entrypointDecl.get(); } diff --git a/src/sksl/SkSLSPIRVCodeGenerator.h b/src/sksl/SkSLSPIRVCodeGenerator.h index f15cef1cc6..d48aaa63b7 100644 --- a/src/sksl/SkSLSPIRVCodeGenerator.h +++ b/src/sksl/SkSLSPIRVCodeGenerator.h @@ -156,13 +156,19 @@ private: }; enum class Precision { - kLow, - kHigh, + kDefault, + kRelaxed, }; void setupIntrinsics(); - SpvId nextId(); + /** + * Pass in the type to automatically add a RelaxedPrecision decoration for the id when + * appropriate, or null to never add one. + */ + SpvId nextId(const Type* type); + + SpvId nextId(Precision precision); const Type& getActualType(const Type& type); @@ -179,10 +185,6 @@ private: SpvId getPointerType(const Type& type, const MemoryLayout& layout, SpvStorageClass_ storageClass); - void writePrecisionModifier(Precision precision, SpvId id); - - void writePrecisionModifier(const Type& type, SpvId id); - std::vector getAccessChain(const Expression& expr, OutputStream& out); void writeLayout(const Layout& layout, SpvId target); diff --git a/src/sksl/ir/SkSLType.h b/src/sksl/ir/SkSLType.h index 4f3aa64aa6..beb1cd1cfe 100644 --- a/src/sksl/ir/SkSLType.h +++ b/src/sksl/ir/SkSLType.h @@ -351,6 +351,10 @@ public: return fIsSampled; } + bool hasPrecision() const { + return this->componentType().isNumber() || fTypeKind == TypeKind::kSampler; + } + bool highPrecision() const { if (fComponentType) { return fComponentType->highPrecision(); diff --git a/tests/sksl/blend/BlendClear.asm.frag b/tests/sksl/blend/BlendClear.asm.frag index 57d2af42ae..b3319db32b 100644 --- a/tests/sksl/blend/BlendClear.asm.frag +++ b/tests/sksl/blend/BlendClear.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendColor.asm.frag b/tests/sksl/blend/BlendColor.asm.frag index d564d23e35..fb3a125cd1 100644 --- a/tests/sksl/blend/BlendColor.asm.frag +++ b/tests/sksl/blend/BlendColor.asm.frag @@ -28,7 +28,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision @@ -37,6 +36,7 @@ OpDecorate %31 RelaxedPrecision OpDecorate %33 RelaxedPrecision OpDecorate %34 RelaxedPrecision OpDecorate %35 RelaxedPrecision +OpDecorate %37 RelaxedPrecision OpDecorate %41 RelaxedPrecision OpDecorate %43 RelaxedPrecision OpDecorate %45 RelaxedPrecision @@ -52,15 +52,18 @@ OpDecorate %71 RelaxedPrecision OpDecorate %72 RelaxedPrecision OpDecorate %73 RelaxedPrecision OpDecorate %74 RelaxedPrecision +OpDecorate %76 RelaxedPrecision OpDecorate %77 RelaxedPrecision OpDecorate %78 RelaxedPrecision OpDecorate %79 RelaxedPrecision +OpDecorate %82 RelaxedPrecision OpDecorate %83 RelaxedPrecision OpDecorate %84 RelaxedPrecision OpDecorate %88 RelaxedPrecision OpDecorate %89 RelaxedPrecision OpDecorate %96 RelaxedPrecision OpDecorate %97 RelaxedPrecision +OpDecorate %99 RelaxedPrecision OpDecorate %100 RelaxedPrecision OpDecorate %101 RelaxedPrecision OpDecorate %102 RelaxedPrecision @@ -70,6 +73,7 @@ OpDecorate %107 RelaxedPrecision OpDecorate %108 RelaxedPrecision OpDecorate %109 RelaxedPrecision OpDecorate %110 RelaxedPrecision +OpDecorate %115 RelaxedPrecision OpDecorate %116 RelaxedPrecision OpDecorate %123 RelaxedPrecision OpDecorate %125 RelaxedPrecision diff --git a/tests/sksl/blend/BlendColorBurn.asm.frag b/tests/sksl/blend/BlendColorBurn.asm.frag index e3c6373418..9a72ecf222 100644 --- a/tests/sksl/blend/BlendColorBurn.asm.frag +++ b/tests/sksl/blend/BlendColorBurn.asm.frag @@ -19,7 +19,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendColorDodge.asm.frag b/tests/sksl/blend/BlendColorDodge.asm.frag index c4c1f2c834..9a31f5be37 100644 --- a/tests/sksl/blend/BlendColorDodge.asm.frag +++ b/tests/sksl/blend/BlendColorDodge.asm.frag @@ -19,7 +19,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendDarken.asm.frag b/tests/sksl/blend/BlendDarken.asm.frag index 25a5e0f8c5..dadf13f983 100644 --- a/tests/sksl/blend/BlendDarken.asm.frag +++ b/tests/sksl/blend/BlendDarken.asm.frag @@ -18,7 +18,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendDifference.asm.frag b/tests/sksl/blend/BlendDifference.asm.frag index 4b1debc6e9..9403102c0f 100644 --- a/tests/sksl/blend/BlendDifference.asm.frag +++ b/tests/sksl/blend/BlendDifference.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendDst.asm.frag b/tests/sksl/blend/BlendDst.asm.frag index 71abf25f0a..c7d536cc57 100644 --- a/tests/sksl/blend/BlendDst.asm.frag +++ b/tests/sksl/blend/BlendDst.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendDstAtop.asm.frag b/tests/sksl/blend/BlendDstAtop.asm.frag index 1aae8de953..7c22caaa5e 100644 --- a/tests/sksl/blend/BlendDstAtop.asm.frag +++ b/tests/sksl/blend/BlendDstAtop.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendDstIn.asm.frag b/tests/sksl/blend/BlendDstIn.asm.frag index 8093df6e0f..4a19c9a3bf 100644 --- a/tests/sksl/blend/BlendDstIn.asm.frag +++ b/tests/sksl/blend/BlendDstIn.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendDstOut.asm.frag b/tests/sksl/blend/BlendDstOut.asm.frag index baf745de43..cc76704835 100644 --- a/tests/sksl/blend/BlendDstOut.asm.frag +++ b/tests/sksl/blend/BlendDstOut.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendDstOver.asm.frag b/tests/sksl/blend/BlendDstOver.asm.frag index 38c382a15b..fc3d4d846f 100644 --- a/tests/sksl/blend/BlendDstOver.asm.frag +++ b/tests/sksl/blend/BlendDstOver.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendEnum.asm.frag b/tests/sksl/blend/BlendEnum.asm.frag index f19145b4fd..67b2ab58f6 100644 --- a/tests/sksl/blend/BlendEnum.asm.frag +++ b/tests/sksl/blend/BlendEnum.asm.frag @@ -66,7 +66,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision @@ -245,8 +244,8 @@ OpDecorate %367 RelaxedPrecision OpDecorate %369 RelaxedPrecision OpDecorate %370 RelaxedPrecision OpDecorate %371 RelaxedPrecision -OpDecorate %374 RelaxedPrecision OpDecorate %373 RelaxedPrecision +OpDecorate %374 RelaxedPrecision OpDecorate %376 RelaxedPrecision OpDecorate %378 RelaxedPrecision OpDecorate %379 RelaxedPrecision @@ -332,6 +331,7 @@ OpDecorate %514 RelaxedPrecision OpDecorate %516 RelaxedPrecision OpDecorate %517 RelaxedPrecision OpDecorate %518 RelaxedPrecision +OpDecorate %520 RelaxedPrecision OpDecorate %524 RelaxedPrecision OpDecorate %526 RelaxedPrecision OpDecorate %528 RelaxedPrecision @@ -347,15 +347,18 @@ OpDecorate %553 RelaxedPrecision OpDecorate %554 RelaxedPrecision OpDecorate %555 RelaxedPrecision OpDecorate %556 RelaxedPrecision +OpDecorate %558 RelaxedPrecision OpDecorate %559 RelaxedPrecision OpDecorate %560 RelaxedPrecision OpDecorate %561 RelaxedPrecision +OpDecorate %564 RelaxedPrecision OpDecorate %565 RelaxedPrecision OpDecorate %566 RelaxedPrecision OpDecorate %570 RelaxedPrecision OpDecorate %571 RelaxedPrecision OpDecorate %578 RelaxedPrecision OpDecorate %579 RelaxedPrecision +OpDecorate %581 RelaxedPrecision OpDecorate %582 RelaxedPrecision OpDecorate %583 RelaxedPrecision OpDecorate %584 RelaxedPrecision @@ -365,6 +368,7 @@ OpDecorate %589 RelaxedPrecision OpDecorate %590 RelaxedPrecision OpDecorate %591 RelaxedPrecision OpDecorate %592 RelaxedPrecision +OpDecorate %596 RelaxedPrecision OpDecorate %597 RelaxedPrecision OpDecorate %602 RelaxedPrecision OpDecorate %604 RelaxedPrecision @@ -554,6 +558,7 @@ OpDecorate %1047 RelaxedPrecision OpDecorate %1048 RelaxedPrecision OpDecorate %1049 RelaxedPrecision OpDecorate %1050 RelaxedPrecision +OpDecorate %1052 RelaxedPrecision OpDecorate %1053 RelaxedPrecision OpDecorate %1054 RelaxedPrecision OpDecorate %1055 RelaxedPrecision diff --git a/tests/sksl/blend/BlendExclusion.asm.frag b/tests/sksl/blend/BlendExclusion.asm.frag index d67d16dfe4..b16c77ae93 100644 --- a/tests/sksl/blend/BlendExclusion.asm.frag +++ b/tests/sksl/blend/BlendExclusion.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendHardLight.asm.frag b/tests/sksl/blend/BlendHardLight.asm.frag index 2bdf0fb2a0..6089b4def8 100644 --- a/tests/sksl/blend/BlendHardLight.asm.frag +++ b/tests/sksl/blend/BlendHardLight.asm.frag @@ -19,7 +19,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendHue.asm.frag b/tests/sksl/blend/BlendHue.asm.frag index 91e9ec54de..5288f66b55 100644 --- a/tests/sksl/blend/BlendHue.asm.frag +++ b/tests/sksl/blend/BlendHue.asm.frag @@ -33,7 +33,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision @@ -42,6 +41,7 @@ OpDecorate %33 RelaxedPrecision OpDecorate %35 RelaxedPrecision OpDecorate %36 RelaxedPrecision OpDecorate %37 RelaxedPrecision +OpDecorate %39 RelaxedPrecision OpDecorate %43 RelaxedPrecision OpDecorate %45 RelaxedPrecision OpDecorate %47 RelaxedPrecision @@ -57,15 +57,18 @@ OpDecorate %73 RelaxedPrecision OpDecorate %74 RelaxedPrecision OpDecorate %75 RelaxedPrecision OpDecorate %76 RelaxedPrecision +OpDecorate %78 RelaxedPrecision OpDecorate %79 RelaxedPrecision OpDecorate %80 RelaxedPrecision OpDecorate %81 RelaxedPrecision +OpDecorate %84 RelaxedPrecision OpDecorate %85 RelaxedPrecision OpDecorate %86 RelaxedPrecision OpDecorate %90 RelaxedPrecision OpDecorate %91 RelaxedPrecision OpDecorate %98 RelaxedPrecision OpDecorate %99 RelaxedPrecision +OpDecorate %101 RelaxedPrecision OpDecorate %102 RelaxedPrecision OpDecorate %103 RelaxedPrecision OpDecorate %104 RelaxedPrecision @@ -75,6 +78,7 @@ OpDecorate %109 RelaxedPrecision OpDecorate %110 RelaxedPrecision OpDecorate %111 RelaxedPrecision OpDecorate %112 RelaxedPrecision +OpDecorate %117 RelaxedPrecision OpDecorate %118 RelaxedPrecision OpDecorate %123 RelaxedPrecision OpDecorate %125 RelaxedPrecision diff --git a/tests/sksl/blend/BlendLighten.asm.frag b/tests/sksl/blend/BlendLighten.asm.frag index bbd5c1bd83..ef61bd446e 100644 --- a/tests/sksl/blend/BlendLighten.asm.frag +++ b/tests/sksl/blend/BlendLighten.asm.frag @@ -18,7 +18,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendLuminosity.asm.frag b/tests/sksl/blend/BlendLuminosity.asm.frag index d4eedd6bb2..16e6f71be5 100644 --- a/tests/sksl/blend/BlendLuminosity.asm.frag +++ b/tests/sksl/blend/BlendLuminosity.asm.frag @@ -28,7 +28,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision @@ -37,6 +36,7 @@ OpDecorate %31 RelaxedPrecision OpDecorate %33 RelaxedPrecision OpDecorate %34 RelaxedPrecision OpDecorate %35 RelaxedPrecision +OpDecorate %37 RelaxedPrecision OpDecorate %41 RelaxedPrecision OpDecorate %43 RelaxedPrecision OpDecorate %45 RelaxedPrecision @@ -52,15 +52,18 @@ OpDecorate %71 RelaxedPrecision OpDecorate %72 RelaxedPrecision OpDecorate %73 RelaxedPrecision OpDecorate %74 RelaxedPrecision +OpDecorate %76 RelaxedPrecision OpDecorate %77 RelaxedPrecision OpDecorate %78 RelaxedPrecision OpDecorate %79 RelaxedPrecision +OpDecorate %82 RelaxedPrecision OpDecorate %83 RelaxedPrecision OpDecorate %84 RelaxedPrecision OpDecorate %88 RelaxedPrecision OpDecorate %89 RelaxedPrecision OpDecorate %96 RelaxedPrecision OpDecorate %97 RelaxedPrecision +OpDecorate %99 RelaxedPrecision OpDecorate %100 RelaxedPrecision OpDecorate %101 RelaxedPrecision OpDecorate %102 RelaxedPrecision @@ -70,6 +73,7 @@ OpDecorate %107 RelaxedPrecision OpDecorate %108 RelaxedPrecision OpDecorate %109 RelaxedPrecision OpDecorate %110 RelaxedPrecision +OpDecorate %115 RelaxedPrecision OpDecorate %116 RelaxedPrecision OpDecorate %123 RelaxedPrecision OpDecorate %125 RelaxedPrecision diff --git a/tests/sksl/blend/BlendModulate.asm.frag b/tests/sksl/blend/BlendModulate.asm.frag index 3c3fc0fc90..d842b299a3 100644 --- a/tests/sksl/blend/BlendModulate.asm.frag +++ b/tests/sksl/blend/BlendModulate.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendMultiply.asm.frag b/tests/sksl/blend/BlendMultiply.asm.frag index 3d8ab6f7f6..6ab4b2d198 100644 --- a/tests/sksl/blend/BlendMultiply.asm.frag +++ b/tests/sksl/blend/BlendMultiply.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendOverlay.asm.frag b/tests/sksl/blend/BlendOverlay.asm.frag index f146a899d3..3e4eee1d26 100644 --- a/tests/sksl/blend/BlendOverlay.asm.frag +++ b/tests/sksl/blend/BlendOverlay.asm.frag @@ -19,7 +19,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendPlus.asm.frag b/tests/sksl/blend/BlendPlus.asm.frag index ce57ecc2a4..26b3f46a8e 100644 --- a/tests/sksl/blend/BlendPlus.asm.frag +++ b/tests/sksl/blend/BlendPlus.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendSaturation.asm.frag b/tests/sksl/blend/BlendSaturation.asm.frag index 278fbe3257..23cc785ee2 100644 --- a/tests/sksl/blend/BlendSaturation.asm.frag +++ b/tests/sksl/blend/BlendSaturation.asm.frag @@ -33,7 +33,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision @@ -42,6 +41,7 @@ OpDecorate %33 RelaxedPrecision OpDecorate %35 RelaxedPrecision OpDecorate %36 RelaxedPrecision OpDecorate %37 RelaxedPrecision +OpDecorate %39 RelaxedPrecision OpDecorate %43 RelaxedPrecision OpDecorate %45 RelaxedPrecision OpDecorate %47 RelaxedPrecision @@ -57,15 +57,18 @@ OpDecorate %73 RelaxedPrecision OpDecorate %74 RelaxedPrecision OpDecorate %75 RelaxedPrecision OpDecorate %76 RelaxedPrecision +OpDecorate %78 RelaxedPrecision OpDecorate %79 RelaxedPrecision OpDecorate %80 RelaxedPrecision OpDecorate %81 RelaxedPrecision +OpDecorate %84 RelaxedPrecision OpDecorate %85 RelaxedPrecision OpDecorate %86 RelaxedPrecision OpDecorate %90 RelaxedPrecision OpDecorate %91 RelaxedPrecision OpDecorate %98 RelaxedPrecision OpDecorate %99 RelaxedPrecision +OpDecorate %101 RelaxedPrecision OpDecorate %102 RelaxedPrecision OpDecorate %103 RelaxedPrecision OpDecorate %104 RelaxedPrecision @@ -75,6 +78,7 @@ OpDecorate %109 RelaxedPrecision OpDecorate %110 RelaxedPrecision OpDecorate %111 RelaxedPrecision OpDecorate %112 RelaxedPrecision +OpDecorate %117 RelaxedPrecision OpDecorate %118 RelaxedPrecision OpDecorate %123 RelaxedPrecision OpDecorate %125 RelaxedPrecision diff --git a/tests/sksl/blend/BlendScreen.asm.frag b/tests/sksl/blend/BlendScreen.asm.frag index fff29c57eb..c511943ad6 100644 --- a/tests/sksl/blend/BlendScreen.asm.frag +++ b/tests/sksl/blend/BlendScreen.asm.frag @@ -16,12 +16,12 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision OpDecorate %16 RelaxedPrecision OpDecorate %18 RelaxedPrecision +OpDecorate %20 RelaxedPrecision OpDecorate %21 RelaxedPrecision OpDecorate %22 RelaxedPrecision OpDecorate %23 RelaxedPrecision diff --git a/tests/sksl/blend/BlendSoftLight.asm.frag b/tests/sksl/blend/BlendSoftLight.asm.frag index 9d20437e6b..25d5d1c703 100644 --- a/tests/sksl/blend/BlendSoftLight.asm.frag +++ b/tests/sksl/blend/BlendSoftLight.asm.frag @@ -23,7 +23,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision @@ -47,8 +46,8 @@ OpDecorate %52 RelaxedPrecision OpDecorate %54 RelaxedPrecision OpDecorate %55 RelaxedPrecision OpDecorate %56 RelaxedPrecision -OpDecorate %59 RelaxedPrecision OpDecorate %58 RelaxedPrecision +OpDecorate %59 RelaxedPrecision OpDecorate %61 RelaxedPrecision OpDecorate %63 RelaxedPrecision OpDecorate %64 RelaxedPrecision diff --git a/tests/sksl/blend/BlendSrc.asm.frag b/tests/sksl/blend/BlendSrc.asm.frag index 5daf9e000b..b4d40455b2 100644 --- a/tests/sksl/blend/BlendSrc.asm.frag +++ b/tests/sksl/blend/BlendSrc.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendSrcAtop.asm.frag b/tests/sksl/blend/BlendSrcAtop.asm.frag index 1aae8de953..7c22caaa5e 100644 --- a/tests/sksl/blend/BlendSrcAtop.asm.frag +++ b/tests/sksl/blend/BlendSrcAtop.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendSrcIn.asm.frag b/tests/sksl/blend/BlendSrcIn.asm.frag index 3a48439b92..41f2c56e72 100644 --- a/tests/sksl/blend/BlendSrcIn.asm.frag +++ b/tests/sksl/blend/BlendSrcIn.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendSrcOut.asm.frag b/tests/sksl/blend/BlendSrcOut.asm.frag index 731df89944..89cecbb4ac 100644 --- a/tests/sksl/blend/BlendSrcOut.asm.frag +++ b/tests/sksl/blend/BlendSrcOut.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendSrcOver.asm.frag b/tests/sksl/blend/BlendSrcOver.asm.frag index d68225eb16..58091684a3 100644 --- a/tests/sksl/blend/BlendSrcOver.asm.frag +++ b/tests/sksl/blend/BlendSrcOver.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/blend/BlendXor.asm.frag b/tests/sksl/blend/BlendXor.asm.frag index 3e9b525282..95c7d28f7d 100644 --- a/tests/sksl/blend/BlendXor.asm.frag +++ b/tests/sksl/blend/BlendXor.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %src RelaxedPrecision OpDecorate %dst RelaxedPrecision diff --git a/tests/sksl/intrinsics/AbsFloat.asm.frag b/tests/sksl/intrinsics/AbsFloat.asm.frag index c763c3586d..e5634766b9 100644 --- a/tests/sksl/intrinsics/AbsFloat.asm.frag +++ b/tests/sksl/intrinsics/AbsFloat.asm.frag @@ -15,7 +15,6 @@ OpName %expected "expected" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/intrinsics/AbsInt.asm.frag b/tests/sksl/intrinsics/AbsInt.asm.frag index 09d62a1f0c..852f1d081a 100644 --- a/tests/sksl/intrinsics/AbsInt.asm.frag +++ b/tests/sksl/intrinsics/AbsInt.asm.frag @@ -15,7 +15,6 @@ OpName %expected "expected" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Acos.asm.frag b/tests/sksl/intrinsics/Acos.asm.frag index b435c1335a..27636c78f9 100644 --- a/tests/sksl/intrinsics/Acos.asm.frag +++ b/tests/sksl/intrinsics/Acos.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Acosh.asm.frag b/tests/sksl/intrinsics/Acosh.asm.frag index 19cdcac308..a7fcfb5c4d 100644 --- a/tests/sksl/intrinsics/Acosh.asm.frag +++ b/tests/sksl/intrinsics/Acosh.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/All.asm.frag b/tests/sksl/intrinsics/All.asm.frag index c16d789d72..e5754ae408 100644 --- a/tests/sksl/intrinsics/All.asm.frag +++ b/tests/sksl/intrinsics/All.asm.frag @@ -10,9 +10,7 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing -OpDecorate %a RelaxedPrecision OpDecorate %17 RelaxedPrecision %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/intrinsics/Any.asm.frag b/tests/sksl/intrinsics/Any.asm.frag index 5c895c1526..0ed3fb1077 100644 --- a/tests/sksl/intrinsics/Any.asm.frag +++ b/tests/sksl/intrinsics/Any.asm.frag @@ -10,9 +10,7 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing -OpDecorate %a RelaxedPrecision OpDecorate %17 RelaxedPrecision %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/intrinsics/Asin.asm.frag b/tests/sksl/intrinsics/Asin.asm.frag index 52d5943bea..e445faae8c 100644 --- a/tests/sksl/intrinsics/Asin.asm.frag +++ b/tests/sksl/intrinsics/Asin.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Asinh.asm.frag b/tests/sksl/intrinsics/Asinh.asm.frag index 68a21b584c..ca19a11a57 100644 --- a/tests/sksl/intrinsics/Asinh.asm.frag +++ b/tests/sksl/intrinsics/Asinh.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Atan.asm.frag b/tests/sksl/intrinsics/Atan.asm.frag index 04e286b86c..3a814b5fd8 100644 --- a/tests/sksl/intrinsics/Atan.asm.frag +++ b/tests/sksl/intrinsics/Atan.asm.frag @@ -18,7 +18,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/Atanh.asm.frag b/tests/sksl/intrinsics/Atanh.asm.frag index 25722d8174..88c743f4fa 100644 --- a/tests/sksl/intrinsics/Atanh.asm.frag +++ b/tests/sksl/intrinsics/Atanh.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/BitCount.asm.frag b/tests/sksl/intrinsics/BitCount.asm.frag index a7b89ba084..1a9f2f5fd3 100644 --- a/tests/sksl/intrinsics/BitCount.asm.frag +++ b/tests/sksl/intrinsics/BitCount.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/intrinsics/Ceil.asm.frag b/tests/sksl/intrinsics/Ceil.asm.frag index e425ee8479..d4c07babc4 100644 --- a/tests/sksl/intrinsics/Ceil.asm.frag +++ b/tests/sksl/intrinsics/Ceil.asm.frag @@ -15,7 +15,6 @@ OpName %expected "expected" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/intrinsics/ClampFloat.asm.frag b/tests/sksl/intrinsics/ClampFloat.asm.frag index 8598f0aabf..2a25778bff 100644 --- a/tests/sksl/intrinsics/ClampFloat.asm.frag +++ b/tests/sksl/intrinsics/ClampFloat.asm.frag @@ -18,7 +18,6 @@ OpName %clampHigh "clampHigh" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/intrinsics/ClampInt.asm.frag b/tests/sksl/intrinsics/ClampInt.asm.frag index 92dc3a7558..020cd1c388 100644 --- a/tests/sksl/intrinsics/ClampInt.asm.frag +++ b/tests/sksl/intrinsics/ClampInt.asm.frag @@ -19,7 +19,6 @@ OpName %clampHigh "clampHigh" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Cos.asm.frag b/tests/sksl/intrinsics/Cos.asm.frag index 8c5d1111e1..cb6d3fac7a 100644 --- a/tests/sksl/intrinsics/Cos.asm.frag +++ b/tests/sksl/intrinsics/Cos.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Cosh.asm.frag b/tests/sksl/intrinsics/Cosh.asm.frag index 5960d73514..9871de13d2 100644 --- a/tests/sksl/intrinsics/Cosh.asm.frag +++ b/tests/sksl/intrinsics/Cosh.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Cross.asm.frag b/tests/sksl/intrinsics/Cross.asm.frag index ea2e58c6ca..8b7b130f5d 100644 --- a/tests/sksl/intrinsics/Cross.asm.frag +++ b/tests/sksl/intrinsics/Cross.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/DFdx.asm.frag b/tests/sksl/intrinsics/DFdx.asm.frag index 97079fa1d2..e8975cb1cf 100644 --- a/tests/sksl/intrinsics/DFdx.asm.frag +++ b/tests/sksl/intrinsics/DFdx.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/DFdy.asm.frag b/tests/sksl/intrinsics/DFdy.asm.frag index ecfdda3b65..3563914d8f 100644 --- a/tests/sksl/intrinsics/DFdy.asm.frag +++ b/tests/sksl/intrinsics/DFdy.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Degrees.asm.frag b/tests/sksl/intrinsics/Degrees.asm.frag index 0d3aaeae64..3e01c1ab2f 100644 --- a/tests/sksl/intrinsics/Degrees.asm.frag +++ b/tests/sksl/intrinsics/Degrees.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Determinant.asm.frag b/tests/sksl/intrinsics/Determinant.asm.frag index 53f8fa8b04..38dfd30eaf 100644 --- a/tests/sksl/intrinsics/Determinant.asm.frag +++ b/tests/sksl/intrinsics/Determinant.asm.frag @@ -10,7 +10,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %17 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Distance.asm.frag b/tests/sksl/intrinsics/Distance.asm.frag index 2909349e56..bd7655212e 100644 --- a/tests/sksl/intrinsics/Distance.asm.frag +++ b/tests/sksl/intrinsics/Distance.asm.frag @@ -18,7 +18,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/Dot.asm.frag b/tests/sksl/intrinsics/Dot.asm.frag index f23a5df0db..f227278119 100644 --- a/tests/sksl/intrinsics/Dot.asm.frag +++ b/tests/sksl/intrinsics/Dot.asm.frag @@ -18,7 +18,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/Equal.asm.frag b/tests/sksl/intrinsics/Equal.asm.frag index f6ceaa3b76..c23f3b2a98 100644 --- a/tests/sksl/intrinsics/Equal.asm.frag +++ b/tests/sksl/intrinsics/Equal.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/Exp.asm.frag b/tests/sksl/intrinsics/Exp.asm.frag index 584df368a1..066ac1b3ad 100644 --- a/tests/sksl/intrinsics/Exp.asm.frag +++ b/tests/sksl/intrinsics/Exp.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Exp2.asm.frag b/tests/sksl/intrinsics/Exp2.asm.frag index 30a996d3f6..02cf1ada5e 100644 --- a/tests/sksl/intrinsics/Exp2.asm.frag +++ b/tests/sksl/intrinsics/Exp2.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/FaceForward.asm.frag b/tests/sksl/intrinsics/FaceForward.asm.frag index 1f50dda11f..e4d8230dd3 100644 --- a/tests/sksl/intrinsics/FaceForward.asm.frag +++ b/tests/sksl/intrinsics/FaceForward.asm.frag @@ -20,7 +20,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/FindLSB.asm.frag b/tests/sksl/intrinsics/FindLSB.asm.frag index b758423449..73f6f307ca 100644 --- a/tests/sksl/intrinsics/FindLSB.asm.frag +++ b/tests/sksl/intrinsics/FindLSB.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/intrinsics/FindMSB.asm.frag b/tests/sksl/intrinsics/FindMSB.asm.frag index 135a58c6a3..d93cdc5ea9 100644 --- a/tests/sksl/intrinsics/FindMSB.asm.frag +++ b/tests/sksl/intrinsics/FindMSB.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/intrinsics/FloatBitsToInt.asm.frag b/tests/sksl/intrinsics/FloatBitsToInt.asm.frag index 8b7bcecfd6..d45a031ca6 100644 --- a/tests/sksl/intrinsics/FloatBitsToInt.asm.frag +++ b/tests/sksl/intrinsics/FloatBitsToInt.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/intrinsics/FloatBitsToUint.asm.frag b/tests/sksl/intrinsics/FloatBitsToUint.asm.frag index f280e161b9..abcaa2db1e 100644 --- a/tests/sksl/intrinsics/FloatBitsToUint.asm.frag +++ b/tests/sksl/intrinsics/FloatBitsToUint.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/intrinsics/Floor.asm.frag b/tests/sksl/intrinsics/Floor.asm.frag index 1fd3c458bf..1033d93061 100644 --- a/tests/sksl/intrinsics/Floor.asm.frag +++ b/tests/sksl/intrinsics/Floor.asm.frag @@ -15,7 +15,6 @@ OpName %expected "expected" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Fma.asm.frag b/tests/sksl/intrinsics/Fma.asm.frag index b0c8f73959..dc97e17e53 100644 --- a/tests/sksl/intrinsics/Fma.asm.frag +++ b/tests/sksl/intrinsics/Fma.asm.frag @@ -17,7 +17,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/Fract.asm.frag b/tests/sksl/intrinsics/Fract.asm.frag index d950b36f20..624e725a7d 100644 --- a/tests/sksl/intrinsics/Fract.asm.frag +++ b/tests/sksl/intrinsics/Fract.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Frexp.asm.frag b/tests/sksl/intrinsics/Frexp.asm.frag index 7c95861b21..2d3c004db6 100644 --- a/tests/sksl/intrinsics/Frexp.asm.frag +++ b/tests/sksl/intrinsics/Frexp.asm.frag @@ -22,7 +22,6 @@ OpName %ok "ok" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Fwidth.asm.frag b/tests/sksl/intrinsics/Fwidth.asm.frag index cd6d1708f7..9980c907ed 100644 --- a/tests/sksl/intrinsics/Fwidth.asm.frag +++ b/tests/sksl/intrinsics/Fwidth.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/GreaterThan.asm.frag b/tests/sksl/intrinsics/GreaterThan.asm.frag index 38936f25db..648ad3452f 100644 --- a/tests/sksl/intrinsics/GreaterThan.asm.frag +++ b/tests/sksl/intrinsics/GreaterThan.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/GreaterThanEqual.asm.frag b/tests/sksl/intrinsics/GreaterThanEqual.asm.frag index 5ce3f87fe7..55210376e1 100644 --- a/tests/sksl/intrinsics/GreaterThanEqual.asm.frag +++ b/tests/sksl/intrinsics/GreaterThanEqual.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/IntBitsToFloat.asm.frag b/tests/sksl/intrinsics/IntBitsToFloat.asm.frag index 6dac3a0e83..80264defbc 100644 --- a/tests/sksl/intrinsics/IntBitsToFloat.asm.frag +++ b/tests/sksl/intrinsics/IntBitsToFloat.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/intrinsics/Inverse.asm.frag b/tests/sksl/intrinsics/Inverse.asm.frag index 6e22ba2236..a5781f4785 100644 --- a/tests/sksl/intrinsics/Inverse.asm.frag +++ b/tests/sksl/intrinsics/Inverse.asm.frag @@ -10,7 +10,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %19 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Inversesqrt.asm.frag b/tests/sksl/intrinsics/Inversesqrt.asm.frag index dca22afb61..f1adf57514 100644 --- a/tests/sksl/intrinsics/Inversesqrt.asm.frag +++ b/tests/sksl/intrinsics/Inversesqrt.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/intrinsics/IsInf.asm.frag b/tests/sksl/intrinsics/IsInf.asm.frag index e42a2e4c6c..4419197e62 100644 --- a/tests/sksl/intrinsics/IsInf.asm.frag +++ b/tests/sksl/intrinsics/IsInf.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/IsNan.asm.frag b/tests/sksl/intrinsics/IsNan.asm.frag index b532963f32..23d8c50f32 100644 --- a/tests/sksl/intrinsics/IsNan.asm.frag +++ b/tests/sksl/intrinsics/IsNan.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Ldexp.asm.frag b/tests/sksl/intrinsics/Ldexp.asm.frag index 52901deeda..0a556545a7 100644 --- a/tests/sksl/intrinsics/Ldexp.asm.frag +++ b/tests/sksl/intrinsics/Ldexp.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/intrinsics/Length.asm.frag b/tests/sksl/intrinsics/Length.asm.frag index b2e14a2b0e..01efeeb20c 100644 --- a/tests/sksl/intrinsics/Length.asm.frag +++ b/tests/sksl/intrinsics/Length.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/LessThan.asm.frag b/tests/sksl/intrinsics/LessThan.asm.frag index 8b66d52f9a..c827a71c01 100644 --- a/tests/sksl/intrinsics/LessThan.asm.frag +++ b/tests/sksl/intrinsics/LessThan.asm.frag @@ -20,7 +20,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/LessThanEqual.asm.frag b/tests/sksl/intrinsics/LessThanEqual.asm.frag index c16d67d023..59a604b3a8 100644 --- a/tests/sksl/intrinsics/LessThanEqual.asm.frag +++ b/tests/sksl/intrinsics/LessThanEqual.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/Log.asm.frag b/tests/sksl/intrinsics/Log.asm.frag index 4f5e6a6f26..477bb1d0c5 100644 --- a/tests/sksl/intrinsics/Log.asm.frag +++ b/tests/sksl/intrinsics/Log.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Log2.asm.frag b/tests/sksl/intrinsics/Log2.asm.frag index 2aeca2bbd7..6f4cee1086 100644 --- a/tests/sksl/intrinsics/Log2.asm.frag +++ b/tests/sksl/intrinsics/Log2.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/MatrixCompMult.asm.frag b/tests/sksl/intrinsics/MatrixCompMult.asm.frag index 2be1954519..f72eb39141 100644 --- a/tests/sksl/intrinsics/MatrixCompMult.asm.frag +++ b/tests/sksl/intrinsics/MatrixCompMult.asm.frag @@ -13,7 +13,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/MaxFloat.asm.frag b/tests/sksl/intrinsics/MaxFloat.asm.frag index ba40aa2c67..e9c05a89dc 100644 --- a/tests/sksl/intrinsics/MaxFloat.asm.frag +++ b/tests/sksl/intrinsics/MaxFloat.asm.frag @@ -16,7 +16,6 @@ OpName %expectedB "expectedB" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/intrinsics/MaxInt.asm.frag b/tests/sksl/intrinsics/MaxInt.asm.frag index bff952bc02..c7888039c3 100644 --- a/tests/sksl/intrinsics/MaxInt.asm.frag +++ b/tests/sksl/intrinsics/MaxInt.asm.frag @@ -18,7 +18,6 @@ OpName %expectedB "expectedB" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/intrinsics/MinFloat.asm.frag b/tests/sksl/intrinsics/MinFloat.asm.frag index 514c5182da..fb4e40f40c 100644 --- a/tests/sksl/intrinsics/MinFloat.asm.frag +++ b/tests/sksl/intrinsics/MinFloat.asm.frag @@ -16,7 +16,6 @@ OpName %expectedB "expectedB" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/intrinsics/MinInt.asm.frag b/tests/sksl/intrinsics/MinInt.asm.frag index aae81d37ed..b6d5f7a2cc 100644 --- a/tests/sksl/intrinsics/MinInt.asm.frag +++ b/tests/sksl/intrinsics/MinInt.asm.frag @@ -18,7 +18,6 @@ OpName %expectedB "expectedB" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/intrinsics/MixBool.asm.frag b/tests/sksl/intrinsics/MixBool.asm.frag index 0e6f192828..be6a5c2910 100644 --- a/tests/sksl/intrinsics/MixBool.asm.frag +++ b/tests/sksl/intrinsics/MixBool.asm.frag @@ -1,6 +1,6 @@ ### Compilation failed: -error: SPIR-V validation error: Invalid instruction OpExtInst starting at word 577: expected no more operands after 6 words, but stated word count is 8. -SPIR-V validation error: Invalid instruction OpExtInst starting at word 577: expected no more operands after 6 words, but stated word count is 8. +error: SPIR-V validation error: Invalid instruction OpExtInst starting at word 574: expected no more operands after 6 words, but stated word count is 8. +SPIR-V validation error: Invalid instruction OpExtInst starting at word 574: expected no more operands after 6 words, but stated word count is 8. 1 error diff --git a/tests/sksl/intrinsics/MixFloat.asm.frag b/tests/sksl/intrinsics/MixFloat.asm.frag index 5e1401d620..b70894ddbf 100644 --- a/tests/sksl/intrinsics/MixFloat.asm.frag +++ b/tests/sksl/intrinsics/MixFloat.asm.frag @@ -18,7 +18,6 @@ OpName %expectedWT "expectedWT" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Mod.asm.frag b/tests/sksl/intrinsics/Mod.asm.frag index 33c9dae90f..adaa7fc092 100644 --- a/tests/sksl/intrinsics/Mod.asm.frag +++ b/tests/sksl/intrinsics/Mod.asm.frag @@ -18,7 +18,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/Modf.asm.frag b/tests/sksl/intrinsics/Modf.asm.frag index aec21aa067..9ba7c0f42c 100644 --- a/tests/sksl/intrinsics/Modf.asm.frag +++ b/tests/sksl/intrinsics/Modf.asm.frag @@ -22,7 +22,6 @@ OpName %ok "ok" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Normalize.asm.frag b/tests/sksl/intrinsics/Normalize.asm.frag index 7d7547d557..d6865d2700 100644 --- a/tests/sksl/intrinsics/Normalize.asm.frag +++ b/tests/sksl/intrinsics/Normalize.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/Not.asm.frag b/tests/sksl/intrinsics/Not.asm.frag index de55c2d8b4..b7438a8568 100644 --- a/tests/sksl/intrinsics/Not.asm.frag +++ b/tests/sksl/intrinsics/Not.asm.frag @@ -10,9 +10,7 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing -OpDecorate %a RelaxedPrecision OpDecorate %17 RelaxedPrecision %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/intrinsics/NotEqual.asm.frag b/tests/sksl/intrinsics/NotEqual.asm.frag index 07063de67d..0621fe9e2d 100644 --- a/tests/sksl/intrinsics/NotEqual.asm.frag +++ b/tests/sksl/intrinsics/NotEqual.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/OuterProduct.asm.frag b/tests/sksl/intrinsics/OuterProduct.asm.frag index 32d588d1bf..03f96f9c89 100644 --- a/tests/sksl/intrinsics/OuterProduct.asm.frag +++ b/tests/sksl/intrinsics/OuterProduct.asm.frag @@ -20,7 +20,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %h2 RelaxedPrecision OpDecorate %h3 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Pack.asm.frag b/tests/sksl/intrinsics/Pack.asm.frag index 9b3d7bf778..7acfe0ca7e 100644 --- a/tests/sksl/intrinsics/Pack.asm.frag +++ b/tests/sksl/intrinsics/Pack.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/Pow.asm.frag b/tests/sksl/intrinsics/Pow.asm.frag index 30820a0f2f..ae78d34679 100644 --- a/tests/sksl/intrinsics/Pow.asm.frag +++ b/tests/sksl/intrinsics/Pow.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/Radians.asm.frag b/tests/sksl/intrinsics/Radians.asm.frag index f93010dd2b..2d70423ce4 100644 --- a/tests/sksl/intrinsics/Radians.asm.frag +++ b/tests/sksl/intrinsics/Radians.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Reflect.asm.frag b/tests/sksl/intrinsics/Reflect.asm.frag index d4a3112d27..5dfcd61cdd 100644 --- a/tests/sksl/intrinsics/Reflect.asm.frag +++ b/tests/sksl/intrinsics/Reflect.asm.frag @@ -18,7 +18,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/Refract.asm.frag b/tests/sksl/intrinsics/Refract.asm.frag index 7dc1aa6f91..3912207635 100644 --- a/tests/sksl/intrinsics/Refract.asm.frag +++ b/tests/sksl/intrinsics/Refract.asm.frag @@ -19,7 +19,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/Round.asm.frag b/tests/sksl/intrinsics/Round.asm.frag index 7cfe9c57d9..23af31ca7f 100644 --- a/tests/sksl/intrinsics/Round.asm.frag +++ b/tests/sksl/intrinsics/Round.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/RoundEven.asm.frag b/tests/sksl/intrinsics/RoundEven.asm.frag index b3e45e01e1..c46597517d 100644 --- a/tests/sksl/intrinsics/RoundEven.asm.frag +++ b/tests/sksl/intrinsics/RoundEven.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Saturate.asm.frag b/tests/sksl/intrinsics/Saturate.asm.frag index 2e6168f244..b924aee31d 100644 --- a/tests/sksl/intrinsics/Saturate.asm.frag +++ b/tests/sksl/intrinsics/Saturate.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/SignFloat.asm.frag b/tests/sksl/intrinsics/SignFloat.asm.frag index d4f1f82b71..cf3e7f9ce0 100644 --- a/tests/sksl/intrinsics/SignFloat.asm.frag +++ b/tests/sksl/intrinsics/SignFloat.asm.frag @@ -15,7 +15,6 @@ OpName %expected "expected" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Sin.asm.frag b/tests/sksl/intrinsics/Sin.asm.frag index dca9322bef..0f555dcb1a 100644 --- a/tests/sksl/intrinsics/Sin.asm.frag +++ b/tests/sksl/intrinsics/Sin.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Sinh.asm.frag b/tests/sksl/intrinsics/Sinh.asm.frag index 6a750d7d9f..f7e98789ed 100644 --- a/tests/sksl/intrinsics/Sinh.asm.frag +++ b/tests/sksl/intrinsics/Sinh.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Smoothstep.asm.frag b/tests/sksl/intrinsics/Smoothstep.asm.frag index ee810d8201..3752730dc6 100644 --- a/tests/sksl/intrinsics/Smoothstep.asm.frag +++ b/tests/sksl/intrinsics/Smoothstep.asm.frag @@ -17,7 +17,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/Sqrt.asm.frag b/tests/sksl/intrinsics/Sqrt.asm.frag index 1ccb7da9cc..a9816bf0d6 100644 --- a/tests/sksl/intrinsics/Sqrt.asm.frag +++ b/tests/sksl/intrinsics/Sqrt.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Step.asm.frag b/tests/sksl/intrinsics/Step.asm.frag index 40aa7db587..21cb9d6c5f 100644 --- a/tests/sksl/intrinsics/Step.asm.frag +++ b/tests/sksl/intrinsics/Step.asm.frag @@ -16,7 +16,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %b RelaxedPrecision diff --git a/tests/sksl/intrinsics/Tan.asm.frag b/tests/sksl/intrinsics/Tan.asm.frag index 2ab819247e..51f4e53620 100644 --- a/tests/sksl/intrinsics/Tan.asm.frag +++ b/tests/sksl/intrinsics/Tan.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Tanh.asm.frag b/tests/sksl/intrinsics/Tanh.asm.frag index 04544351bb..a6d0fe0389 100644 --- a/tests/sksl/intrinsics/Tanh.asm.frag +++ b/tests/sksl/intrinsics/Tanh.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Transpose.asm.frag b/tests/sksl/intrinsics/Transpose.asm.frag index 4281bb05bf..9dbea84961 100644 --- a/tests/sksl/intrinsics/Transpose.asm.frag +++ b/tests/sksl/intrinsics/Transpose.asm.frag @@ -10,7 +10,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %19 RelaxedPrecision diff --git a/tests/sksl/intrinsics/Trunc.asm.frag b/tests/sksl/intrinsics/Trunc.asm.frag index 6bfaaf2edc..a5355dd23e 100644 --- a/tests/sksl/intrinsics/Trunc.asm.frag +++ b/tests/sksl/intrinsics/Trunc.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %a RelaxedPrecision OpDecorate %16 RelaxedPrecision diff --git a/tests/sksl/intrinsics/UintBitsToFloat.asm.frag b/tests/sksl/intrinsics/UintBitsToFloat.asm.frag index ea572c7103..2bfea11544 100644 --- a/tests/sksl/intrinsics/UintBitsToFloat.asm.frag +++ b/tests/sksl/intrinsics/UintBitsToFloat.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/intrinsics/Unpack.asm.frag b/tests/sksl/intrinsics/Unpack.asm.frag index d62b84c079..8b18187af3 100644 --- a/tests/sksl/intrinsics/Unpack.asm.frag +++ b/tests/sksl/intrinsics/Unpack.asm.frag @@ -15,7 +15,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %20 RelaxedPrecision OpDecorate %24 RelaxedPrecision diff --git a/tests/sksl/shared/ArrayConstructors.asm.frag b/tests/sksl/shared/ArrayConstructors.asm.frag index 2775788c3a..91bfb49c6b 100644 --- a/tests/sksl/shared/ArrayConstructors.asm.frag +++ b/tests/sksl/shared/ArrayConstructors.asm.frag @@ -16,7 +16,6 @@ OpName %test3 "test3" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/ArrayIndexTypes.asm.frag b/tests/sksl/shared/ArrayIndexTypes.asm.frag index c5560df13b..7596b41eca 100644 --- a/tests/sksl/shared/ArrayIndexTypes.asm.frag +++ b/tests/sksl/shared/ArrayIndexTypes.asm.frag @@ -14,7 +14,6 @@ OpName %w "w" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %_arr_float_int_4 ArrayStride 16 OpDecorate %34 RelaxedPrecision diff --git a/tests/sksl/shared/ArrayTypes.asm.frag b/tests/sksl/shared/ArrayTypes.asm.frag index cca8ef64bd..453921a0b6 100644 --- a/tests/sksl/shared/ArrayTypes.asm.frag +++ b/tests/sksl/shared/ArrayTypes.asm.frag @@ -12,7 +12,6 @@ OpName %y "y" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %_arr_v2float_int_2 ArrayStride 16 %float = OpTypeFloat 32 diff --git a/tests/sksl/shared/Assignment.asm.frag b/tests/sksl/shared/Assignment.asm.frag index 5f0e3b4f46..273f8c83a0 100644 --- a/tests/sksl/shared/Assignment.asm.frag +++ b/tests/sksl/shared/Assignment.asm.frag @@ -28,7 +28,6 @@ OpName %r "r" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision @@ -39,10 +38,10 @@ OpDecorate %57 RelaxedPrecision OpDecorate %_arr_int_int_1 ArrayStride 16 OpDecorate %_arr_v4int_int_1 ArrayStride 16 OpDecorate %_arr_mat3v3float_int_1 ArrayStride 48 +OpDecorate %69 RelaxedPrecision OpDecorate %70 RelaxedPrecision OpDecorate %71 RelaxedPrecision OpDecorate %72 RelaxedPrecision -OpDecorate %69 RelaxedPrecision OpDecorate %_arr_v4float_int_1 ArrayStride 16 OpDecorate %_arr_float_int_5 ArrayStride 16 OpDecorate %_arr_v4float_int_5 ArrayStride 16 diff --git a/tests/sksl/shared/Caps.asm.frag b/tests/sksl/shared/Caps.asm.frag index 7fdbac60b8..c46b731f69 100644 --- a/tests/sksl/shared/Caps.asm.frag +++ b/tests/sksl/shared/Caps.asm.frag @@ -12,7 +12,6 @@ OpName %z "z" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %29 RelaxedPrecision %float = OpTypeFloat 32 diff --git a/tests/sksl/shared/CastsRoundTowardZero.asm.frag b/tests/sksl/shared/CastsRoundTowardZero.asm.frag index d8d35f7851..8c8ea416bc 100644 --- a/tests/sksl/shared/CastsRoundTowardZero.asm.frag +++ b/tests/sksl/shared/CastsRoundTowardZero.asm.frag @@ -14,7 +14,6 @@ OpName %ok "ok" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/Clockwise.asm.frag b/tests/sksl/shared/Clockwise.asm.frag index 431275a16d..958b7f8cb7 100644 --- a/tests/sksl/shared/Clockwise.asm.frag +++ b/tests/sksl/shared/Clockwise.asm.frag @@ -9,7 +9,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %13 RelaxedPrecision %float = OpTypeFloat 32 diff --git a/tests/sksl/shared/CommaMixedTypes.asm.frag b/tests/sksl/shared/CommaMixedTypes.asm.frag index 9fdb240222..440b955110 100644 --- a/tests/sksl/shared/CommaMixedTypes.asm.frag +++ b/tests/sksl/shared/CommaMixedTypes.asm.frag @@ -13,7 +13,6 @@ OpName %result "result" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/CommaSideEffects.asm.frag b/tests/sksl/shared/CommaSideEffects.asm.frag index a27e94caa6..c5f8ee7fd5 100644 --- a/tests/sksl/shared/CommaSideEffects.asm.frag +++ b/tests/sksl/shared/CommaSideEffects.asm.frag @@ -20,7 +20,6 @@ OpName %d "d" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/ComplexDelete.asm.frag b/tests/sksl/shared/ComplexDelete.asm.frag index f3c526fba6..30578f4751 100644 --- a/tests/sksl/shared/ComplexDelete.asm.frag +++ b/tests/sksl/shared/ComplexDelete.asm.frag @@ -13,7 +13,6 @@ OpName %tmpColor "tmpColor" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %s RelaxedPrecision OpDecorate %s Binding 0 diff --git a/tests/sksl/shared/ConstArray.asm.frag b/tests/sksl/shared/ConstArray.asm.frag index 87b1b203de..7c7e1e2262 100644 --- a/tests/sksl/shared/ConstArray.asm.frag +++ b/tests/sksl/shared/ConstArray.asm.frag @@ -10,10 +10,9 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing -OpDecorate %_arr_float_int_4 ArrayStride 16 OpDecorate %test RelaxedPrecision +OpDecorate %_arr_float_int_4 ArrayStride 16 OpDecorate %26 RelaxedPrecision OpDecorate %29 RelaxedPrecision OpDecorate %32 RelaxedPrecision diff --git a/tests/sksl/shared/ConstVariableComparison.asm.frag b/tests/sksl/shared/ConstVariableComparison.asm.frag index a6a7836611..d0a89fa276 100644 --- a/tests/sksl/shared/ConstVariableComparison.asm.frag +++ b/tests/sksl/shared/ConstVariableComparison.asm.frag @@ -16,7 +16,6 @@ OpName %c "c" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/ConstantIf.asm.frag b/tests/sksl/shared/ConstantIf.asm.frag index 2997c792ee..72e0f4b145 100644 --- a/tests/sksl/shared/ConstantIf.asm.frag +++ b/tests/sksl/shared/ConstantIf.asm.frag @@ -17,7 +17,6 @@ OpName %d "d" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/Control.asm.frag b/tests/sksl/shared/Control.asm.frag index 76d5da2a0f..d575916bbd 100644 --- a/tests/sksl/shared/Control.asm.frag +++ b/tests/sksl/shared/Control.asm.frag @@ -11,10 +11,10 @@ OpName %i_0 "i" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %34 RelaxedPrecision OpDecorate %45 RelaxedPrecision +OpDecorate %48 RelaxedPrecision OpDecorate %49 RelaxedPrecision %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/DeadDoWhileLoop.asm.frag b/tests/sksl/shared/DeadDoWhileLoop.asm.frag index 8e4eb5cd5d..5ee3446178 100644 --- a/tests/sksl/shared/DeadDoWhileLoop.asm.frag +++ b/tests/sksl/shared/DeadDoWhileLoop.asm.frag @@ -9,7 +9,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/DeadIfStatement.asm.frag b/tests/sksl/shared/DeadIfStatement.asm.frag index 80bb740a8d..048139829d 100644 --- a/tests/sksl/shared/DeadIfStatement.asm.frag +++ b/tests/sksl/shared/DeadIfStatement.asm.frag @@ -14,7 +14,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/DeadLoopVariable.asm.frag b/tests/sksl/shared/DeadLoopVariable.asm.frag index ff6311bc71..a851f475ac 100644 --- a/tests/sksl/shared/DeadLoopVariable.asm.frag +++ b/tests/sksl/shared/DeadLoopVariable.asm.frag @@ -13,7 +13,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/DeadStripFunctions.asm.frag b/tests/sksl/shared/DeadStripFunctions.asm.frag index d7d12e8ab5..f7ecf498d4 100644 --- a/tests/sksl/shared/DeadStripFunctions.asm.frag +++ b/tests/sksl/shared/DeadStripFunctions.asm.frag @@ -19,7 +19,6 @@ OpName %b "b" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/DependentInitializers.asm.frag b/tests/sksl/shared/DependentInitializers.asm.frag index f0af579b1d..daf95616d0 100644 --- a/tests/sksl/shared/DependentInitializers.asm.frag +++ b/tests/sksl/shared/DependentInitializers.asm.frag @@ -15,7 +15,6 @@ OpName %y "y" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/DerivativesUnused.asm.frag b/tests/sksl/shared/DerivativesUnused.asm.frag index a5838527a3..ca858076f4 100644 --- a/tests/sksl/shared/DerivativesUnused.asm.frag +++ b/tests/sksl/shared/DerivativesUnused.asm.frag @@ -9,7 +9,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/Discard.asm.frag b/tests/sksl/shared/Discard.asm.frag index ce6d8fb861..d96bd10652 100644 --- a/tests/sksl/shared/Discard.asm.frag +++ b/tests/sksl/shared/Discard.asm.frag @@ -10,7 +10,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %16 RelaxedPrecision %float = OpTypeFloat 32 diff --git a/tests/sksl/shared/DoWhileControlFlow.asm.frag b/tests/sksl/shared/DoWhileControlFlow.asm.frag index 92e4f9f962..16ed7909df 100644 --- a/tests/sksl/shared/DoWhileControlFlow.asm.frag +++ b/tests/sksl/shared/DoWhileControlFlow.asm.frag @@ -11,7 +11,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %30 RelaxedPrecision OpDecorate %32 RelaxedPrecision diff --git a/tests/sksl/shared/EmptyBlocksES2.asm.frag b/tests/sksl/shared/EmptyBlocksES2.asm.frag index d8157e3875..e6f8c12dab 100644 --- a/tests/sksl/shared/EmptyBlocksES2.asm.frag +++ b/tests/sksl/shared/EmptyBlocksES2.asm.frag @@ -14,7 +14,6 @@ OpName %counter_1 "counter" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %71 RelaxedPrecision %float = OpTypeFloat 32 diff --git a/tests/sksl/shared/EmptyBlocksES3.asm.frag b/tests/sksl/shared/EmptyBlocksES3.asm.frag index 9dd5919980..7ea582eb1c 100644 --- a/tests/sksl/shared/EmptyBlocksES3.asm.frag +++ b/tests/sksl/shared/EmptyBlocksES3.asm.frag @@ -14,7 +14,6 @@ OpName %counter_1 "counter" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %85 RelaxedPrecision %float = OpTypeFloat 32 diff --git a/tests/sksl/shared/ForLoopControlFlow.asm.frag b/tests/sksl/shared/ForLoopControlFlow.asm.frag index 7a89289748..e9df124579 100644 --- a/tests/sksl/shared/ForLoopControlFlow.asm.frag +++ b/tests/sksl/shared/ForLoopControlFlow.asm.frag @@ -15,7 +15,6 @@ OpName %b "b" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/FunctionArgTypeMatch.asm.frag b/tests/sksl/shared/FunctionArgTypeMatch.asm.frag index 3b6afe7079..63b608c3ad 100644 --- a/tests/sksl/shared/FunctionArgTypeMatch.asm.frag +++ b/tests/sksl/shared/FunctionArgTypeMatch.asm.frag @@ -34,7 +34,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision @@ -43,21 +42,18 @@ OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision OpDecorate %_UniformBuffer Block OpDecorate %31 Binding 0 OpDecorate %31 DescriptorSet 0 +OpDecorate %199 RelaxedPrecision OpDecorate %200 RelaxedPrecision OpDecorate %201 RelaxedPrecision -OpDecorate %199 RelaxedPrecision -OpDecorate %199 RelaxedPrecision +OpDecorate %207 RelaxedPrecision OpDecorate %208 RelaxedPrecision OpDecorate %209 RelaxedPrecision OpDecorate %210 RelaxedPrecision -OpDecorate %207 RelaxedPrecision -OpDecorate %207 RelaxedPrecision +OpDecorate %216 RelaxedPrecision OpDecorate %217 RelaxedPrecision OpDecorate %218 RelaxedPrecision OpDecorate %219 RelaxedPrecision OpDecorate %220 RelaxedPrecision -OpDecorate %216 RelaxedPrecision -OpDecorate %216 RelaxedPrecision OpDecorate %281 RelaxedPrecision OpDecorate %283 RelaxedPrecision OpDecorate %284 RelaxedPrecision diff --git a/tests/sksl/shared/FunctionPrototype.asm.frag b/tests/sksl/shared/FunctionPrototype.asm.frag index f761dcc82e..f10ae21e0c 100644 --- a/tests/sksl/shared/FunctionPrototype.asm.frag +++ b/tests/sksl/shared/FunctionPrototype.asm.frag @@ -12,7 +12,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/FunctionReturnTypeMatch.asm.frag b/tests/sksl/shared/FunctionReturnTypeMatch.asm.frag index 14dc7db3b2..df2d62f7bf 100644 --- a/tests/sksl/shared/FunctionReturnTypeMatch.asm.frag +++ b/tests/sksl/shared/FunctionReturnTypeMatch.asm.frag @@ -56,7 +56,6 @@ OpName %x22 "x22" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision @@ -65,36 +64,30 @@ OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision OpDecorate %_UniformBuffer Block OpDecorate %31 Binding 0 OpDecorate %31 DescriptorSet 0 +OpDecorate %82 RelaxedPrecision OpDecorate %83 RelaxedPrecision OpDecorate %84 RelaxedPrecision -OpDecorate %82 RelaxedPrecision -OpDecorate %82 RelaxedPrecision +OpDecorate %86 RelaxedPrecision OpDecorate %87 RelaxedPrecision OpDecorate %88 RelaxedPrecision OpDecorate %89 RelaxedPrecision -OpDecorate %86 RelaxedPrecision -OpDecorate %86 RelaxedPrecision +OpDecorate %91 RelaxedPrecision OpDecorate %92 RelaxedPrecision OpDecorate %93 RelaxedPrecision OpDecorate %94 RelaxedPrecision OpDecorate %95 RelaxedPrecision -OpDecorate %91 RelaxedPrecision -OpDecorate %91 RelaxedPrecision +OpDecorate %162 RelaxedPrecision OpDecorate %163 RelaxedPrecision OpDecorate %164 RelaxedPrecision -OpDecorate %162 RelaxedPrecision -OpDecorate %162 RelaxedPrecision +OpDecorate %166 RelaxedPrecision OpDecorate %167 RelaxedPrecision OpDecorate %168 RelaxedPrecision OpDecorate %169 RelaxedPrecision -OpDecorate %166 RelaxedPrecision -OpDecorate %166 RelaxedPrecision +OpDecorate %171 RelaxedPrecision OpDecorate %172 RelaxedPrecision OpDecorate %173 RelaxedPrecision OpDecorate %174 RelaxedPrecision OpDecorate %175 RelaxedPrecision -OpDecorate %171 RelaxedPrecision -OpDecorate %171 RelaxedPrecision OpDecorate %275 RelaxedPrecision OpDecorate %281 RelaxedPrecision OpDecorate %288 RelaxedPrecision diff --git a/tests/sksl/shared/Functions.asm.frag b/tests/sksl/shared/Functions.asm.frag index cb1dbd358c..063a3ec03e 100644 --- a/tests/sksl/shared/Functions.asm.frag +++ b/tests/sksl/shared/Functions.asm.frag @@ -17,7 +17,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/GaussianBlur.asm.frag b/tests/sksl/shared/GaussianBlur.asm.frag index 7d7105bcd7..80469ee564 100644 --- a/tests/sksl/shared/GaussianBlur.asm.frag +++ b/tests/sksl/shared/GaussianBlur.asm.frag @@ -51,7 +51,6 @@ OpDecorate %6 DescriptorSet 0 OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %uTextureSampler_0_Stage1 RelaxedPrecision OpDecorate %uTextureSampler_0_Stage1 Binding 0 diff --git a/tests/sksl/shared/GeometricIntrinsics.asm.frag b/tests/sksl/shared/GeometricIntrinsics.asm.frag index bfe8bf9212..aab95e5895 100644 --- a/tests/sksl/shared/GeometricIntrinsics.asm.frag +++ b/tests/sksl/shared/GeometricIntrinsics.asm.frag @@ -16,7 +16,6 @@ OpName %y "y" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/HelloWorld.asm.frag b/tests/sksl/shared/HelloWorld.asm.frag index 61d2e7bcf3..2701564c6e 100644 --- a/tests/sksl/shared/HelloWorld.asm.frag +++ b/tests/sksl/shared/HelloWorld.asm.frag @@ -10,7 +10,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/Hex.asm.frag b/tests/sksl/shared/Hex.asm.frag index adfffd7372..84aa88770d 100644 --- a/tests/sksl/shared/Hex.asm.frag +++ b/tests/sksl/shared/Hex.asm.frag @@ -17,7 +17,6 @@ OpName %i5 "i5" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/HexUnsigned.asm.frag b/tests/sksl/shared/HexUnsigned.asm.frag index aab5d10ba3..281531ceb3 100644 --- a/tests/sksl/shared/HexUnsigned.asm.frag +++ b/tests/sksl/shared/HexUnsigned.asm.frag @@ -17,7 +17,6 @@ OpName %u5 "u5" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision @@ -25,6 +24,7 @@ OpDecorate %_UniformBuffer Block OpDecorate %10 Binding 0 OpDecorate %10 DescriptorSet 0 OpDecorate %41 RelaxedPrecision +OpDecorate %42 RelaxedPrecision OpDecorate %47 RelaxedPrecision %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/InterfaceBlockNamed.asm.frag b/tests/sksl/shared/InterfaceBlockNamed.asm.frag index 4a243d7255..ee6eec2f60 100644 --- a/tests/sksl/shared/InterfaceBlockNamed.asm.frag +++ b/tests/sksl/shared/InterfaceBlockNamed.asm.frag @@ -15,7 +15,6 @@ OpDecorate %3 DescriptorSet 0 OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %testBlock = OpTypeStruct %float diff --git a/tests/sksl/shared/InterfaceBlockNamedArray.asm.frag b/tests/sksl/shared/InterfaceBlockNamedArray.asm.frag index c5dc16d3d1..f7419ab45a 100644 --- a/tests/sksl/shared/InterfaceBlockNamedArray.asm.frag +++ b/tests/sksl/shared/InterfaceBlockNamedArray.asm.frag @@ -23,7 +23,6 @@ OpDecorate %3 DescriptorSet 0 OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %testBlock = OpTypeStruct %float diff --git a/tests/sksl/shared/Matrices.asm.frag b/tests/sksl/shared/Matrices.asm.frag index cfb8382981..5b627273b9 100644 --- a/tests/sksl/shared/Matrices.asm.frag +++ b/tests/sksl/shared/Matrices.asm.frag @@ -39,7 +39,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision @@ -48,57 +47,50 @@ OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision OpDecorate %_UniformBuffer Block OpDecorate %12 Binding 0 OpDecorate %12 DescriptorSet 0 +OpDecorate %137 RelaxedPrecision OpDecorate %138 RelaxedPrecision OpDecorate %139 RelaxedPrecision OpDecorate %140 RelaxedPrecision -OpDecorate %137 RelaxedPrecision -OpDecorate %137 RelaxedPrecision +OpDecorate %143 RelaxedPrecision OpDecorate %144 RelaxedPrecision OpDecorate %145 RelaxedPrecision OpDecorate %146 RelaxedPrecision -OpDecorate %143 RelaxedPrecision -OpDecorate %143 RelaxedPrecision +OpDecorate %149 RelaxedPrecision OpDecorate %150 RelaxedPrecision OpDecorate %151 RelaxedPrecision -OpDecorate %149 RelaxedPrecision OpDecorate %153 RelaxedPrecision OpDecorate %161 RelaxedPrecision +OpDecorate %163 RelaxedPrecision OpDecorate %164 RelaxedPrecision OpDecorate %165 RelaxedPrecision -OpDecorate %163 RelaxedPrecision -OpDecorate %163 RelaxedPrecision OpDecorate %166 RelaxedPrecision OpDecorate %167 RelaxedPrecision OpDecorate %171 RelaxedPrecision +OpDecorate %173 RelaxedPrecision OpDecorate %174 RelaxedPrecision OpDecorate %175 RelaxedPrecision -OpDecorate %173 RelaxedPrecision -OpDecorate %173 RelaxedPrecision +OpDecorate %177 RelaxedPrecision OpDecorate %178 RelaxedPrecision OpDecorate %179 RelaxedPrecision -OpDecorate %177 RelaxedPrecision OpDecorate %180 RelaxedPrecision OpDecorate %181 RelaxedPrecision +OpDecorate %190 RelaxedPrecision OpDecorate %191 RelaxedPrecision OpDecorate %192 RelaxedPrecision -OpDecorate %190 RelaxedPrecision +OpDecorate %194 RelaxedPrecision OpDecorate %195 RelaxedPrecision OpDecorate %196 RelaxedPrecision OpDecorate %197 RelaxedPrecision -OpDecorate %194 RelaxedPrecision -OpDecorate %194 RelaxedPrecision +OpDecorate %199 RelaxedPrecision OpDecorate %200 RelaxedPrecision OpDecorate %201 RelaxedPrecision OpDecorate %202 RelaxedPrecision OpDecorate %203 RelaxedPrecision -OpDecorate %199 RelaxedPrecision -OpDecorate %199 RelaxedPrecision +OpDecorate %205 RelaxedPrecision OpDecorate %206 RelaxedPrecision OpDecorate %207 RelaxedPrecision OpDecorate %208 RelaxedPrecision OpDecorate %209 RelaxedPrecision -OpDecorate %205 RelaxedPrecision -OpDecorate %205 RelaxedPrecision OpDecorate %210 RelaxedPrecision OpDecorate %211 RelaxedPrecision OpDecorate %240 RelaxedPrecision diff --git a/tests/sksl/shared/MatrixEquality.asm.frag b/tests/sksl/shared/MatrixEquality.asm.frag index fae53ea90d..77b701bb4e 100644 --- a/tests/sksl/shared/MatrixEquality.asm.frag +++ b/tests/sksl/shared/MatrixEquality.asm.frag @@ -17,7 +17,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision @@ -36,27 +35,26 @@ OpDecorate %11 Binding 0 OpDecorate %11 DescriptorSet 0 OpDecorate %29 RelaxedPrecision OpDecorate %36 RelaxedPrecision +OpDecorate %41 RelaxedPrecision OpDecorate %42 RelaxedPrecision OpDecorate %43 RelaxedPrecision -OpDecorate %41 RelaxedPrecision OpDecorate %55 RelaxedPrecision OpDecorate %61 RelaxedPrecision +OpDecorate %67 RelaxedPrecision OpDecorate %68 RelaxedPrecision OpDecorate %69 RelaxedPrecision OpDecorate %70 RelaxedPrecision -OpDecorate %67 RelaxedPrecision OpDecorate %87 RelaxedPrecision OpDecorate %91 RelaxedPrecision +OpDecorate %93 RelaxedPrecision OpDecorate %95 RelaxedPrecision OpDecorate %96 RelaxedPrecision -OpDecorate %93 RelaxedPrecision -OpDecorate %93 RelaxedPrecision OpDecorate %107 RelaxedPrecision OpDecorate %111 RelaxedPrecision +OpDecorate %112 RelaxedPrecision OpDecorate %113 RelaxedPrecision OpDecorate %114 RelaxedPrecision OpDecorate %115 RelaxedPrecision -OpDecorate %112 RelaxedPrecision OpDecorate %131 RelaxedPrecision OpDecorate %143 RelaxedPrecision OpDecorate %146 RelaxedPrecision diff --git a/tests/sksl/shared/MultipleAssignments.asm.frag b/tests/sksl/shared/MultipleAssignments.asm.frag index 6bfef27744..d6cb7b6277 100644 --- a/tests/sksl/shared/MultipleAssignments.asm.frag +++ b/tests/sksl/shared/MultipleAssignments.asm.frag @@ -15,7 +15,6 @@ OpName %c "c" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %25 RelaxedPrecision OpDecorate %26 RelaxedPrecision diff --git a/tests/sksl/shared/NegatedVectorLiteral.asm.frag b/tests/sksl/shared/NegatedVectorLiteral.asm.frag index 0c8ab69ec8..1cd97f8aae 100644 --- a/tests/sksl/shared/NegatedVectorLiteral.asm.frag +++ b/tests/sksl/shared/NegatedVectorLiteral.asm.frag @@ -21,7 +21,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/NumberCasts.asm.frag b/tests/sksl/shared/NumberCasts.asm.frag index 0c5b51fd5a..8526a23729 100644 --- a/tests/sksl/shared/NumberCasts.asm.frag +++ b/tests/sksl/shared/NumberCasts.asm.frag @@ -13,7 +13,6 @@ OpName %I "I" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %55 RelaxedPrecision OpDecorate %59 RelaxedPrecision diff --git a/tests/sksl/shared/NumberConversions.asm.frag b/tests/sksl/shared/NumberConversions.asm.frag index 0f26e7a68f..2375bc0684 100644 --- a/tests/sksl/shared/NumberConversions.asm.frag +++ b/tests/sksl/shared/NumberConversions.asm.frag @@ -51,7 +51,6 @@ OpName %b2f "b2f" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %39 RelaxedPrecision OpDecorate %43 RelaxedPrecision diff --git a/tests/sksl/shared/Offset.asm.frag b/tests/sksl/shared/Offset.asm.frag index ae00317426..027840126b 100644 --- a/tests/sksl/shared/Offset.asm.frag +++ b/tests/sksl/shared/Offset.asm.frag @@ -14,7 +14,6 @@ OpName %t "t" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %Test 0 Offset 0 OpMemberDecorate %Test 1 Offset 4 diff --git a/tests/sksl/shared/OperatorsES2.asm.frag b/tests/sksl/shared/OperatorsES2.asm.frag index f244e4b5c3..422f6f8d01 100644 --- a/tests/sksl/shared/OperatorsES2.asm.frag +++ b/tests/sksl/shared/OperatorsES2.asm.frag @@ -21,7 +21,6 @@ OpName %f "f" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/OperatorsES3.asm.frag b/tests/sksl/shared/OperatorsES3.asm.frag index 2d30582b87..56077fed8b 100644 --- a/tests/sksl/shared/OperatorsES3.asm.frag +++ b/tests/sksl/shared/OperatorsES3.asm.frag @@ -21,7 +21,6 @@ OpName %f "f" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/Ossfuzz26167.asm.frag b/tests/sksl/shared/Ossfuzz26167.asm.frag index 7b859a1839..1c3c8a8902 100644 --- a/tests/sksl/shared/Ossfuzz26167.asm.frag +++ b/tests/sksl/shared/Ossfuzz26167.asm.frag @@ -8,7 +8,6 @@ OpName %bar "bar" OpName %y "y" OpName %z "z" OpName %main "main" -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %bool = OpTypeBool %_ptr_Input_bool = OpTypePointer Input %bool diff --git a/tests/sksl/shared/Ossfuzz28794.asm.frag b/tests/sksl/shared/Ossfuzz28794.asm.frag index 11517a93ce..96ee527d44 100644 --- a/tests/sksl/shared/Ossfuzz28794.asm.frag +++ b/tests/sksl/shared/Ossfuzz28794.asm.frag @@ -10,7 +10,6 @@ OpName %i "i" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/Ossfuzz28904.asm.frag b/tests/sksl/shared/Ossfuzz28904.asm.frag index 6777fea482..1336c46db0 100644 --- a/tests/sksl/shared/Ossfuzz28904.asm.frag +++ b/tests/sksl/shared/Ossfuzz28904.asm.frag @@ -9,7 +9,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/Ossfuzz29494.asm.frag b/tests/sksl/shared/Ossfuzz29494.asm.frag index 6777fea482..1336c46db0 100644 --- a/tests/sksl/shared/Ossfuzz29494.asm.frag +++ b/tests/sksl/shared/Ossfuzz29494.asm.frag @@ -9,7 +9,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/OutParams.asm.frag b/tests/sksl/shared/OutParams.asm.frag index c902cab4c9..ad93827352 100644 --- a/tests/sksl/shared/OutParams.asm.frag +++ b/tests/sksl/shared/OutParams.asm.frag @@ -65,7 +65,6 @@ OpName %ok "ok" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision @@ -81,23 +80,20 @@ OpDecorate %56 RelaxedPrecision OpDecorate %65 RelaxedPrecision OpDecorate %73 RelaxedPrecision OpDecorate %82 RelaxedPrecision +OpDecorate %84 RelaxedPrecision OpDecorate %86 RelaxedPrecision OpDecorate %87 RelaxedPrecision -OpDecorate %84 RelaxedPrecision -OpDecorate %84 RelaxedPrecision OpDecorate %94 RelaxedPrecision +OpDecorate %96 RelaxedPrecision OpDecorate %97 RelaxedPrecision OpDecorate %98 RelaxedPrecision OpDecorate %99 RelaxedPrecision -OpDecorate %96 RelaxedPrecision -OpDecorate %96 RelaxedPrecision OpDecorate %106 RelaxedPrecision +OpDecorate %108 RelaxedPrecision OpDecorate %109 RelaxedPrecision OpDecorate %110 RelaxedPrecision OpDecorate %111 RelaxedPrecision OpDecorate %112 RelaxedPrecision -OpDecorate %108 RelaxedPrecision -OpDecorate %108 RelaxedPrecision OpDecorate %118 RelaxedPrecision OpDecorate %127 RelaxedPrecision OpDecorate %137 RelaxedPrecision @@ -121,10 +117,6 @@ OpDecorate %260 RelaxedPrecision OpDecorate %261 RelaxedPrecision OpDecorate %264 RelaxedPrecision OpDecorate %266 RelaxedPrecision -OpDecorate %334 RelaxedPrecision -OpDecorate %335 RelaxedPrecision -OpDecorate %338 RelaxedPrecision -OpDecorate %340 RelaxedPrecision OpDecorate %346 RelaxedPrecision OpDecorate %350 RelaxedPrecision OpDecorate %351 RelaxedPrecision diff --git a/tests/sksl/shared/OutParamsTricky.asm.frag b/tests/sksl/shared/OutParamsTricky.asm.frag index e340e8509c..cf16ea8db9 100644 --- a/tests/sksl/shared/OutParamsTricky.asm.frag +++ b/tests/sksl/shared/OutParamsTricky.asm.frag @@ -17,7 +17,6 @@ OpName %result "result" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/RectangleTexture.asm.frag b/tests/sksl/shared/RectangleTexture.asm.frag index ef99b6af08..9ab545038c 100644 --- a/tests/sksl/shared/RectangleTexture.asm.frag +++ b/tests/sksl/shared/RectangleTexture.asm.frag @@ -11,7 +11,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %test2D RelaxedPrecision OpDecorate %test2D Binding 0 diff --git a/tests/sksl/shared/ResizeMatrix.asm.frag b/tests/sksl/shared/ResizeMatrix.asm.frag index e36925ec8f..1954e83be4 100644 --- a/tests/sksl/shared/ResizeMatrix.asm.frag +++ b/tests/sksl/shared/ResizeMatrix.asm.frag @@ -20,7 +20,6 @@ OpName %f "f" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/ReturnBadTypeFromMain.asm.frag b/tests/sksl/shared/ReturnBadTypeFromMain.asm.frag index fab7428acc..a149e761f6 100644 --- a/tests/sksl/shared/ReturnBadTypeFromMain.asm.frag +++ b/tests/sksl/shared/ReturnBadTypeFromMain.asm.frag @@ -10,7 +10,6 @@ OpEntryPoint Fragment %main "main" %sk_Clockwise OpExecutionMode %main OriginUpperLeft OpName %sk_Clockwise "sk_Clockwise" OpName %main "main" -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %bool = OpTypeBool %_ptr_Input_bool = OpTypePointer Input %bool diff --git a/tests/sksl/shared/ReturnColorFromMain.asm.frag b/tests/sksl/shared/ReturnColorFromMain.asm.frag index ec88b5469a..fc9c20ec57 100644 --- a/tests/sksl/shared/ReturnColorFromMain.asm.frag +++ b/tests/sksl/shared/ReturnColorFromMain.asm.frag @@ -10,7 +10,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/ReturnsValueOnEveryPathES2.asm.frag b/tests/sksl/shared/ReturnsValueOnEveryPathES2.asm.frag index e33772aeb0..6002251f06 100644 --- a/tests/sksl/shared/ReturnsValueOnEveryPathES2.asm.frag +++ b/tests/sksl/shared/ReturnsValueOnEveryPathES2.asm.frag @@ -22,7 +22,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/ReturnsValueOnEveryPathES3.asm.frag b/tests/sksl/shared/ReturnsValueOnEveryPathES3.asm.frag index 2b9a39f2ed..019dcbfb75 100644 --- a/tests/sksl/shared/ReturnsValueOnEveryPathES3.asm.frag +++ b/tests/sksl/shared/ReturnsValueOnEveryPathES3.asm.frag @@ -37,7 +37,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/SampleMask.asm.frag b/tests/sksl/shared/SampleMask.asm.frag index 8aa178de29..f671b93eeb 100644 --- a/tests/sksl/shared/SampleMask.asm.frag +++ b/tests/sksl/shared/SampleMask.asm.frag @@ -8,7 +8,6 @@ OpName %sk_Clockwise "sk_Clockwise" OpName %main "main" OpDecorate %_arr_int_int_1 ArrayStride 16 OpDecorate %sk_SampleMask BuiltIn SampleMask -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %int = OpTypeInt 32 1 %int_1 = OpConstant %int 1 diff --git a/tests/sksl/shared/ScalarConversionConstructorsES2.asm.frag b/tests/sksl/shared/ScalarConversionConstructorsES2.asm.frag index 2956643409..b3124a8d47 100644 --- a/tests/sksl/shared/ScalarConversionConstructorsES2.asm.frag +++ b/tests/sksl/shared/ScalarConversionConstructorsES2.asm.frag @@ -25,7 +25,6 @@ OpName %b3 "b3" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/ScalarConversionConstructorsES3.asm.frag b/tests/sksl/shared/ScalarConversionConstructorsES3.asm.frag index 25f99e026a..80a180aef6 100644 --- a/tests/sksl/shared/ScalarConversionConstructorsES3.asm.frag +++ b/tests/sksl/shared/ScalarConversionConstructorsES3.asm.frag @@ -33,7 +33,6 @@ OpName %b4 "b4" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/ScopedSymbol.asm.frag b/tests/sksl/shared/ScopedSymbol.asm.frag index e8718c51a8..74f8fc3ad2 100644 --- a/tests/sksl/shared/ScopedSymbol.asm.frag +++ b/tests/sksl/shared/ScopedSymbol.asm.frag @@ -6,7 +6,6 @@ OpExecutionMode %main OriginUpperLeft OpName %sk_Clockwise "sk_Clockwise" OpName %main "main" OpName %x "x" -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %bool = OpTypeBool %_ptr_Input_bool = OpTypePointer Input %bool diff --git a/tests/sksl/shared/StackingVectorCasts.asm.frag b/tests/sksl/shared/StackingVectorCasts.asm.frag index 1346196f17..edd133004c 100644 --- a/tests/sksl/shared/StackingVectorCasts.asm.frag +++ b/tests/sksl/shared/StackingVectorCasts.asm.frag @@ -13,7 +13,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/StaticIf.asm.frag b/tests/sksl/shared/StaticIf.asm.frag index fe4509ceb2..de71c91050 100644 --- a/tests/sksl/shared/StaticIf.asm.frag +++ b/tests/sksl/shared/StaticIf.asm.frag @@ -16,7 +16,6 @@ OpName %y "y" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/StaticSwitch.asm.frag b/tests/sksl/shared/StaticSwitch.asm.frag index dd44a227e1..011637bfa7 100644 --- a/tests/sksl/shared/StaticSwitch.asm.frag +++ b/tests/sksl/shared/StaticSwitch.asm.frag @@ -9,7 +9,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/StaticSwitchWithBreak.asm.frag b/tests/sksl/shared/StaticSwitchWithBreak.asm.frag index 1a5f457655..51115a3c0c 100644 --- a/tests/sksl/shared/StaticSwitchWithBreak.asm.frag +++ b/tests/sksl/shared/StaticSwitchWithBreak.asm.frag @@ -10,7 +10,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/StaticSwitchWithBreakInsideBlock.asm.frag b/tests/sksl/shared/StaticSwitchWithBreakInsideBlock.asm.frag index 1a5f457655..51115a3c0c 100644 --- a/tests/sksl/shared/StaticSwitchWithBreakInsideBlock.asm.frag +++ b/tests/sksl/shared/StaticSwitchWithBreakInsideBlock.asm.frag @@ -10,7 +10,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/StaticSwitchWithConditionalBreak.asm.frag b/tests/sksl/shared/StaticSwitchWithConditionalBreak.asm.frag index ccdfcd37e8..0e81dede4e 100644 --- a/tests/sksl/shared/StaticSwitchWithConditionalBreak.asm.frag +++ b/tests/sksl/shared/StaticSwitchWithConditionalBreak.asm.frag @@ -10,7 +10,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/StaticSwitchWithConditionalBreakInsideBlock.asm.frag b/tests/sksl/shared/StaticSwitchWithConditionalBreakInsideBlock.asm.frag index 7266afbd18..7229a17f2d 100644 --- a/tests/sksl/shared/StaticSwitchWithConditionalBreakInsideBlock.asm.frag +++ b/tests/sksl/shared/StaticSwitchWithConditionalBreakInsideBlock.asm.frag @@ -10,7 +10,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/StaticSwitchWithContinue.asm.frag b/tests/sksl/shared/StaticSwitchWithContinue.asm.frag index 5d6aa072e2..bc335cf815 100644 --- a/tests/sksl/shared/StaticSwitchWithContinue.asm.frag +++ b/tests/sksl/shared/StaticSwitchWithContinue.asm.frag @@ -15,7 +15,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/StaticSwitchWithFallthroughA.asm.frag b/tests/sksl/shared/StaticSwitchWithFallthroughA.asm.frag index 4ccde7d012..4fcdb6f60e 100644 --- a/tests/sksl/shared/StaticSwitchWithFallthroughA.asm.frag +++ b/tests/sksl/shared/StaticSwitchWithFallthroughA.asm.frag @@ -10,7 +10,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/StaticSwitchWithFallthroughB.asm.frag b/tests/sksl/shared/StaticSwitchWithFallthroughB.asm.frag index dc12b2a29a..63a097935e 100644 --- a/tests/sksl/shared/StaticSwitchWithFallthroughB.asm.frag +++ b/tests/sksl/shared/StaticSwitchWithFallthroughB.asm.frag @@ -10,7 +10,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/StaticSwitchWithStaticConditionalBreak.asm.frag b/tests/sksl/shared/StaticSwitchWithStaticConditionalBreak.asm.frag index 4ced82f2b2..1680e604a7 100644 --- a/tests/sksl/shared/StaticSwitchWithStaticConditionalBreak.asm.frag +++ b/tests/sksl/shared/StaticSwitchWithStaticConditionalBreak.asm.frag @@ -10,7 +10,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/StaticSwitchWithStaticConditionalBreakInsideBlock.asm.frag b/tests/sksl/shared/StaticSwitchWithStaticConditionalBreakInsideBlock.asm.frag index 9293601f20..11da84a7d9 100644 --- a/tests/sksl/shared/StaticSwitchWithStaticConditionalBreakInsideBlock.asm.frag +++ b/tests/sksl/shared/StaticSwitchWithStaticConditionalBreakInsideBlock.asm.frag @@ -10,7 +10,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/Structs.asm.frag b/tests/sksl/shared/Structs.asm.frag index 81439aace3..8e2e21750b 100644 --- a/tests/sksl/shared/Structs.asm.frag +++ b/tests/sksl/shared/Structs.asm.frag @@ -18,18 +18,15 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %A 0 Offset 0 OpMemberDecorate %A 1 Offset 4 -OpDecorate %a1 RelaxedPrecision OpDecorate %_arr_float_int_2 ArrayStride 16 OpMemberDecorate %B 0 Offset 0 OpMemberDecorate %B 1 Offset 16 OpMemberDecorate %B 2 Binding 1 OpMemberDecorate %B 2 Offset 48 OpMemberDecorate %B 2 RelaxedPrecision -OpDecorate %b1 RelaxedPrecision OpDecorate %33 RelaxedPrecision %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/StructsInFunctions.asm.frag b/tests/sksl/shared/StructsInFunctions.asm.frag index 560aabe9b4..b21a399672 100644 --- a/tests/sksl/shared/StructsInFunctions.asm.frag +++ b/tests/sksl/shared/StructsInFunctions.asm.frag @@ -23,7 +23,6 @@ OpName %valid "valid" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/Switch.asm.frag b/tests/sksl/shared/Switch.asm.frag index c996f1c21b..40e5d756db 100644 --- a/tests/sksl/shared/Switch.asm.frag +++ b/tests/sksl/shared/Switch.asm.frag @@ -10,7 +10,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/SwitchContainingDeadCode.asm.frag b/tests/sksl/shared/SwitchContainingDeadCode.asm.frag index 9120d9b169..0de64508fb 100644 --- a/tests/sksl/shared/SwitchContainingDeadCode.asm.frag +++ b/tests/sksl/shared/SwitchContainingDeadCode.asm.frag @@ -10,7 +10,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/SwitchWithFallthrough.asm.frag b/tests/sksl/shared/SwitchWithFallthrough.asm.frag index b66e2a24fe..ca3ea2c7ad 100644 --- a/tests/sksl/shared/SwitchWithFallthrough.asm.frag +++ b/tests/sksl/shared/SwitchWithFallthrough.asm.frag @@ -10,7 +10,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/SwizzleBoolConstants.asm.frag b/tests/sksl/shared/SwizzleBoolConstants.asm.frag index 3fef8f62b1..38ec670143 100644 --- a/tests/sksl/shared/SwizzleBoolConstants.asm.frag +++ b/tests/sksl/shared/SwizzleBoolConstants.asm.frag @@ -15,7 +15,6 @@ OpName %result "result" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/SwizzleByConstantIndex.asm.frag b/tests/sksl/shared/SwizzleByConstantIndex.asm.frag index 85ccf6c33d..ea0234548e 100644 --- a/tests/sksl/shared/SwizzleByConstantIndex.asm.frag +++ b/tests/sksl/shared/SwizzleByConstantIndex.asm.frag @@ -38,7 +38,6 @@ OpName %c "c" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/SwizzleByIndex.asm.frag b/tests/sksl/shared/SwizzleByIndex.asm.frag index 2a8172b87e..93a5744bc2 100644 --- a/tests/sksl/shared/SwizzleByIndex.asm.frag +++ b/tests/sksl/shared/SwizzleByIndex.asm.frag @@ -22,7 +22,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/SwizzleConstants.asm.frag b/tests/sksl/shared/SwizzleConstants.asm.frag index 94e48c3f00..9c4fe2ed4c 100644 --- a/tests/sksl/shared/SwizzleConstants.asm.frag +++ b/tests/sksl/shared/SwizzleConstants.asm.frag @@ -15,7 +15,6 @@ OpName %v "v" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/SwizzleLTRB.asm.frag b/tests/sksl/shared/SwizzleLTRB.asm.frag index d200e0b372..df9a621e39 100644 --- a/tests/sksl/shared/SwizzleLTRB.asm.frag +++ b/tests/sksl/shared/SwizzleLTRB.asm.frag @@ -12,7 +12,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/SwizzleOpt.asm.frag b/tests/sksl/shared/SwizzleOpt.asm.frag index 043f893469..242b863bb2 100644 --- a/tests/sksl/shared/SwizzleOpt.asm.frag +++ b/tests/sksl/shared/SwizzleOpt.asm.frag @@ -17,7 +17,6 @@ OpName %v "v" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/SwizzleScalar.asm.frag b/tests/sksl/shared/SwizzleScalar.asm.frag index 0d364da98a..5e4a6c6124 100644 --- a/tests/sksl/shared/SwizzleScalar.asm.frag +++ b/tests/sksl/shared/SwizzleScalar.asm.frag @@ -14,7 +14,6 @@ OpName %v "v" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/TernaryAsLValueEntirelyFoldable.asm.frag b/tests/sksl/shared/TernaryAsLValueEntirelyFoldable.asm.frag index 34241aeea7..6b9c2a29f6 100644 --- a/tests/sksl/shared/TernaryAsLValueEntirelyFoldable.asm.frag +++ b/tests/sksl/shared/TernaryAsLValueEntirelyFoldable.asm.frag @@ -12,7 +12,6 @@ OpName %g "g" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %22 RelaxedPrecision OpDecorate %23 RelaxedPrecision diff --git a/tests/sksl/shared/TernaryAsLValueFoldableTest.asm.frag b/tests/sksl/shared/TernaryAsLValueFoldableTest.asm.frag index aaac70b3e3..bd9fbb7092 100644 --- a/tests/sksl/shared/TernaryAsLValueFoldableTest.asm.frag +++ b/tests/sksl/shared/TernaryAsLValueFoldableTest.asm.frag @@ -14,7 +14,6 @@ OpName %g "g" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/TernaryExpression.asm.frag b/tests/sksl/shared/TernaryExpression.asm.frag index 03a0354dac..d0f55393e5 100644 --- a/tests/sksl/shared/TernaryExpression.asm.frag +++ b/tests/sksl/shared/TernaryExpression.asm.frag @@ -16,7 +16,6 @@ OpName %ok "ok" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/Texture1D.asm.frag b/tests/sksl/shared/Texture1D.asm.frag index 6be9addfa6..38d37055b2 100644 --- a/tests/sksl/shared/Texture1D.asm.frag +++ b/tests/sksl/shared/Texture1D.asm.frag @@ -17,7 +17,6 @@ OpName %b "b" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %tex RelaxedPrecision OpDecorate %tex Binding 0 diff --git a/tests/sksl/shared/Texture2D.asm.frag b/tests/sksl/shared/Texture2D.asm.frag index d150207bfa..3f86d14fec 100644 --- a/tests/sksl/shared/Texture2D.asm.frag +++ b/tests/sksl/shared/Texture2D.asm.frag @@ -12,7 +12,6 @@ OpName %b "b" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %tex RelaxedPrecision OpDecorate %tex Binding 0 diff --git a/tests/sksl/shared/TextureSharpen.asm.frag b/tests/sksl/shared/TextureSharpen.asm.frag index 6825678177..b6f7824a28 100644 --- a/tests/sksl/shared/TextureSharpen.asm.frag +++ b/tests/sksl/shared/TextureSharpen.asm.frag @@ -20,7 +20,6 @@ OpName %d "d" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %one RelaxedPrecision OpDecorate %one Binding 0 diff --git a/tests/sksl/shared/UnaryPositiveNegative.asm.frag b/tests/sksl/shared/UnaryPositiveNegative.asm.frag index 1ddbf9cf0d..6403e0532c 100644 --- a/tests/sksl/shared/UnaryPositiveNegative.asm.frag +++ b/tests/sksl/shared/UnaryPositiveNegative.asm.frag @@ -15,7 +15,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision @@ -27,8 +26,8 @@ OpDecorate %_UniformBuffer Block OpDecorate %10 Binding 0 OpDecorate %10 DescriptorSet 0 OpDecorate %27 RelaxedPrecision -OpDecorate %30 RelaxedPrecision OpDecorate %29 RelaxedPrecision +OpDecorate %30 RelaxedPrecision OpDecorate %31 RelaxedPrecision OpDecorate %44 RelaxedPrecision OpDecorate %47 RelaxedPrecision diff --git a/tests/sksl/shared/UniformArray.asm.frag b/tests/sksl/shared/UniformArray.asm.frag index f3663f0721..572d6a4f7a 100644 --- a/tests/sksl/shared/UniformArray.asm.frag +++ b/tests/sksl/shared/UniformArray.asm.frag @@ -7,7 +7,6 @@ OpName %sk_Clockwise "sk_Clockwise" OpName %_UniformBuffer "_UniformBuffer" OpMemberName %_UniformBuffer 0 "arr" OpName %main "main" -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %_arr_float_int_3 ArrayStride 16 OpMemberDecorate %_UniformBuffer 0 Offset 0 diff --git a/tests/sksl/shared/UniformBuffers.asm.frag b/tests/sksl/shared/UniformBuffers.asm.frag index 532f019212..3896ab6978 100644 --- a/tests/sksl/shared/UniformBuffers.asm.frag +++ b/tests/sksl/shared/UniformBuffers.asm.frag @@ -27,7 +27,6 @@ OpDecorate %3 DescriptorSet 0 OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %24 RelaxedPrecision OpDecorate %26 RelaxedPrecision diff --git a/tests/sksl/shared/Uniforms.asm.frag b/tests/sksl/shared/Uniforms.asm.frag index f72fc4f371..77bbe8c20b 100644 --- a/tests/sksl/shared/Uniforms.asm.frag +++ b/tests/sksl/shared/Uniforms.asm.frag @@ -13,7 +13,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/UnusedVariables.asm.frag b/tests/sksl/shared/UnusedVariables.asm.frag index 8f67a990f3..dc85e2eb26 100644 --- a/tests/sksl/shared/UnusedVariables.asm.frag +++ b/tests/sksl/shared/UnusedVariables.asm.frag @@ -15,7 +15,6 @@ OpName %e "e" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/shared/VectorConstructors.asm.frag b/tests/sksl/shared/VectorConstructors.asm.frag index 0709dead11..05092951a2 100644 --- a/tests/sksl/shared/VectorConstructors.asm.frag +++ b/tests/sksl/shared/VectorConstructors.asm.frag @@ -31,7 +31,6 @@ OpName %v17 "v17" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpMemberDecorate %_UniformBuffer 0 Offset 0 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision diff --git a/tests/sksl/shared/WhileLoopControlFlow.asm.frag b/tests/sksl/shared/WhileLoopControlFlow.asm.frag index 0329142a94..f8cf048837 100644 --- a/tests/sksl/shared/WhileLoopControlFlow.asm.frag +++ b/tests/sksl/shared/WhileLoopControlFlow.asm.frag @@ -11,7 +11,6 @@ OpName %x "x" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %26 RelaxedPrecision OpDecorate %33 RelaxedPrecision diff --git a/tests/sksl/spirv/ConstantVectorFromVector.asm.frag b/tests/sksl/spirv/ConstantVectorFromVector.asm.frag index 560a9b51e9..9e557a1aa0 100644 --- a/tests/sksl/spirv/ConstantVectorFromVector.asm.frag +++ b/tests/sksl/spirv/ConstantVectorFromVector.asm.frag @@ -9,7 +9,6 @@ OpName %main "main" OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing %float = OpTypeFloat 32 %v4float = OpTypeVector %float 4 diff --git a/tests/sksl/spirv/InterfaceBlockPushConstant.asm.frag b/tests/sksl/spirv/InterfaceBlockPushConstant.asm.frag index 743f8acfea..a10cbd4d26 100644 --- a/tests/sksl/spirv/InterfaceBlockPushConstant.asm.frag +++ b/tests/sksl/spirv/InterfaceBlockPushConstant.asm.frag @@ -23,7 +23,6 @@ OpDecorate %3 DescriptorSet 0 OpDecorate %sk_FragColor RelaxedPrecision OpDecorate %sk_FragColor Location 0 OpDecorate %sk_FragColor Index 0 -OpDecorate %sk_Clockwise RelaxedPrecision OpDecorate %sk_Clockwise BuiltIn FrontFacing OpDecorate %22 RelaxedPrecision OpDecorate %26 RelaxedPrecision