Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <hans-kristian.arntzen@arm.com>2017-11-23 11:57:30 +0300
committerHans-Kristian Arntzen <hans-kristian.arntzen@arm.com>2017-11-23 11:59:25 +0300
commitc64c3de01fdf6ed5cbb271b2fc77485a6317696d (patch)
treed696fd2a4af7a4da63511f5f0332379bc14edc5c /reference/opt/shaders/amd
parentf929078f1e06e66fe567c6fb3c20ced0c3bb9674 (diff)
Add new optimized test shaders.
Diffstat (limited to 'reference/opt/shaders/amd')
-rw-r--r--reference/opt/shaders/amd/fragmentMaskFetch_subpassInput.vk.nocompat.invalid.frag11
-rw-r--r--reference/opt/shaders/amd/fragmentMaskFetch_subpassInput.vk.nocompat.invalid.frag.vk11
-rw-r--r--reference/opt/shaders/amd/fs.invalid.frag15
-rw-r--r--reference/opt/shaders/amd/gcn_shader.comp8
-rw-r--r--reference/opt/shaders/amd/shader_ballot.comp26
-rw-r--r--reference/opt/shaders/amd/shader_ballot_nonuniform_invocations.invalid.comp11
-rw-r--r--reference/opt/shaders/amd/shader_group_vote.comp7
-rw-r--r--reference/opt/shaders/amd/shader_trinary_minmax.comp7
8 files changed, 96 insertions, 0 deletions
diff --git a/reference/opt/shaders/amd/fragmentMaskFetch_subpassInput.vk.nocompat.invalid.frag b/reference/opt/shaders/amd/fragmentMaskFetch_subpassInput.vk.nocompat.invalid.frag
new file mode 100644
index 00000000..d6708984
--- /dev/null
+++ b/reference/opt/shaders/amd/fragmentMaskFetch_subpassInput.vk.nocompat.invalid.frag
@@ -0,0 +1,11 @@
+#version 450
+#extension GL_AMD_shader_fragment_mask : require
+
+layout(binding = 0) uniform sampler2DMS t;
+
+void main()
+{
+ vec4 test2 = fragmentFetchAMD(t, 4u);
+ uint testi2 = fragmentMaskFetchAMD(t);
+}
+
diff --git a/reference/opt/shaders/amd/fragmentMaskFetch_subpassInput.vk.nocompat.invalid.frag.vk b/reference/opt/shaders/amd/fragmentMaskFetch_subpassInput.vk.nocompat.invalid.frag.vk
new file mode 100644
index 00000000..4aaf397a
--- /dev/null
+++ b/reference/opt/shaders/amd/fragmentMaskFetch_subpassInput.vk.nocompat.invalid.frag.vk
@@ -0,0 +1,11 @@
+#version 450
+#extension GL_AMD_shader_fragment_mask : require
+
+layout(input_attachment_index = 0, set = 0, binding = 0) uniform subpassInputMS t;
+
+void main()
+{
+ vec4 test2 = fragmentFetchAMD(t, 4u);
+ uint testi2 = fragmentMaskFetchAMD(t);
+}
+
diff --git a/reference/opt/shaders/amd/fs.invalid.frag b/reference/opt/shaders/amd/fs.invalid.frag
new file mode 100644
index 00000000..97e7bcd1
--- /dev/null
+++ b/reference/opt/shaders/amd/fs.invalid.frag
@@ -0,0 +1,15 @@
+#version 450
+#extension GL_AMD_shader_fragment_mask : require
+#extension GL_AMD_shader_explicit_vertex_parameter : require
+
+uniform sampler2DMS texture1;
+
+layout(location = 0) in vec4 vary;
+
+void main()
+{
+ uint testi1 = fragmentMaskFetchAMD(texture1, ivec2(0));
+ vec4 test1 = fragmentFetchAMD(texture1, ivec2(1), 2u);
+ vec4 pos = interpolateAtVertexAMD(vary, 0u);
+}
+
diff --git a/reference/opt/shaders/amd/gcn_shader.comp b/reference/opt/shaders/amd/gcn_shader.comp
new file mode 100644
index 00000000..85851de5
--- /dev/null
+++ b/reference/opt/shaders/amd/gcn_shader.comp
@@ -0,0 +1,8 @@
+#version 450
+#extension GL_ARB_gpu_shader_int64 : require
+layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
+
+void main()
+{
+}
+
diff --git a/reference/opt/shaders/amd/shader_ballot.comp b/reference/opt/shaders/amd/shader_ballot.comp
new file mode 100644
index 00000000..8bdbfc9c
--- /dev/null
+++ b/reference/opt/shaders/amd/shader_ballot.comp
@@ -0,0 +1,26 @@
+#version 450
+#extension GL_ARB_gpu_shader_int64 : require
+#extension GL_ARB_shader_ballot : require
+#extension GL_AMD_shader_ballot : require
+layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
+
+layout(binding = 0, std430) buffer inputData
+{
+ float inputDataArray[];
+} _12;
+
+layout(binding = 1, std430) buffer outputData
+{
+ float outputDataArray[];
+} _74;
+
+void main()
+{
+ float _25 = _12.inputDataArray[gl_LocalInvocationID.x];
+ bool _31 = _25 > 0.0;
+ if (_31)
+ {
+ _74.outputDataArray[mbcntAMD(packUint2x32(uvec2(unpackUint2x32(ballotARB(_31)).xy)))] = _25;
+ }
+}
+
diff --git a/reference/opt/shaders/amd/shader_ballot_nonuniform_invocations.invalid.comp b/reference/opt/shaders/amd/shader_ballot_nonuniform_invocations.invalid.comp
new file mode 100644
index 00000000..a14343ae
--- /dev/null
+++ b/reference/opt/shaders/amd/shader_ballot_nonuniform_invocations.invalid.comp
@@ -0,0 +1,11 @@
+#version 450
+#extension GL_AMD_shader_ballot : require
+layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
+
+void main()
+{
+ float addInvocations = addInvocationsNonUniformAMD(0.0);
+ int minInvocations = minInvocationsNonUniformAMD(1);
+ uint maxInvocations = uint(maxInvocationsNonUniformAMD(4));
+}
+
diff --git a/reference/opt/shaders/amd/shader_group_vote.comp b/reference/opt/shaders/amd/shader_group_vote.comp
new file mode 100644
index 00000000..77ea0349
--- /dev/null
+++ b/reference/opt/shaders/amd/shader_group_vote.comp
@@ -0,0 +1,7 @@
+#version 450
+layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
+
+void main()
+{
+}
+
diff --git a/reference/opt/shaders/amd/shader_trinary_minmax.comp b/reference/opt/shaders/amd/shader_trinary_minmax.comp
new file mode 100644
index 00000000..77ea0349
--- /dev/null
+++ b/reference/opt/shaders/amd/shader_trinary_minmax.comp
@@ -0,0 +1,7 @@
+#version 450
+layout(local_size_x = 64, local_size_y = 1, local_size_z = 1) in;
+
+void main()
+{
+}
+