diff options
author | Hans-Kristian Arntzen <post@arntzen-software.no> | 2020-11-26 01:06:28 +0300 |
---|---|---|
committer | Hans-Kristian Arntzen <post@arntzen-software.no> | 2020-11-26 01:06:28 +0300 |
commit | be527632a6c80291ab012a79758e0e41224ad5e2 (patch) | |
tree | 361aa135fb5fc1b6bedce244de93bfa2654825ac | |
parent | 3d16060c3243e9f7bfd027de6e2e27c348d1791e (diff) | |
parent | c80cbde7aaa4e53d2ebca671e29688cfd3ea0d19 (diff) |
Merge branch 'unused' of git://github.com/comex/SPIRV-Cross
-rw-r--r-- | reference/shaders-msl-no-opt/vert/unused-subgroup-builtin.msl22.vert | 9 | ||||
-rw-r--r-- | shaders-msl-no-opt/vert/unused-subgroup-builtin.msl22.vert | 7 | ||||
-rw-r--r-- | spirv_msl.cpp | 4 |
3 files changed, 18 insertions, 2 deletions
diff --git a/reference/shaders-msl-no-opt/vert/unused-subgroup-builtin.msl22.vert b/reference/shaders-msl-no-opt/vert/unused-subgroup-builtin.msl22.vert new file mode 100644 index 00000000..9e024c20 --- /dev/null +++ b/reference/shaders-msl-no-opt/vert/unused-subgroup-builtin.msl22.vert @@ -0,0 +1,9 @@ +#include <metal_stdlib> +#include <simd/simd.h> + +using namespace metal; + +vertex void main0() +{ +} + diff --git a/shaders-msl-no-opt/vert/unused-subgroup-builtin.msl22.vert b/shaders-msl-no-opt/vert/unused-subgroup-builtin.msl22.vert new file mode 100644 index 00000000..4ec228df --- /dev/null +++ b/shaders-msl-no-opt/vert/unused-subgroup-builtin.msl22.vert @@ -0,0 +1,7 @@ +#version 450 +#extension GL_KHR_shader_subgroup_ballot : require + +void main() +{ + gl_SubgroupEqMask; +} diff --git a/spirv_msl.cpp b/spirv_msl.cpp index a74f62e0..a9ec650c 100644 --- a/spirv_msl.cpp +++ b/spirv_msl.cpp @@ -11052,7 +11052,7 @@ void CompilerMSL::fix_up_shader_inputs_outputs() uint32_t var_id = var.self; BuiltIn bi_type = ir.meta[var_id].decoration.builtin_type; - if (var.storage == StorageClassInput && is_builtin_variable(var)) + if (var.storage == StorageClassInput && is_builtin_variable(var) && active_input_builtins.get(bi_type)) { switch (bi_type) { @@ -11518,7 +11518,7 @@ void CompilerMSL::fix_up_shader_inputs_outputs() break; } } - else if (var.storage == StorageClassOutput && is_builtin_variable(var)) + else if (var.storage == StorageClassOutput && is_builtin_variable(var) && active_output_builtins.get(bi_type)) { if (bi_type == BuiltInSampleMask && get_execution_model() == ExecutionModelFragment && msl_options.additional_fixed_sample_mask != 0xffffffff) |