Remove unnecessary casting from SkSL in GMs

Converts examples to use more idiomatic "user" SkSL,
without extra casts, and taking advantage of swizzle.

Change-Id: I4ad4e7b6563b4f09402855cb125546b015622ced
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/317388
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
diff --git a/samplecode/Sample3D.cpp b/samplecode/Sample3D.cpp
index 2aeb685..9d591a8 100644
--- a/samplecode/Sample3D.cpp
+++ b/samplecode/Sample3D.cpp
@@ -383,16 +383,16 @@
 
             half4 main(float2 p) {
                 float3 norm = convert_normal_sample(sample(normal_map, p));
-                float3 plane_norm = normalize(localToWorldAdjInv * float4(norm, 0)).xyz;
+                float3 plane_norm = normalize(localToWorldAdjInv * norm.xyz0).xyz;
 
-                float3 plane_pos = (localToWorld * float4(p, 0, 1)).xyz;
+                float3 plane_pos = (localToWorld * p.xy01).xyz;
                 float3 light_dir = normalize(lightPos - plane_pos);
 
                 float ambient = 0.2;
                 float dp = dot(plane_norm, light_dir);
                 float scale = min(ambient + max(dp, 0), 1);
 
-                return sample(color_map, p) * half4(float4(scale, scale, scale, 1));
+                return sample(color_map, p) * scale.xxx1;
             }
         )";
         auto [effect, error] = SkRuntimeEffect::Make(SkString(code));
@@ -468,16 +468,16 @@
 
             half4 main(float2 p) {
                 float3 norm = normalize(vtx_normal);
-                float3 plane_norm = normalize(localToWorldAdjInv * float4(norm, 0)).xyz;
+                float3 plane_norm = normalize(localToWorldAdjInv * norm.xyz0).xyz;
 
-                float3 plane_pos = (localToWorld * float4(p, 0, 1)).xyz;
+                float3 plane_pos = (localToWorld * p.xy01).xyz;
                 float3 light_dir = normalize(lightPos - plane_pos);
 
                 float ambient = 0.2;
                 float dp = dot(plane_norm, light_dir);
                 float scale = min(ambient + max(dp, 0), 1);
 
-                return half4(0.7, 0.9, 0.3, 1) * half4(float4(scale, scale, scale, 1));
+                return half4(0.7, 0.9, 0.3, 1) * scale.xxx1;
             }
         )";
         auto [effect, error] = SkRuntimeEffect::Make(SkString(code));