diff options
author | Hans-Kristian Arntzen <hans-kristian.arntzen@arm.com> | 2017-11-23 11:57:30 +0300 |
---|---|---|
committer | Hans-Kristian Arntzen <hans-kristian.arntzen@arm.com> | 2017-11-23 11:59:25 +0300 |
commit | c64c3de01fdf6ed5cbb271b2fc77485a6317696d (patch) | |
tree | d696fd2a4af7a4da63511f5f0332379bc14edc5c /reference/opt/shaders/amd | |
parent | f929078f1e06e66fe567c6fb3c20ced0c3bb9674 (diff) |
Add new optimized test shaders.
Diffstat (limited to 'reference/opt/shaders/amd')
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() +{ +} + |