Add RelaxedPrecision decoration to out-param temp vars.

Previously we were not honoring the variable precision at all (passing
null to nextId).

Change-Id: I0e217e6c0d3d701dc0540d4d4069a3597abdad11
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/446640
Commit-Queue: John Stiles <johnstiles@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/src/sksl/codegen/SkSLSPIRVCodeGenerator.cpp b/src/sksl/codegen/SkSLSPIRVCodeGenerator.cpp
index c92eaa5..56f8a63 100644
--- a/src/sksl/codegen/SkSLSPIRVCodeGenerator.cpp
+++ b/src/sksl/codegen/SkSLSPIRVCodeGenerator.cpp
@@ -1196,7 +1196,7 @@
                 // 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(nullptr);
+                tmpVar = this->nextId(&arguments[i]->type());
                 tempVars.push_back(TempVar{tmpVar, &arguments[i]->type(), std::move(lv)});
             }
         } else {
diff --git a/tests/sksl/shared/OutParams.asm.frag b/tests/sksl/shared/OutParams.asm.frag
index 7ff2a63..9725234 100644
--- a/tests/sksl/shared/OutParams.asm.frag
+++ b/tests/sksl/shared/OutParams.asm.frag
@@ -133,14 +133,17 @@
 OpDecorate %h3 RelaxedPrecision
 OpDecorate %h4 RelaxedPrecision
 OpDecorate %254 RelaxedPrecision
+OpDecorate %255 RelaxedPrecision
 OpDecorate %257 RelaxedPrecision
 OpDecorate %258 RelaxedPrecision
 OpDecorate %259 RelaxedPrecision
+OpDecorate %260 RelaxedPrecision
 OpDecorate %262 RelaxedPrecision
 OpDecorate %263 RelaxedPrecision
 OpDecorate %264 RelaxedPrecision
 OpDecorate %265 RelaxedPrecision
 OpDecorate %266 RelaxedPrecision
+OpDecorate %267 RelaxedPrecision
 OpDecorate %269 RelaxedPrecision
 OpDecorate %270 RelaxedPrecision
 OpDecorate %271 RelaxedPrecision
@@ -148,10 +151,13 @@
 OpDecorate %h3x3 RelaxedPrecision
 OpDecorate %h4x4 RelaxedPrecision
 OpDecorate %279 RelaxedPrecision
+OpDecorate %280 RelaxedPrecision
 OpDecorate %282 RelaxedPrecision
 OpDecorate %286 RelaxedPrecision
+OpDecorate %287 RelaxedPrecision
 OpDecorate %289 RelaxedPrecision
 OpDecorate %293 RelaxedPrecision
+OpDecorate %294 RelaxedPrecision
 OpDecorate %296 RelaxedPrecision
 OpDecorate %365 RelaxedPrecision
 OpDecorate %372 RelaxedPrecision
diff --git a/tests/sksl/shared/OutParamsNoInline.asm.frag b/tests/sksl/shared/OutParamsNoInline.asm.frag
index 7ff2a63..9725234 100644
--- a/tests/sksl/shared/OutParamsNoInline.asm.frag
+++ b/tests/sksl/shared/OutParamsNoInline.asm.frag
@@ -133,14 +133,17 @@
 OpDecorate %h3 RelaxedPrecision
 OpDecorate %h4 RelaxedPrecision
 OpDecorate %254 RelaxedPrecision
+OpDecorate %255 RelaxedPrecision
 OpDecorate %257 RelaxedPrecision
 OpDecorate %258 RelaxedPrecision
 OpDecorate %259 RelaxedPrecision
+OpDecorate %260 RelaxedPrecision
 OpDecorate %262 RelaxedPrecision
 OpDecorate %263 RelaxedPrecision
 OpDecorate %264 RelaxedPrecision
 OpDecorate %265 RelaxedPrecision
 OpDecorate %266 RelaxedPrecision
+OpDecorate %267 RelaxedPrecision
 OpDecorate %269 RelaxedPrecision
 OpDecorate %270 RelaxedPrecision
 OpDecorate %271 RelaxedPrecision
@@ -148,10 +151,13 @@
 OpDecorate %h3x3 RelaxedPrecision
 OpDecorate %h4x4 RelaxedPrecision
 OpDecorate %279 RelaxedPrecision
+OpDecorate %280 RelaxedPrecision
 OpDecorate %282 RelaxedPrecision
 OpDecorate %286 RelaxedPrecision
+OpDecorate %287 RelaxedPrecision
 OpDecorate %289 RelaxedPrecision
 OpDecorate %293 RelaxedPrecision
+OpDecorate %294 RelaxedPrecision
 OpDecorate %296 RelaxedPrecision
 OpDecorate %365 RelaxedPrecision
 OpDecorate %372 RelaxedPrecision
diff --git a/tests/sksl/shared/OutParamsTricky.asm.frag b/tests/sksl/shared/OutParamsTricky.asm.frag
index 8eafae6..4086cad 100644
--- a/tests/sksl/shared/OutParamsTricky.asm.frag
+++ b/tests/sksl/shared/OutParamsTricky.asm.frag
@@ -35,6 +35,7 @@
 OpDecorate %t RelaxedPrecision
 OpDecorate %48 RelaxedPrecision
 OpDecorate %49 RelaxedPrecision
+OpDecorate %50 RelaxedPrecision
 OpDecorate %54 RelaxedPrecision
 OpDecorate %55 RelaxedPrecision
 OpDecorate %56 RelaxedPrecision