summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/glslang/src/Test/spv.accessChain.frag
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/glslang/src/Test/spv.accessChain.frag')
-rw-r--r--chromium/third_party/glslang/src/Test/spv.accessChain.frag94
1 files changed, 94 insertions, 0 deletions
diff --git a/chromium/third_party/glslang/src/Test/spv.accessChain.frag b/chromium/third_party/glslang/src/Test/spv.accessChain.frag
new file mode 100644
index 00000000000..faf0ddd1284
--- /dev/null
+++ b/chromium/third_party/glslang/src/Test/spv.accessChain.frag
@@ -0,0 +1,94 @@
+#version 420
+
+struct S
+{
+ vec3 color;
+};
+
+layout(location = 0) out vec3 OutColor;
+
+flat in int u;
+
+void GetColor1(const S i)
+{
+ OutColor += i.color.x;
+}
+
+void GetColor2(const S i, int comp)
+{
+ OutColor += i.color[comp];
+}
+
+void GetColor3(const S i, int comp)
+{
+ OutColor += i.color[comp].x;
+}
+
+void GetColor4(const S i, int comp)
+{
+ OutColor += i.color[comp].x;
+}
+
+void GetColor5(const S i, int comp)
+{
+ OutColor += i.color;
+}
+
+void GetColor6(const S i, int comp)
+{
+ OutColor += i.color.yx[comp];
+}
+
+void GetColor7(const S i, int comp)
+{
+ OutColor.xy += i.color.yxz.yx;
+}
+
+void GetColor8(const S i, int comp)
+{
+ OutColor += i.color.yzx.yx.x.x;
+}
+
+void GetColor9(const S i, int comp)
+{
+ OutColor.zxy += i.color;
+}
+
+void GetColor10(const S i, int comp)
+{
+ OutColor.zy += i.color.xy;
+}
+
+void GetColor11(const S i, int comp)
+{
+ OutColor.zxy.yx += i.color.xy;
+}
+
+void GetColor12(const S i, int comp)
+{
+ OutColor[comp] += i.color.x;
+}
+
+void GetColor13(const S i, int comp)
+{
+ // OutColor.zy[comp] += i.color.x; // not yet supported
+}
+
+void main()
+{
+ S s;
+ OutColor = vec3(0.0);
+ GetColor1(s);
+ GetColor2(s, u);
+ GetColor3(s, u);
+ GetColor4(s, u);
+ GetColor5(s, u);
+ GetColor6(s, u);
+ GetColor7(s, u);
+ GetColor8(s, u);
+ GetColor9(s, u);
+ GetColor10(s, u);
+ GetColor11(s, u);
+ GetColor12(s, u);
+ GetColor13(s, u);
+}