debian/changelog | 8 debian/get-external.sh | 6 debian/rules | 9 external/spirv-tools/.appveyor.yml | 42 external/spirv-tools/.clang-format | 5 external/spirv-tools/.gitignore | 13 external/spirv-tools/.travis.yml | 91 external/spirv-tools/CHANGES | 130 external/spirv-tools/CMakeLists.txt | 204 external/spirv-tools/LICENSE | 227 external/spirv-tools/README.md | 466 external/spirv-tools/example/CMakeLists.txt | 9 external/spirv-tools/example/example-1.1.cpp | 42 external/spirv-tools/example/example.cpp | 37 external/spirv-tools/examples/CMakeLists.txt | 15 external/spirv-tools/examples/cpp-interface/CMakeLists.txt | 19 external/spirv-tools/examples/cpp-interface/main.cpp | 64 external/spirv-tools/external/CMakeLists.txt | 46 external/spirv-tools/external/spirv-headers/.appveyor.yml | 42 external/spirv-tools/external/spirv-headers/.clang-format | 5 external/spirv-tools/external/spirv-headers/.gitattributes | 7 external/spirv-tools/external/spirv-headers/.gitignore | 13 external/spirv-tools/external/spirv-headers/.travis.yml | 91 external/spirv-tools/external/spirv-headers/CHANGES | 130 external/spirv-tools/external/spirv-headers/CMakeLists.txt | 204 external/spirv-tools/external/spirv-headers/LICENSE | 227 external/spirv-tools/external/spirv-headers/README.md | 466 external/spirv-tools/external/spirv-headers/example/CMakeLists.txt | 9 external/spirv-tools/external/spirv-headers/example/example-1.1.cpp | 42 external/spirv-tools/external/spirv-headers/example/example.cpp | 37 external/spirv-tools/external/spirv-headers/examples/CMakeLists.txt | 15 external/spirv-tools/external/spirv-headers/examples/cpp-interface/CMakeLists.txt | 19 external/spirv-tools/external/spirv-headers/examples/cpp-interface/main.cpp | 64 external/spirv-tools/external/spirv-headers/external/CMakeLists.txt | 46 external/spirv-tools/external/spirv-headers/include/spirv-tools/libspirv.h | 511 external/spirv-tools/external/spirv-headers/include/spirv-tools/libspirv.hpp | 121 external/spirv-tools/external/spirv-headers/include/spirv-tools/optimizer.hpp | 172 external/spirv-tools/external/spirv-headers/include/spirv/1.0/GLSL.std.450.h | 131 external/spirv-tools/external/spirv-headers/include/spirv/1.0/OpenCL.std.h | 272 external/spirv-tools/external/spirv-headers/include/spirv/1.0/extinst.glsl.std.450.grammar.json | 642 + external/spirv-tools/external/spirv-headers/include/spirv/1.0/extinst.opencl.std.100.grammar.json | 1279 ++ external/spirv-tools/external/spirv-headers/include/spirv/1.0/spirv.core.grammar.json | 5377 +++++++++ external/spirv-tools/external/spirv-headers/include/spirv/1.0/spirv.h | 943 + external/spirv-tools/external/spirv-headers/include/spirv/1.0/spirv.hpp | 952 + external/spirv-tools/external/spirv-headers/include/spirv/1.0/spirv.hpp11 | 952 + external/spirv-tools/external/spirv-headers/include/spirv/1.0/spirv.json | 970 + external/spirv-tools/external/spirv-headers/include/spirv/1.0/spirv.lua | 899 + external/spirv-tools/external/spirv-headers/include/spirv/1.0/spirv.py | 899 + external/spirv-tools/external/spirv-headers/include/spirv/1.1/GLSL.std.450.h | 131 external/spirv-tools/external/spirv-headers/include/spirv/1.1/OpenCL.std.h | 272 external/spirv-tools/external/spirv-headers/include/spirv/1.1/extinst.glsl.std.450.grammar.json | 642 + external/spirv-tools/external/spirv-headers/include/spirv/1.1/extinst.opencl.std.100.grammar.json | 1279 ++ external/spirv-tools/external/spirv-headers/include/spirv/1.1/spirv.core.grammar.json | 5540 ++++++++++ external/spirv-tools/external/spirv-headers/include/spirv/1.1/spirv.h | 965 + external/spirv-tools/external/spirv-headers/include/spirv/1.1/spirv.hpp | 974 + external/spirv-tools/external/spirv-headers/include/spirv/1.1/spirv.hpp11 | 974 + external/spirv-tools/external/spirv-headers/include/spirv/1.1/spirv.json | 990 + external/spirv-tools/external/spirv-headers/include/spirv/1.1/spirv.lua | 921 + external/spirv-tools/external/spirv-headers/include/spirv/1.1/spirv.py | 921 + external/spirv-tools/external/spirv-headers/include/spirv/spir-v.xml | 112 external/spirv-tools/external/spirv-headers/projects.md | 82 external/spirv-tools/external/spirv-headers/source/CMakeLists.txt | 283 external/spirv-tools/external/spirv-headers/source/assembly_grammar.cpp | 242 external/spirv-tools/external/spirv-headers/source/assembly_grammar.h | 118 external/spirv-tools/external/spirv-headers/source/binary.cpp | 780 - external/spirv-tools/external/spirv-headers/source/binary.h | 36 external/spirv-tools/external/spirv-headers/source/diagnostic.cpp | 172 external/spirv-tools/external/spirv-headers/source/diagnostic.h | 73 external/spirv-tools/external/spirv-headers/source/disassemble.cpp | 384 external/spirv-tools/external/spirv-headers/source/enum_set.cpp | 65 external/spirv-tools/external/spirv-headers/source/enum_set.h | 172 external/spirv-tools/external/spirv-headers/source/enum_string_mapping.cpp | 27 external/spirv-tools/external/spirv-headers/source/enum_string_mapping.h | 37 external/spirv-tools/external/spirv-headers/source/ext_inst.cpp | 131 external/spirv-tools/external/spirv-headers/source/ext_inst.h | 40 external/spirv-tools/external/spirv-headers/source/extensions.cpp | 46 external/spirv-tools/external/spirv-headers/source/extensions.h | 40 external/spirv-tools/external/spirv-headers/source/extinst-1.0.opencl.std.grammar.json | 1277 -- external/spirv-tools/external/spirv-headers/source/extinst.amd-gcn-shader.grammar.json | 26 external/spirv-tools/external/spirv-headers/source/instruction.h | 49 external/spirv-tools/external/spirv-headers/source/libspirv.cpp | 92 external/spirv-tools/external/spirv-headers/source/macro.h | 25 external/spirv-tools/external/spirv-headers/source/message.cpp | 54 external/spirv-tools/external/spirv-headers/source/message.h | 33 external/spirv-tools/external/spirv-headers/source/name_mapper.cpp | 332 external/spirv-tools/external/spirv-headers/source/name_mapper.h | 121 external/spirv-tools/external/spirv-headers/source/opcode.cpp | 279 external/spirv-tools/external/spirv-headers/source/opcode.h | 86 external/spirv-tools/external/spirv-headers/source/operand.cpp | 318 external/spirv-tools/external/spirv-headers/source/operand.h | 122 external/spirv-tools/external/spirv-headers/source/opt/CMakeLists.txt | 69 external/spirv-tools/external/spirv-headers/source/opt/basic_block.h | 96 external/spirv-tools/external/spirv-headers/source/opt/build_module.cpp | 75 external/spirv-tools/external/spirv-headers/source/opt/build_module.h | 43 external/spirv-tools/external/spirv-headers/source/opt/constants.h | 291 external/spirv-tools/external/spirv-headers/source/opt/def_use_manager.cpp | 182 external/spirv-tools/external/spirv-headers/source/opt/def_use_manager.h | 129 external/spirv-tools/external/spirv-headers/source/opt/eliminate_dead_constant_pass.cpp | 117 external/spirv-tools/external/spirv-headers/source/opt/eliminate_dead_constant_pass.h | 34 external/spirv-tools/external/spirv-headers/source/opt/fold_spec_constant_op_and_composite_pass.cpp | 777 - external/spirv-tools/external/spirv-headers/source/opt/fold_spec_constant_op_and_composite_pass.h | 175 external/spirv-tools/external/spirv-headers/source/opt/freeze_spec_constant_value_pass.cpp | 51 external/spirv-tools/external/spirv-headers/source/opt/freeze_spec_constant_value_pass.h | 34 external/spirv-tools/external/spirv-headers/source/opt/function.cpp | 48 external/spirv-tools/external/spirv-headers/source/opt/function.h | 95 external/spirv-tools/external/spirv-headers/source/opt/instruction.cpp | 93 external/spirv-tools/external/spirv-headers/source/opt/instruction.h | 234 external/spirv-tools/external/spirv-headers/source/opt/ir_loader.cpp | 157 external/spirv-tools/external/spirv-headers/source/opt/ir_loader.h | 82 external/spirv-tools/external/spirv-headers/source/opt/iterator.h | 189 external/spirv-tools/external/spirv-headers/source/opt/log.h | 228 external/spirv-tools/external/spirv-headers/source/opt/make_unique.h | 30 external/spirv-tools/external/spirv-headers/source/opt/module.cpp | 129 external/spirv-tools/external/spirv-headers/source/opt/module.h | 240 external/spirv-tools/external/spirv-headers/source/opt/null_pass.h | 34 external/spirv-tools/external/spirv-headers/source/opt/optimizer.cpp | 121 external/spirv-tools/external/spirv-headers/source/opt/pass.h | 71 external/spirv-tools/external/spirv-headers/source/opt/pass_manager.cpp | 35 external/spirv-tools/external/spirv-headers/source/opt/pass_manager.h | 101 external/spirv-tools/external/spirv-headers/source/opt/passes.h | 28 external/spirv-tools/external/spirv-headers/source/opt/reflect.h | 51 external/spirv-tools/external/spirv-headers/source/opt/set_spec_constant_default_value_pass.cpp | 306 external/spirv-tools/external/spirv-headers/source/opt/set_spec_constant_default_value_pass.h | 88 external/spirv-tools/external/spirv-headers/source/opt/strip_debug_info_pass.cpp | 33 external/spirv-tools/external/spirv-headers/source/opt/strip_debug_info_pass.h | 34 external/spirv-tools/external/spirv-headers/source/opt/type_manager.cpp | 225 external/spirv-tools/external/spirv-headers/source/opt/type_manager.h | 98 external/spirv-tools/external/spirv-headers/source/opt/types.cpp | 355 external/spirv-tools/external/spirv-headers/source/opt/types.h | 398 external/spirv-tools/external/spirv-headers/source/opt/unify_const_pass.cpp | 171 external/spirv-tools/external/spirv-headers/source/opt/unify_const_pass.h | 34 external/spirv-tools/external/spirv-headers/source/parsed_operand.cpp | 75 external/spirv-tools/external/spirv-headers/source/parsed_operand.h | 32 external/spirv-tools/external/spirv-headers/source/print.cpp | 115 external/spirv-tools/external/spirv-headers/source/print.h | 69 external/spirv-tools/external/spirv-headers/source/software_version.cpp | 31 external/spirv-tools/external/spirv-headers/source/spirv_constant.h | 103 external/spirv-tools/external/spirv-headers/source/spirv_definition.h | 33 external/spirv-tools/external/spirv-headers/source/spirv_endian.cpp | 77 external/spirv-tools/external/spirv-headers/source/spirv_endian.h | 37 external/spirv-tools/external/spirv-headers/source/spirv_target_env.cpp | 105 external/spirv-tools/external/spirv-headers/source/spirv_target_env.h | 24 external/spirv-tools/external/spirv-headers/source/spirv_validator_options.cpp | 77 external/spirv-tools/external/spirv-headers/source/spirv_validator_options.h | 47 external/spirv-tools/external/spirv-headers/source/table.cpp | 53 external/spirv-tools/external/spirv-headers/source/table.h | 115 external/spirv-tools/external/spirv-headers/source/text.cpp | 748 - external/spirv-tools/external/spirv-headers/source/text.h | 53 external/spirv-tools/external/spirv-headers/source/text_handler.cpp | 365 external/spirv-tools/external/spirv-headers/source/text_handler.h | 246 external/spirv-tools/external/spirv-headers/source/util/bitutils.h | 81 external/spirv-tools/external/spirv-headers/source/util/hex_float.h | 1076 - external/spirv-tools/external/spirv-headers/source/util/parse_number.cpp | 214 external/spirv-tools/external/spirv-headers/source/util/parse_number.h | 250 external/spirv-tools/external/spirv-headers/source/util/string_utils.cpp | 39 external/spirv-tools/external/spirv-headers/source/util/string_utils.h | 40 external/spirv-tools/external/spirv-headers/source/val/basic_block.cpp | 145 external/spirv-tools/external/spirv-headers/source/val/basic_block.h | 225 external/spirv-tools/external/spirv-headers/source/val/construct.cpp | 63 external/spirv-tools/external/spirv-headers/source/val/construct.h | 132 external/spirv-tools/external/spirv-headers/source/val/decoration.h | 87 external/spirv-tools/external/spirv-headers/source/val/function.cpp | 431 external/spirv-tools/external/spirv-headers/source/val/function.h | 313 external/spirv-tools/external/spirv-headers/source/val/instruction.cpp | 49 external/spirv-tools/external/spirv-headers/source/val/instruction.h | 114 external/spirv-tools/external/spirv-headers/source/val/validation_state.cpp | 430 external/spirv-tools/external/spirv-headers/source/val/validation_state.h | 417 external/spirv-tools/external/spirv-headers/source/validate.cpp | 392 external/spirv-tools/external/spirv-headers/source/validate.h | 218 external/spirv-tools/external/spirv-headers/source/validate_capability.cpp | 130 external/spirv-tools/external/spirv-headers/source/validate_cfg.cpp | 538 external/spirv-tools/external/spirv-headers/source/validate_datarules.cpp | 273 external/spirv-tools/external/spirv-headers/source/validate_decorations.cpp | 168 external/spirv-tools/external/spirv-headers/source/validate_id.cpp | 3273 ----- external/spirv-tools/external/spirv-headers/source/validate_instruction.cpp | 460 external/spirv-tools/external/spirv-headers/source/validate_layout.cpp | 206 external/spirv-tools/external/spirv-headers/source/validate_type_unique.cpp | 53 external/spirv-tools/external/spirv-headers/syntax.md | 238 external/spirv-tools/external/spirv-headers/test/CMakeLists.txt | 162 external/spirv-tools/external/spirv-headers/test/assembly_context_test.cpp | 76 external/spirv-tools/external/spirv-headers/test/assembly_format_test.cpp | 35 external/spirv-tools/external/spirv-headers/test/binary_destroy_test.cpp | 42 external/spirv-tools/external/spirv-headers/test/binary_endianness_test.cpp | 52 external/spirv-tools/external/spirv-headers/test/binary_header_get_test.cpp | 82 external/spirv-tools/external/spirv-headers/test/binary_parse_test.cpp | 896 - external/spirv-tools/external/spirv-headers/test/binary_strnlen_s_test.cpp | 30 external/spirv-tools/external/spirv-headers/test/binary_to_text.literal_test.cpp | 72 external/spirv-tools/external/spirv-headers/test/binary_to_text_test.cpp | 526 external/spirv-tools/external/spirv-headers/test/c_interface_test.cpp | 283 external/spirv-tools/external/spirv-headers/test/capability_set_test.cpp | 151 external/spirv-tools/external/spirv-headers/test/comment_test.cpp | 46 external/spirv-tools/external/spirv-headers/test/cpp_interface_test.cpp | 365 external/spirv-tools/external/spirv-headers/test/diagnostic_test.cpp | 78 external/spirv-tools/external/spirv-headers/test/enum_set_test.cpp | 288 external/spirv-tools/external/spirv-headers/test/enum_string_mapping_test.cpp | 249 external/spirv-tools/external/spirv-headers/test/ext_inst.glsl_test.cpp | 200 external/spirv-tools/external/spirv-headers/test/ext_inst.opencl_test.cpp | 369 external/spirv-tools/external/spirv-headers/test/fix_word_test.cpp | 62 external/spirv-tools/external/spirv-headers/test/generator_magic_number_test.cpp | 57 external/spirv-tools/external/spirv-headers/test/hex_float_test.cpp | 1234 -- external/spirv-tools/external/spirv-headers/test/immediate_int_test.cpp | 289 external/spirv-tools/external/spirv-headers/test/libspirv_macros_test.cpp | 23 external/spirv-tools/external/spirv-headers/test/log_test.cpp | 54 external/spirv-tools/external/spirv-headers/test/name_mapper_test.cpp | 345 external/spirv-tools/external/spirv-headers/test/named_id_test.cpp | 102 external/spirv-tools/external/spirv-headers/test/opcode_make_test.cpp | 42 external/spirv-tools/external/spirv-headers/test/opcode_require_capabilities_test.cpp | 76 external/spirv-tools/external/spirv-headers/test/opcode_split_test.cpp | 28 external/spirv-tools/external/spirv-headers/test/opcode_table_get_test.cpp | 38 external/spirv-tools/external/spirv-headers/test/operand-class-test-coverage.csv | 43 external/spirv-tools/external/spirv-headers/test/operand_capabilities_test.cpp | 736 - external/spirv-tools/external/spirv-headers/test/operand_pattern_test.cpp | 263 external/spirv-tools/external/spirv-headers/test/operand_test.cpp | 72 external/spirv-tools/external/spirv-headers/test/opt/CMakeLists.txt | 100 external/spirv-tools/external/spirv-headers/test/opt/assembly_builder.h | 251 external/spirv-tools/external/spirv-headers/test/opt/assembly_builder_test.cpp | 281 external/spirv-tools/external/spirv-headers/test/opt/def_use_test.cpp | 1521 -- external/spirv-tools/external/spirv-headers/test/opt/eliminate_dead_const_test.cpp | 840 - external/spirv-tools/external/spirv-headers/test/opt/fold_spec_const_op_composite_test.cpp | 1389 -- external/spirv-tools/external/spirv-headers/test/opt/freeze_spec_const_test.cpp | 128 external/spirv-tools/external/spirv-headers/test/opt/instruction_test.cpp | 151 external/spirv-tools/external/spirv-headers/test/opt/ir_loader_test.cpp | 368 external/spirv-tools/external/spirv-headers/test/opt/iterator_test.cpp | 217 external/spirv-tools/external/spirv-headers/test/opt/line_debug_info_test.cpp | 111 external/spirv-tools/external/spirv-headers/test/opt/module_test.cpp | 72 external/spirv-tools/external/spirv-headers/test/opt/module_utils.h | 34 external/spirv-tools/external/spirv-headers/test/opt/pass_fixture.h | 143 external/spirv-tools/external/spirv-headers/test/opt/pass_manager_test.cpp | 183 external/spirv-tools/external/spirv-headers/test/opt/pass_utils.cpp | 81 external/spirv-tools/external/spirv-headers/test/opt/pass_utils.h | 54 external/spirv-tools/external/spirv-headers/test/opt/set_spec_const_default_value_test.cpp | 542 external/spirv-tools/external/spirv-headers/test/opt/strip_debug_info_test.cpp | 101 external/spirv-tools/external/spirv-headers/test/opt/type_manager_test.cpp | 277 external/spirv-tools/external/spirv-headers/test/opt/types_test.cpp | 261 external/spirv-tools/external/spirv-headers/test/opt/unify_const_test.cpp | 981 - external/spirv-tools/external/spirv-headers/test/opt/utils_test.cpp | 106 external/spirv-tools/external/spirv-headers/test/parse_number_test.cpp | 970 - external/spirv-tools/external/spirv-headers/test/software_version_test.cpp | 65 external/spirv-tools/external/spirv-headers/test/string_utils_test.cpp | 190 external/spirv-tools/external/spirv-headers/test/target_env_test.cpp | 88 external/spirv-tools/external/spirv-headers/test/test_fixture.h | 182 external/spirv-tools/external/spirv-headers/test/text_advance_test.cpp | 131 external/spirv-tools/external/spirv-headers/test/text_destroy_test.cpp | 73 external/spirv-tools/external/spirv-headers/test/text_literal_test.cpp | 413 external/spirv-tools/external/spirv-headers/test/text_start_new_inst_test.cpp | 74 external/spirv-tools/external/spirv-headers/test/text_to_binary.annotation_test.cpp | 504 external/spirv-tools/external/spirv-headers/test/text_to_binary.barrier_test.cpp | 161 external/spirv-tools/external/spirv-headers/test/text_to_binary.constant_test.cpp | 826 - external/spirv-tools/external/spirv-headers/test/text_to_binary.control_flow_test.cpp | 395 external/spirv-tools/external/spirv-headers/test/text_to_binary.debug_test.cpp | 209 external/spirv-tools/external/spirv-headers/test/text_to_binary.device_side_enqueue_test.cpp | 107 external/spirv-tools/external/spirv-headers/test/text_to_binary.extension_test.cpp | 271 external/spirv-tools/external/spirv-headers/test/text_to_binary.function_test.cpp | 77 external/spirv-tools/external/spirv-headers/test/text_to_binary.group_test.cpp | 72 external/spirv-tools/external/spirv-headers/test/text_to_binary.image_test.cpp | 273 external/spirv-tools/external/spirv-headers/test/text_to_binary.literal_test.cpp | 121 external/spirv-tools/external/spirv-headers/test/text_to_binary.memory_test.cpp | 108 external/spirv-tools/external/spirv-headers/test/text_to_binary.misc_test.cpp | 56 external/spirv-tools/external/spirv-headers/test/text_to_binary.mode_setting_test.cpp | 298 external/spirv-tools/external/spirv-headers/test/text_to_binary.pipe_storage_test.cpp | 121 external/spirv-tools/external/spirv-headers/test/text_to_binary.subgroup_dispatch_test.cpp | 117 external/spirv-tools/external/spirv-headers/test/text_to_binary.type_declaration_test.cpp | 285 external/spirv-tools/external/spirv-headers/test/text_to_binary_test.cpp | 269 external/spirv-tools/external/spirv-headers/test/text_word_get_test.cpp | 251 external/spirv-tools/external/spirv-headers/test/unit_spirv.cpp | 53 external/spirv-tools/external/spirv-headers/test/unit_spirv.h | 226 external/spirv-tools/external/spirv-headers/test/val/CMakeLists.txt | 106 external/spirv-tools/external/spirv-headers/test/val/val_capability_test.cpp | 1624 -- external/spirv-tools/external/spirv-headers/test/val/val_cfg_test.cpp | 1382 -- external/spirv-tools/external/spirv-headers/test/val/val_data_test.cpp | 586 - external/spirv-tools/external/spirv-headers/test/val/val_decoration_test.cpp | 452 external/spirv-tools/external/spirv-headers/test/val/val_extensions_test.cpp | 106 external/spirv-tools/external/spirv-headers/test/val/val_fixtures.cpp | 110 external/spirv-tools/external/spirv-headers/test/val/val_fixtures.h | 64 external/spirv-tools/external/spirv-headers/test/val/val_id_test.cpp | 3999 ------- external/spirv-tools/external/spirv-headers/test/val/val_instructions_test.cpp | 82 external/spirv-tools/external/spirv-headers/test/val/val_layout_test.cpp | 495 external/spirv-tools/external/spirv-headers/test/val/val_limits_test.cpp | 706 - external/spirv-tools/external/spirv-headers/test/val/val_ssa_test.cpp | 1409 -- external/spirv-tools/external/spirv-headers/test/val/val_state_test.cpp | 140 external/spirv-tools/external/spirv-headers/test/val/val_storage_test.cpp | 178 external/spirv-tools/external/spirv-headers/test/val/val_type_unique_test.cpp | 223 external/spirv-tools/external/spirv-headers/test/val/val_validation_state_test.cpp | 155 external/spirv-tools/external/spirv-headers/tools/CMakeLists.txt | 57 external/spirv-tools/external/spirv-headers/tools/as/as.cpp | 141 external/spirv-tools/external/spirv-headers/tools/cfg/bin_to_dot.cpp | 187 external/spirv-tools/external/spirv-headers/tools/cfg/bin_to_dot.h | 27 external/spirv-tools/external/spirv-headers/tools/cfg/cfg.cpp | 125 external/spirv-tools/external/spirv-headers/tools/dis/dis.cpp | 183 external/spirv-tools/external/spirv-headers/tools/emacs/50spirv-tools.el | 40 external/spirv-tools/external/spirv-headers/tools/emacs/CMakeLists.txt | 46 external/spirv-tools/external/spirv-headers/tools/io.h | 77 external/spirv-tools/external/spirv-headers/tools/lesspipe/CMakeLists.txt | 26 external/spirv-tools/external/spirv-headers/tools/lesspipe/spirv-lesspipe.sh | 27 external/spirv-tools/external/spirv-headers/tools/opt/opt.cpp | 186 external/spirv-tools/external/spirv-headers/tools/val/val.cpp | 169 external/spirv-tools/external/spirv-headers/utils/check_copyright.py | 216 external/spirv-tools/external/spirv-headers/utils/generate_grammar_tables.py | 575 - external/spirv-tools/external/spirv-headers/utils/generate_registry_tables.py | 72 external/spirv-tools/external/spirv-headers/utils/generate_vim_syntax.py | 192 external/spirv-tools/external/spirv-headers/utils/update_build_version.py | 150 external/spirv-tools/include/spirv-tools/libspirv.h | 511 external/spirv-tools/include/spirv-tools/libspirv.hpp | 121 external/spirv-tools/include/spirv-tools/optimizer.hpp | 172 external/spirv-tools/include/spirv/1.0/GLSL.std.450.h | 131 external/spirv-tools/include/spirv/1.0/OpenCL.std.h | 272 external/spirv-tools/include/spirv/1.0/extinst.glsl.std.450.grammar.json | 642 - external/spirv-tools/include/spirv/1.0/extinst.opencl.std.100.grammar.json | 1279 -- external/spirv-tools/include/spirv/1.0/spirv.core.grammar.json | 5377 --------- external/spirv-tools/include/spirv/1.0/spirv.h | 943 - external/spirv-tools/include/spirv/1.0/spirv.hpp | 952 - external/spirv-tools/include/spirv/1.0/spirv.hpp11 | 952 - external/spirv-tools/include/spirv/1.0/spirv.json | 970 - external/spirv-tools/include/spirv/1.0/spirv.lua | 899 - external/spirv-tools/include/spirv/1.0/spirv.py | 899 - external/spirv-tools/include/spirv/1.1/GLSL.std.450.h | 131 external/spirv-tools/include/spirv/1.1/OpenCL.std.h | 272 external/spirv-tools/include/spirv/1.1/extinst.glsl.std.450.grammar.json | 642 - external/spirv-tools/include/spirv/1.1/extinst.opencl.std.100.grammar.json | 1279 -- external/spirv-tools/include/spirv/1.1/spirv.core.grammar.json | 5540 ---------- external/spirv-tools/include/spirv/1.1/spirv.h | 965 - external/spirv-tools/include/spirv/1.1/spirv.hpp | 974 - external/spirv-tools/include/spirv/1.1/spirv.hpp11 | 974 - external/spirv-tools/include/spirv/1.1/spirv.json | 990 - external/spirv-tools/include/spirv/1.1/spirv.lua | 921 - external/spirv-tools/include/spirv/1.1/spirv.py | 921 - external/spirv-tools/include/spirv/spir-v.xml | 112 external/spirv-tools/projects.md | 82 external/spirv-tools/source/CMakeLists.txt | 283 external/spirv-tools/source/assembly_grammar.cpp | 242 external/spirv-tools/source/assembly_grammar.h | 118 external/spirv-tools/source/binary.cpp | 780 + external/spirv-tools/source/binary.h | 36 external/spirv-tools/source/diagnostic.cpp | 172 external/spirv-tools/source/diagnostic.h | 73 external/spirv-tools/source/disassemble.cpp | 384 external/spirv-tools/source/enum_set.h | 172 external/spirv-tools/source/enum_string_mapping.cpp | 27 external/spirv-tools/source/enum_string_mapping.h | 37 external/spirv-tools/source/ext_inst.cpp | 131 external/spirv-tools/source/ext_inst.h | 40 external/spirv-tools/source/extensions.cpp | 46 external/spirv-tools/source/extensions.h | 40 external/spirv-tools/source/extinst.amd-gcn-shader.grammar.json | 26 external/spirv-tools/source/instruction.h | 49 external/spirv-tools/source/libspirv.cpp | 92 external/spirv-tools/source/macro.h | 25 external/spirv-tools/source/message.cpp | 54 external/spirv-tools/source/message.h | 33 external/spirv-tools/source/name_mapper.cpp | 332 external/spirv-tools/source/name_mapper.h | 121 external/spirv-tools/source/opcode.cpp | 279 external/spirv-tools/source/opcode.h | 86 external/spirv-tools/source/operand.cpp | 318 external/spirv-tools/source/operand.h | 122 external/spirv-tools/source/opt/CMakeLists.txt | 69 external/spirv-tools/source/opt/basic_block.h | 96 external/spirv-tools/source/opt/build_module.cpp | 75 external/spirv-tools/source/opt/build_module.h | 43 external/spirv-tools/source/opt/constants.h | 291 external/spirv-tools/source/opt/def_use_manager.cpp | 182 external/spirv-tools/source/opt/def_use_manager.h | 129 external/spirv-tools/source/opt/eliminate_dead_constant_pass.cpp | 117 external/spirv-tools/source/opt/eliminate_dead_constant_pass.h | 34 external/spirv-tools/source/opt/fold_spec_constant_op_and_composite_pass.cpp | 777 + external/spirv-tools/source/opt/fold_spec_constant_op_and_composite_pass.h | 175 external/spirv-tools/source/opt/freeze_spec_constant_value_pass.cpp | 51 external/spirv-tools/source/opt/freeze_spec_constant_value_pass.h | 34 external/spirv-tools/source/opt/function.cpp | 48 external/spirv-tools/source/opt/function.h | 95 external/spirv-tools/source/opt/instruction.cpp | 93 external/spirv-tools/source/opt/instruction.h | 234 external/spirv-tools/source/opt/ir_loader.cpp | 157 external/spirv-tools/source/opt/ir_loader.h | 82 external/spirv-tools/source/opt/iterator.h | 189 external/spirv-tools/source/opt/log.h | 228 external/spirv-tools/source/opt/make_unique.h | 30 external/spirv-tools/source/opt/module.cpp | 129 external/spirv-tools/source/opt/module.h | 240 external/spirv-tools/source/opt/null_pass.h | 34 external/spirv-tools/source/opt/optimizer.cpp | 121 external/spirv-tools/source/opt/pass.h | 71 external/spirv-tools/source/opt/pass_manager.cpp | 35 external/spirv-tools/source/opt/pass_manager.h | 101 external/spirv-tools/source/opt/passes.h | 28 external/spirv-tools/source/opt/reflect.h | 51 external/spirv-tools/source/opt/set_spec_constant_default_value_pass.cpp | 306 external/spirv-tools/source/opt/set_spec_constant_default_value_pass.h | 88 external/spirv-tools/source/opt/strip_debug_info_pass.cpp | 33 external/spirv-tools/source/opt/strip_debug_info_pass.h | 34 external/spirv-tools/source/opt/type_manager.cpp | 225 external/spirv-tools/source/opt/type_manager.h | 98 external/spirv-tools/source/opt/types.cpp | 355 external/spirv-tools/source/opt/types.h | 398 external/spirv-tools/source/opt/unify_const_pass.cpp | 171 external/spirv-tools/source/opt/unify_const_pass.h | 34 external/spirv-tools/source/parsed_operand.cpp | 75 external/spirv-tools/source/parsed_operand.h | 32 external/spirv-tools/source/print.cpp | 115 external/spirv-tools/source/print.h | 69 external/spirv-tools/source/software_version.cpp | 31 external/spirv-tools/source/spirv_constant.h | 103 external/spirv-tools/source/spirv_definition.h | 33 external/spirv-tools/source/spirv_endian.cpp | 77 external/spirv-tools/source/spirv_endian.h | 37 external/spirv-tools/source/spirv_target_env.cpp | 105 external/spirv-tools/source/spirv_target_env.h | 24 external/spirv-tools/source/spirv_validator_options.cpp | 77 external/spirv-tools/source/spirv_validator_options.h | 47 external/spirv-tools/source/table.cpp | 53 external/spirv-tools/source/table.h | 115 external/spirv-tools/source/text.cpp | 748 + external/spirv-tools/source/text.h | 53 external/spirv-tools/source/text_handler.cpp | 365 external/spirv-tools/source/text_handler.h | 246 external/spirv-tools/source/util/bitutils.h | 81 external/spirv-tools/source/util/hex_float.h | 1076 + external/spirv-tools/source/util/parse_number.cpp | 214 external/spirv-tools/source/util/parse_number.h | 250 external/spirv-tools/source/util/string_utils.cpp | 39 external/spirv-tools/source/util/string_utils.h | 40 external/spirv-tools/source/val/basic_block.cpp | 145 external/spirv-tools/source/val/basic_block.h | 225 external/spirv-tools/source/val/construct.cpp | 63 external/spirv-tools/source/val/construct.h | 132 external/spirv-tools/source/val/decoration.h | 87 external/spirv-tools/source/val/function.cpp | 431 external/spirv-tools/source/val/function.h | 313 external/spirv-tools/source/val/instruction.cpp | 49 external/spirv-tools/source/val/instruction.h | 114 external/spirv-tools/source/val/validation_state.cpp | 430 external/spirv-tools/source/val/validation_state.h | 417 external/spirv-tools/source/validate.cpp | 392 external/spirv-tools/source/validate.h | 218 external/spirv-tools/source/validate_capability.cpp | 130 external/spirv-tools/source/validate_cfg.cpp | 538 external/spirv-tools/source/validate_datarules.cpp | 273 external/spirv-tools/source/validate_decorations.cpp | 168 external/spirv-tools/source/validate_id.cpp | 3273 +++++ external/spirv-tools/source/validate_instruction.cpp | 460 external/spirv-tools/source/validate_layout.cpp | 206 external/spirv-tools/source/validate_type_unique.cpp | 53 external/spirv-tools/syntax.md | 238 external/spirv-tools/test/CMakeLists.txt | 162 external/spirv-tools/test/assembly_context_test.cpp | 76 external/spirv-tools/test/assembly_format_test.cpp | 35 external/spirv-tools/test/binary_destroy_test.cpp | 42 external/spirv-tools/test/binary_endianness_test.cpp | 52 external/spirv-tools/test/binary_header_get_test.cpp | 82 external/spirv-tools/test/binary_parse_test.cpp | 896 + external/spirv-tools/test/binary_strnlen_s_test.cpp | 30 external/spirv-tools/test/binary_to_text.literal_test.cpp | 72 external/spirv-tools/test/binary_to_text_test.cpp | 526 external/spirv-tools/test/c_interface_test.cpp | 283 external/spirv-tools/test/comment_test.cpp | 46 external/spirv-tools/test/cpp_interface_test.cpp | 365 external/spirv-tools/test/diagnostic_test.cpp | 78 external/spirv-tools/test/enum_set_test.cpp | 288 external/spirv-tools/test/enum_string_mapping_test.cpp | 249 external/spirv-tools/test/ext_inst.glsl_test.cpp | 200 external/spirv-tools/test/ext_inst.opencl_test.cpp | 369 external/spirv-tools/test/fix_word_test.cpp | 62 external/spirv-tools/test/generator_magic_number_test.cpp | 57 external/spirv-tools/test/hex_float_test.cpp | 1234 ++ external/spirv-tools/test/immediate_int_test.cpp | 289 external/spirv-tools/test/libspirv_macros_test.cpp | 23 external/spirv-tools/test/log_test.cpp | 54 external/spirv-tools/test/name_mapper_test.cpp | 345 external/spirv-tools/test/named_id_test.cpp | 102 external/spirv-tools/test/opcode_make_test.cpp | 42 external/spirv-tools/test/opcode_require_capabilities_test.cpp | 76 external/spirv-tools/test/opcode_split_test.cpp | 28 external/spirv-tools/test/opcode_table_get_test.cpp | 38 external/spirv-tools/test/operand-class-test-coverage.csv | 43 external/spirv-tools/test/operand_capabilities_test.cpp | 736 + external/spirv-tools/test/operand_pattern_test.cpp | 263 external/spirv-tools/test/operand_test.cpp | 72 external/spirv-tools/test/opt/CMakeLists.txt | 100 external/spirv-tools/test/opt/assembly_builder.h | 251 external/spirv-tools/test/opt/assembly_builder_test.cpp | 281 external/spirv-tools/test/opt/def_use_test.cpp | 1521 ++ external/spirv-tools/test/opt/eliminate_dead_const_test.cpp | 840 + external/spirv-tools/test/opt/fold_spec_const_op_composite_test.cpp | 1389 ++ external/spirv-tools/test/opt/freeze_spec_const_test.cpp | 128 external/spirv-tools/test/opt/instruction_test.cpp | 151 external/spirv-tools/test/opt/ir_loader_test.cpp | 368 external/spirv-tools/test/opt/iterator_test.cpp | 217 external/spirv-tools/test/opt/line_debug_info_test.cpp | 111 external/spirv-tools/test/opt/module_test.cpp | 72 external/spirv-tools/test/opt/module_utils.h | 34 external/spirv-tools/test/opt/pass_fixture.h | 143 external/spirv-tools/test/opt/pass_manager_test.cpp | 183 external/spirv-tools/test/opt/pass_utils.cpp | 81 external/spirv-tools/test/opt/pass_utils.h | 54 external/spirv-tools/test/opt/set_spec_const_default_value_test.cpp | 542 external/spirv-tools/test/opt/strip_debug_info_test.cpp | 101 external/spirv-tools/test/opt/type_manager_test.cpp | 277 external/spirv-tools/test/opt/types_test.cpp | 261 external/spirv-tools/test/opt/unify_const_test.cpp | 981 + external/spirv-tools/test/opt/utils_test.cpp | 106 external/spirv-tools/test/parse_number_test.cpp | 970 + external/spirv-tools/test/software_version_test.cpp | 65 external/spirv-tools/test/string_utils_test.cpp | 190 external/spirv-tools/test/target_env_test.cpp | 88 external/spirv-tools/test/test_fixture.h | 182 external/spirv-tools/test/text_advance_test.cpp | 131 external/spirv-tools/test/text_destroy_test.cpp | 73 external/spirv-tools/test/text_literal_test.cpp | 413 external/spirv-tools/test/text_start_new_inst_test.cpp | 74 external/spirv-tools/test/text_to_binary.annotation_test.cpp | 504 external/spirv-tools/test/text_to_binary.barrier_test.cpp | 161 external/spirv-tools/test/text_to_binary.constant_test.cpp | 826 + external/spirv-tools/test/text_to_binary.control_flow_test.cpp | 395 external/spirv-tools/test/text_to_binary.debug_test.cpp | 209 external/spirv-tools/test/text_to_binary.device_side_enqueue_test.cpp | 107 external/spirv-tools/test/text_to_binary.extension_test.cpp | 271 external/spirv-tools/test/text_to_binary.function_test.cpp | 77 external/spirv-tools/test/text_to_binary.group_test.cpp | 72 external/spirv-tools/test/text_to_binary.image_test.cpp | 273 external/spirv-tools/test/text_to_binary.literal_test.cpp | 121 external/spirv-tools/test/text_to_binary.memory_test.cpp | 108 external/spirv-tools/test/text_to_binary.misc_test.cpp | 56 external/spirv-tools/test/text_to_binary.mode_setting_test.cpp | 298 external/spirv-tools/test/text_to_binary.pipe_storage_test.cpp | 121 external/spirv-tools/test/text_to_binary.subgroup_dispatch_test.cpp | 117 external/spirv-tools/test/text_to_binary.type_declaration_test.cpp | 285 external/spirv-tools/test/text_to_binary_test.cpp | 269 external/spirv-tools/test/text_word_get_test.cpp | 251 external/spirv-tools/test/unit_spirv.cpp | 53 external/spirv-tools/test/unit_spirv.h | 226 external/spirv-tools/test/val/CMakeLists.txt | 106 external/spirv-tools/test/val/val_capability_test.cpp | 1624 ++ external/spirv-tools/test/val/val_cfg_test.cpp | 1382 ++ external/spirv-tools/test/val/val_data_test.cpp | 586 + external/spirv-tools/test/val/val_decoration_test.cpp | 452 external/spirv-tools/test/val/val_extensions_test.cpp | 106 external/spirv-tools/test/val/val_fixtures.cpp | 110 external/spirv-tools/test/val/val_fixtures.h | 64 external/spirv-tools/test/val/val_id_test.cpp | 3999 +++++++ external/spirv-tools/test/val/val_instructions_test.cpp | 82 external/spirv-tools/test/val/val_layout_test.cpp | 495 external/spirv-tools/test/val/val_limits_test.cpp | 706 + external/spirv-tools/test/val/val_ssa_test.cpp | 1409 ++ external/spirv-tools/test/val/val_state_test.cpp | 140 external/spirv-tools/test/val/val_storage_test.cpp | 178 external/spirv-tools/test/val/val_type_unique_test.cpp | 223 external/spirv-tools/test/val/val_validation_state_test.cpp | 155 external/spirv-tools/tools/CMakeLists.txt | 57 external/spirv-tools/tools/as/as.cpp | 141 external/spirv-tools/tools/cfg/bin_to_dot.cpp | 187 external/spirv-tools/tools/cfg/bin_to_dot.h | 27 external/spirv-tools/tools/cfg/cfg.cpp | 125 external/spirv-tools/tools/dis/dis.cpp | 183 external/spirv-tools/tools/emacs/50spirv-tools.el | 40 external/spirv-tools/tools/emacs/CMakeLists.txt | 46 external/spirv-tools/tools/io.h | 77 external/spirv-tools/tools/lesspipe/CMakeLists.txt | 26 external/spirv-tools/tools/lesspipe/spirv-lesspipe.sh | 27 external/spirv-tools/tools/opt/opt.cpp | 186 external/spirv-tools/tools/val/val.cpp | 169 external/spirv-tools/utils/check_copyright.py | 216 external/spirv-tools/utils/generate_grammar_tables.py | 575 + external/spirv-tools/utils/generate_registry_tables.py | 72 external/spirv-tools/utils/generate_vim_syntax.py | 192 external/spirv-tools/utils/update_build_version.py | 150 565 files changed, 88520 insertions(+), 89999 deletions(-)
New commits: commit 3fcd49a282a569306de984412e2d03160541253b Author: Timo Aaltonen <tjaal...@debian.org> Date: Sat May 20 00:11:54 2017 +0300 upload to experimental diff --git a/debian/changelog b/debian/changelog index f76fc80..170c307 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,10 @@ -vulkan (1.0.46.0+dfsg3-1) UNRELEASED; urgency=medium +vulkan (1.0.46.0+dfsg3-1) experimental; urgency=medium * rules: Fix glslang/spir-v build to always run make. * get-external.sh, rules: Fix the order of spirv-tools/-headers, and rebuild the tarball. Thanks, Philipp Zabel! - -- Timo Aaltonen <tjaal...@debian.org> Wed, 17 May 2017 08:14:00 +0300 + -- Timo Aaltonen <tjaal...@debian.org> Sat, 20 May 2017 00:11:43 +0300 vulkan (1.0.46.0+dfsg2-1) experimental; urgency=medium commit 58c5f7764e297f74a645e8f3573c0452add24e6c Author: Timo Aaltonen <tjaal...@debian.org> Date: Fri May 19 23:54:45 2017 +0300 get-external.sh, rules: Fix the order of spirv-tools/-headers, and rebuild the tarball. diff --git a/debian/changelog b/debian/changelog index e1a109d..f76fc80 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,8 @@ -vulkan (1.0.46.0+dfsg2-2) UNRELEASED; urgency=medium +vulkan (1.0.46.0+dfsg3-1) UNRELEASED; urgency=medium * rules: Fix glslang/spir-v build to always run make. + * get-external.sh, rules: Fix the order of spirv-tools/-headers, and + rebuild the tarball. Thanks, Philipp Zabel! -- Timo Aaltonen <tjaal...@debian.org> Wed, 17 May 2017 08:14:00 +0300 diff --git a/debian/get-external.sh b/debian/get-external.sh index 9b7ed3f..6124af0 100755 --- a/debian/get-external.sh +++ b/debian/get-external.sh @@ -13,10 +13,10 @@ wget $URL/spirv-tools/archive/$SPIRV_TOOLS_SHA.tar.gz -O spirv-tools.tar.gz tar xf glslang.tar.gz -C external/glslang --strip 1 -tar xf spirv-headers.tar.gz -C external/spirv-tools --strip 1 -tar xf spirv-tools.tar.gz -C external/spirv-tools/external/spirv-headers --strip 1 +tar xf spirv-tools.tar.gz -C external/spirv-tools --strip 1 +tar xf spirv-headers.tar.gz -C external/spirv-tools/external/spirv-headers --strip 1 # clean rm glslang.tar.gz spirv-tools.tar.gz spirv-headers.tar.gz -echo "Remember to git add new files in external/" +echo "Remember to run 'git add -f external/' and check that it looks sane" diff --git a/debian/rules b/debian/rules index 21ad645..50ba192 100755 --- a/debian/rules +++ b/debian/rules @@ -32,8 +32,7 @@ override_dh_auto_configure: build_spirv dh_auto_configure -- \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) \ - -DSPIRV_TOOLS_INCLUDE_DIR=../external/spirv-tools/external/spirv-headers/include \ - -DSPIRV_TOOLS_LIB=../external/spirv-tools \ + -DSPIRV_TOOLS_INCLUDE_DIR=../external/spirv-tools/include \ -DBUILD_TESTS=OFF \ -DBUILD_VKJSON=OFF \ -DBUILD_WSI_MIR_SUPPORT=OFF diff --git a/external/spirv-tools/.appveyor.yml b/external/spirv-tools/.appveyor.yml new file mode 100644 index 0000000..b8a5eaa --- /dev/null +++ b/external/spirv-tools/.appveyor.yml @@ -0,0 +1,42 @@ +# Windows Build Configuration for AppVeyor +# http://www.appveyor.com/docs/appveyor-yml + +# version format +version: "{build}" + +os: + - Visual Studio 2013 + - Visual Studio 2015 + +platform: + - Any CPU + +configuration: + - Debug + - Release + +branches: + only: + - master + +clone_depth: 5 + +matrix: + fast_finish: true # Show final status immediately if a test fails. + +# scripts that run after cloning repository +install: + - git clone https://github.com/KhronosGroup/SPIRV-Headers.git external/spirv-headers + - git clone https://github.com/google/googletest.git external/googletest + +build: + parallel: true # enable MSBuild parallel builds + verbosity: minimal + +build_script: + - mkdir build && cd build + - cmake .. + - cmake --build . --config %CONFIGURATION% + +test_script: + - ctest -C %CONFIGURATION% --output-on-failure diff --git a/external/spirv-tools/.clang-format b/external/spirv-tools/.clang-format new file mode 100644 index 0000000..2b5d4a5 --- /dev/null +++ b/external/spirv-tools/.clang-format @@ -0,0 +1,5 @@ +--- +Language: Cpp +BasedOnStyle: Google +DerivePointerAlignment: false +... diff --git a/external/spirv-tools/.gitignore b/external/spirv-tools/.gitignore index 9bcdd5a..5295aef 100644 --- a/external/spirv-tools/.gitignore +++ b/external/spirv-tools/.gitignore @@ -1,2 +1,11 @@ -build -out +/build* +.ycm_extra_conf.py* +compile_commands.json +/external/googletest/ +/external/spirv-headers/ +/TAGS +/.clang_complete + +# Vim +[._]*.s[a-w][a-z] +*~ diff --git a/external/spirv-tools/.travis.yml b/external/spirv-tools/.travis.yml new file mode 100644 index 0000000..9a14b87 --- /dev/null +++ b/external/spirv-tools/.travis.yml @@ -0,0 +1,91 @@ +# Linux Build Configuration for Travis + +language: cpp + +os: + - linux + - osx + +# Use Ubuntu 14.04 LTS (Trusty) as the Linux testing environment. +dist: trusty +sudo: required + +# Use the default Xcode environment for Xcode. + +env: + # Each line is a set of environment variables set before a build. + # Thus each line represents a different build configuration. + - BUILD_TYPE=Release + - BUILD_TYPE=Debug + +compiler: + - clang + - gcc + +matrix: + fast_finish: true + include: + # Additional build using Android NDK + - env: BUILD_NDK=ON + exclude: + # Skip GCC builds on macOS. + - os: osx + compiler: gcc + +cache: + apt: true + +branches: + only: + - master + +addons: + apt: + packages: + - ninja-build + +before_install: + # Install cmake & ninja on macOS. + - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ninja; fi + - if [[ "$BUILD_NDK" == "ON" ]]; then + git clone --depth=1 https://github.com/urho3d/android-ndk.git $HOME/android-ndk; + export ANDROID_NDK=$HOME/android-ndk; + git clone --depth=1 https://github.com/taka-no-me/android-cmake.git $HOME/android-cmake; + export TOOLCHAIN_PATH=$HOME/android-cmake/android.toolchain.cmake; + fi + +before_script: + - git clone --depth=1 https://github.com/KhronosGroup/SPIRV-Headers external/spirv-headers + - git clone --depth=1 https://github.com/google/googletest external/googletest + +script: + - mkdir build && cd build + - if [[ "$BUILD_NDK" == "ON" ]]; then + cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_PATH} + -DANDROID_NATIVE_API_LEVEL=android-9 + -DCMAKE_BUILD_TYPE=Release + -DANDROID_ABI="armeabi-v7a with NEON" + -DSPIRV_SKIP_TESTS=ON + -GNinja ..; + else + cmake -GNinja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ..; + fi + - ninja + - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then + export NPROC=`nproc`; + else + export NPROC=`sysctl -n hw.ncpu`; + fi + - if [[ "$BUILD_NDK" != "ON" ]]; then ctest -j${NPROC} --output_on_failure; fi + + +notifications: + email: + recipients: + - antiagai...@google.com + - awolos...@google.com + - dn...@google.com + - ehs...@google.com + - qin...@google.com + on_success: change + on_failure: always diff --git a/external/spirv-tools/CHANGES b/external/spirv-tools/CHANGES new file mode 100644 index 0000000..5aa5699 --- /dev/null +++ b/external/spirv-tools/CHANGES @@ -0,0 +1,130 @@ +Revision history for SPIRV-Tools + +v2016.7-dev 2017-01-06 + - Add build target spirv-tools-vimsyntax to generate spvasm.vim, a SPIR-V + assembly syntax file for Vim. + - Version string: Allow overriding of wall clock timestamp with contents + of environment variable SOURCE_DATE_EPOCH. + - Validator implements relaxed rules for SPV_KHR_16bit_storage. + - Fixes: + #500: Parameterize validator limit checks + #508: Support compilation under CYGWIN + #517: Fix validation when continue (or case) contstruct is also the head of a + nested control construct. + #551: If a merge block is reachable, it must be *strictly* dominated by its + header. + #548: Validator: Error when the reserved OpImageSparseSampleProj* opcodes + are used. + +v2016.6 2016-12-13 + - Published the C++ interface for assembling, disassembling, validation, and + optimization. + - Support SPV_KHR_shader_draw_parameters in assembler, disassembler, parser. + - Validator: + - Add validator API accepting raw binary words + - Increased coverage: + - Checks "Data rules" in Universal Validation Rules, section 2.16.1 + - WIP: Universal Limits. + - The minimum mandated upper bounds are checked. + - TODO: Parameterize the validator to allow larger limits accepted by + a more than minimally capable implementation. + - OpSampledImage checks + - OpConstantComposite checks + - Id bound check + - Disasssembler: + - Generates friendly GLSL-based names for more builtin variables + - Generates friendly names for numeric OpConstant values + - Vendor tool info extracted from SPIR-V XML registry file. + - Fixes issues: + #429: Validator: Allow OpTypeForwardPointer and OpTypeStruct to reference + undefined IDs + #482: Validator: OpVariable initializer can be an ID of a module-scope variable + +v2016.5 2016-09-16 + - Support SPV_KHR_shader_ballot in assembler, disassembler, parser. + - Disassembler: Generate friendly names for built-in variables. + - Partial fixes: + #359: Add Emacs helper for automatically diassembling/assembling a SPIR-V + binary on file load/save. + - Fixes: + #414: Validator: Allow OpUndef for composite constants + #415: Validator: Phi can use its own value in some cases. + +v2016.4 2016-09-01 + - Relicensed under Apache 2.0 + - Add optimization passes (in API and spirv-opt command) + - Fold spec constants defined with OpSpecConstantOp and + OpSpecConstantComposite to normal constants with fixed value(s). + - Fixes issues: + #318: Relicensed under Apache 2.0 + +v2016.3 2016-08-24 + - Add target environment enums for OpenCL 2.1, OpenCL 2.2, + OpenGL 4.0, OpenGL 4.1, OpenGL 4.2, OpenGL 4.3, OpenGL 4.5. + - Add spirv-cfg, an experimental tool to dump the control flow graph + as a GraphiViz "dot" graph + - Add optimization pass: Eliminate dead constants. + - Add spirv-lesspipe.sh filter utility + - Fixes issues: + #288: Check def-use dominance rules for OpPhi (variable,parent) operands + #339: Allow OpUndef in types-constants-global-vars section, as required + by SPIR-V 1.0 Rev7, 1.1 Rev 3. + #340: Avoid race on mkdir during build + #365: Relax PointSize, ClipDistance, CullDistance capability check in all + environments not just Vulkan 1.0. + +v2016.2 2016-08-05 + - Validator is incomplete + - Checks ID use block is dominated by definition block + - Add optimization passes (in API and spirv-opt command) + - Strip debug info instructions + - Freeze spec constant to their default values + - Allow INotEqual as operation for OpSpecConstantOp + - Fixes bugs: + #270: validator: crash when continue construct is unreachable + #279: validator: infinite loop when analyzing some degenerate control + flow graphs + #286: validator: don't incorrectly generate def-use error for + (variable,parent) parameters to OpPhi + #290: disassembler: never generate bare % for an identifier + #295: validator: def-use dominance check should ignore unreachable uses + #276: validator: allow unreachable continue constructs + #297: validator: allow an unreachable block to branch to a reachable + merge block + +v2016.1 2016-07-19 + - Fix https://github.com/KhronosGroup/SPIRV-Tools/issues/261 + Turn off ClipDistance and CullDistance capability checks for Vulkan. + - The disassembler can emit friendly names based on debug info (OpName + instructions), and will infer somewhat friendly names for most types. + This is turned on by default for the spirv-dis command line tool. + - Updated to support SPIR-V 1.1 rev 2 + - Input StorageClass, Sampled1D capability, and SampledBuffer capability + do not require Shader capability anymore. + +v2016.0 2016-07-04 + + - Adds v<year>.<index> versioning, with "-dev" indicating + work in progress. The intent is to more easly report + and summarize functionality when SPIRV-Tools is incorporated + in downstream projects. + + - Summary of functionality (See the README.md for more): + - Supports SPIR-V 1.1 Rev 1 + - Supports SPIR-V 1.0 Rev 5 + - Supports GLSL std450 extended instructions 1.0 Rev 3 + - Supports OpenCL extended instructions 1.0 Rev 2 + - Assembler, disassembler are complete + - Supports floating point widths of 16, 32, 64 bits + - Supports integer widths up to 64 bits + - Validator is incomplete + - Checks capability requirements in most cases + - Checks module layout constraints + - Checks ID use-definition ordering constraints, + ignoring control flow + - Checks some control flow graph rules + - Optimizer is introduced, with few available transforms. + - Supported on Linux, OSX, Android, Windows + + - Fixes bugs: + - #143: OpenCL pow and pown arguments diff --git a/external/spirv-tools/CMakeLists.txt b/external/spirv-tools/CMakeLists.txt index a5bff17..214ff91 100644 --- a/external/spirv-tools/CMakeLists.txt +++ b/external/spirv-tools/CMakeLists.txt @@ -1,51 +1,169 @@ # Copyright (c) 2015-2016 The Khronos Group Inc. # -# Permission is hereby granted, free of charge, to any person obtaining a -# copy of this software and/or associated documentation files (the -# "Materials"), to deal in the Materials without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Materials, and to -# permit persons to whom the Materials are furnished to do so, subject to -# the following conditions: +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at # -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Materials. +# http://www.apache.org/licenses/LICENSE-2.0 # -# MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS -# KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS -# SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT -# https://www.khronos.org/registry/ -# -# THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. -# -# The SPIR-V headers from the SPIR-V Registry -# https://www.khronos.org/registry/spir-v/ -# -cmake_minimum_required(VERSION 2.8) -project(SPIRV-Headers)