Roll shaderc
diff --git a/examples/Animometer.cpp b/examples/Animometer.cpp
index 1ee7207..87fc342 100644
--- a/examples/Animometer.cpp
+++ b/examples/Animometer.cpp
@@ -102,12 +102,11 @@
 
     nxt::ShaderModule fsModule = utils::CreateShaderModule(device, nxt::ShaderStage::Fragment, R"(
         #version 450
-        out vec4 fragColor;
+        layout(location = 0) out vec4 fragColor;
         layout(location = 0) in vec4 v_color;
         void main() {
             fragColor = v_color;
-        })"
-    );
+        })");
 
     renderpass = CreateDefaultRenderPass(device);
     depthStencilView = CreateDefaultDepthStencilView(device);
diff --git a/examples/CHelloTriangle.cpp b/examples/CHelloTriangle.cpp
index 4052820..613da0b 100644
--- a/examples/CHelloTriangle.cpp
+++ b/examples/CHelloTriangle.cpp
@@ -52,7 +52,7 @@
 
     const char* fs =
         "#version 450\n"
-        "out vec4 fragColor;"
+        "layout(location = 0) out vec4 fragColor;"
         "void main() {\n"
         "   fragColor = vec4(1.0, 0.0, 0.0, 1.0);\n"
         "}\n";
diff --git a/examples/ComputeBoids.cpp b/examples/ComputeBoids.cpp
index 1b874fa..f9ce84f 100644
--- a/examples/ComputeBoids.cpp
+++ b/examples/ComputeBoids.cpp
@@ -109,7 +109,7 @@
 
     nxt::ShaderModule fsModule = utils::CreateShaderModule(device, nxt::ShaderStage::Fragment, R"(
         #version 450
-        out vec4 fragColor;
+        layout(location = 0) out vec4 fragColor;
         void main() {
             fragColor = vec4(1.0);
         }
diff --git a/examples/HelloCompute.cpp b/examples/HelloCompute.cpp
index 9dcafc0..cb57e9f 100644
--- a/examples/HelloCompute.cpp
+++ b/examples/HelloCompute.cpp
@@ -93,17 +93,17 @@
             })"
         );
 
-        nxt::ShaderModule fsModule = utils::CreateShaderModule(device, nxt::ShaderStage::Fragment, R"(
+        nxt::ShaderModule fsModule =
+            utils::CreateShaderModule(device, nxt::ShaderStage::Fragment, R"(
             #version 450
             layout(set = 0, binding = 0) uniform myBlock {
                 int a;
                 float b;
             } myUbo;
-            out vec4 fragColor;
+            layout(location = 0) out vec4 fragColor;
             void main() {
                 fragColor = vec4(1.0, myUbo.a / 255.0, myUbo.b, 1.0);
-            })"
-        );
+            })");
 
         nxt::BindGroupLayout bgl = device.CreateBindGroupLayoutBuilder()
             .SetBindingsType(nxt::ShaderStageBit::Fragment, nxt::BindingType::UniformBuffer, 0, 1)
diff --git a/examples/HelloDepthStencil.cpp b/examples/HelloDepthStencil.cpp
index 6d3fbb8..6f17ad9 100644
--- a/examples/HelloDepthStencil.cpp
+++ b/examples/HelloDepthStencil.cpp
@@ -142,20 +142,19 @@
     nxt::ShaderModule fsModule = utils::CreateShaderModule(device, nxt::ShaderStage::Fragment, R"(
         #version 450
         layout(location = 2) in vec3 f_col;
-        out vec4 fragColor;
+        layout(location = 0) out vec4 fragColor;
         void main() {
             fragColor = vec4(f_col, 1.0);
-        })"
-    );
+        })");
 
-    nxt::ShaderModule fsReflectionModule = utils::CreateShaderModule(device, nxt::ShaderStage::Fragment, R"(
+    nxt::ShaderModule fsReflectionModule =
+        utils::CreateShaderModule(device, nxt::ShaderStage::Fragment, R"(
         #version 450
         layout(location = 2) in vec3 f_col;
-        out vec4 fragColor;
+        layout(location = 0) out vec4 fragColor;
         void main() {
             fragColor = vec4(mix(f_col, vec3(0.5, 0.5, 0.5), 0.5), 1.0);
-        })"
-    );
+        })");
 
     auto inputState = device.CreateInputStateBuilder()
         .SetAttribute(0, 0, nxt::VertexFormat::FloatR32G32B32, 0)
diff --git a/examples/HelloIndices.cpp b/examples/HelloIndices.cpp
index 1e56a05..95104b7 100644
--- a/examples/HelloIndices.cpp
+++ b/examples/HelloIndices.cpp
@@ -64,11 +64,10 @@
 
     nxt::ShaderModule fsModule = utils::CreateShaderModule(device, nxt::ShaderStage::Fragment, R"(
         #version 450
-        out vec4 fragColor;
+        layout(location = 0) out vec4 fragColor;
         void main() {
             fragColor = vec4(1.0, 0.0, 0.0, 1.0);
-        })"
-    );
+        })");
 
     auto inputState = device.CreateInputStateBuilder()
         .SetAttribute(0, 0, nxt::VertexFormat::FloatR32G32B32A32, 0)
diff --git a/examples/HelloInstancing.cpp b/examples/HelloInstancing.cpp
index 3c09e90..2b5eeb7 100644
--- a/examples/HelloInstancing.cpp
+++ b/examples/HelloInstancing.cpp
@@ -68,11 +68,10 @@
 
     nxt::ShaderModule fsModule = utils::CreateShaderModule(device, nxt::ShaderStage::Fragment, R"(
         #version 450
-        out vec4 fragColor;
+        layout(location = 0) out vec4 fragColor;
         void main() {
             fragColor = vec4(1.0, 0.0, 0.0, 1.0);
-        })"
-    );
+        })");
 
     auto inputState = device.CreateInputStateBuilder()
         .SetAttribute(0, 0, nxt::VertexFormat::FloatR32G32B32A32, 0)
diff --git a/examples/HelloTriangle.cpp b/examples/HelloTriangle.cpp
index 18821d3..f8883d3 100644
--- a/examples/HelloTriangle.cpp
+++ b/examples/HelloTriangle.cpp
@@ -102,11 +102,10 @@
         layout(set = 0, binding = 0) uniform sampler mySampler;
         layout(set = 0, binding = 1) uniform texture2D myTexture;
 
-        out vec4 fragColor;
+        layout(location = 0) out vec4 fragColor;
         void main() {
             fragColor = texture(sampler2D(myTexture, mySampler), gl_FragCoord.xy / vec2(640.0, 480.0));
-        })"
-    );
+        })");
 
     auto inputState = device.CreateInputStateBuilder()
         .SetAttribute(0, 0, nxt::VertexFormat::FloatR32G32B32A32, 0)
diff --git a/examples/HelloUBO.cpp b/examples/HelloUBO.cpp
index cda8767..44b10e2 100644
--- a/examples/HelloUBO.cpp
+++ b/examples/HelloUBO.cpp
@@ -50,11 +50,10 @@
             int a;
             float b;
         } myUbo;
-        out vec4 fragColor;
+        layout(location = 0) out vec4 fragColor;
         void main() {
             fragColor = vec4(1.0, myUbo.a / 255.0, myUbo.b, 1.0);
-        })"
-    );
+        })");
 
     nxt::BindGroupLayout bgl = device.CreateBindGroupLayoutBuilder()
         .SetBindingsType(nxt::ShaderStageBit::Fragment, nxt::BindingType::UniformBuffer, 0, 1)