| # Copyright 2016 The ANGLE Project Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| { |
| 'variables': |
| { |
| 'glslang_path': '../../third_party/glslang-angle/src', |
| 'spirv_headers_path': '../../third_party/spirv-headers/src', |
| 'spirv_tools_path': '../../third_party/spirv-tools-angle/src', |
| 'vulkan_layers_path': '../../third_party/vulkan-validation-layers/src', |
| 'vulkan_json': 'angledata', |
| 'vulkan_loader_sources': |
| [ |
| '<(vulkan_layers_path)/loader/cJSON.c', |
| '<(vulkan_layers_path)/loader/cJSON.h', |
| '<(vulkan_layers_path)/loader/debug_report.c', |
| '<(vulkan_layers_path)/loader/debug_report.h', |
| '<(vulkan_layers_path)/loader/dev_ext_trampoline.c', |
| '<(vulkan_layers_path)/loader/extension_manual.c', |
| '<(vulkan_layers_path)/loader/extension_manual.h', |
| '<(vulkan_layers_path)/loader/gpa_helper.h', |
| '<(vulkan_layers_path)/loader/loader.c', |
| '<(vulkan_layers_path)/loader/loader.h', |
| '<(vulkan_layers_path)/loader/murmurhash.c', |
| '<(vulkan_layers_path)/loader/murmurhash.h', |
| '<(vulkan_layers_path)/loader/phys_dev_ext.c', |
| '<(vulkan_layers_path)/loader/trampoline.c', |
| '<(vulkan_layers_path)/loader/vk_loader_platform.h', |
| '<(vulkan_layers_path)/loader/wsi.c', |
| '<(vulkan_layers_path)/loader/wsi.h', |
| ], |
| 'vulkan_loader_win_sources': |
| [ |
| '<(vulkan_layers_path)/loader/dirent_on_windows.c', |
| '<(vulkan_layers_path)/loader/dirent_on_windows.h', |
| ], |
| 'vulkan_loader_include_dirs': |
| [ |
| '<(vulkan_layers_path)/include', |
| '<(vulkan_layers_path)/loader', |
| ], |
| 'vulkan_loader_cflags_win': |
| [ |
| '/wd4054', # Type cast from function pointer |
| '/wd4055', # Type cast from data pointer |
| '/wd4100', # Unreferenced formal parameter |
| '/wd4152', # Nonstandard extension used (pointer conversion) |
| '/wd4201', # Nonstandard extension used: nameless struct/union |
| '/wd4214', # Nonstandard extension used: bit field types other than int |
| '/wd4232', # Nonstandard extension used: address of dllimport is not static |
| '/wd4305', # Type cast truncation |
| '/wd4706', # Assignment within conditional expression |
| '/wd4996', # Unsafe stdlib function |
| ], |
| 'vulkan_layer_generated_files': |
| [ |
| '<(angle_gen_path)/vulkan/vk_enum_string_helper.h', |
| '<(angle_gen_path)/vulkan/vk_struct_size_helper.h', |
| '<(angle_gen_path)/vulkan/vk_struct_size_helper.c', |
| '<(angle_gen_path)/vulkan/vk_safe_struct.h', |
| '<(angle_gen_path)/vulkan/vk_safe_struct.cpp', |
| '<(angle_gen_path)/vulkan/vk_layer_dispatch_table.h', |
| '<(angle_gen_path)/vulkan/vk_dispatch_table_helper.h', |
| '<(angle_gen_path)/vulkan/vk_loader_extensions.h', |
| '<(angle_gen_path)/vulkan/vk_loader_extensions.c', |
| '<@(vulkan_gen_json_files_outputs)', |
| ], |
| 'glslang_sources': |
| [ |
| '<(glslang_path)/glslang/GenericCodeGen/CodeGen.cpp', |
| '<(glslang_path)/glslang/GenericCodeGen/Link.cpp', |
| '<(glslang_path)/glslang/Include/arrays.h', |
| '<(glslang_path)/glslang/Include/BaseTypes.h', |
| '<(glslang_path)/glslang/Include/Common.h', |
| '<(glslang_path)/glslang/Include/ConstantUnion.h', |
| '<(glslang_path)/glslang/Include/InfoSink.h', |
| '<(glslang_path)/glslang/Include/InitializeGlobals.h', |
| '<(glslang_path)/glslang/Include/intermediate.h', |
| '<(glslang_path)/glslang/Include/PoolAlloc.h', |
| '<(glslang_path)/glslang/Include/ResourceLimits.h', |
| '<(glslang_path)/glslang/Include/revision.h', |
| '<(glslang_path)/glslang/Include/ShHandle.h', |
| '<(glslang_path)/glslang/Include/Types.h', |
| '<(glslang_path)/glslang/MachineIndependent/Constant.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/gl_types.h', |
| '<(glslang_path)/glslang/MachineIndependent/glslang.y', |
| '<(glslang_path)/glslang/MachineIndependent/glslang_tab.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/glslang_tab.cpp.h', |
| '<(glslang_path)/glslang/MachineIndependent/InfoSink.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/Initialize.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/Initialize.h', |
| '<(glslang_path)/glslang/MachineIndependent/Intermediate.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/intermOut.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/IntermTraverse.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/iomapper.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/iomapper.h', |
| '<(glslang_path)/glslang/MachineIndependent/limits.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/linkValidate.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/LiveTraverser.h', |
| '<(glslang_path)/glslang/MachineIndependent/localintermediate.h', |
| '<(glslang_path)/glslang/MachineIndependent/parseConst.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/ParseContextBase.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/ParseHelper.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/ParseHelper.h', |
| '<(glslang_path)/glslang/MachineIndependent/parseVersions.h', |
| '<(glslang_path)/glslang/MachineIndependent/PoolAlloc.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/preprocessor/Pp.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/preprocessor/PpAtom.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/preprocessor/PpContext.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/preprocessor/PpContext.h', |
| '<(glslang_path)/glslang/MachineIndependent/preprocessor/PpMemory.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/preprocessor/PpScanner.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/preprocessor/PpSymbols.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/preprocessor/PpTokens.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/preprocessor/PpTokens.h', |
| '<(glslang_path)/glslang/MachineIndependent/propagateNoContraction.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/propagateNoContraction.h', |
| '<(glslang_path)/glslang/MachineIndependent/reflection.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/reflection.h', |
| '<(glslang_path)/glslang/MachineIndependent/RemoveTree.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/RemoveTree.h', |
| '<(glslang_path)/glslang/MachineIndependent/Scan.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/Scan.h', |
| '<(glslang_path)/glslang/MachineIndependent/ScanContext.h', |
| '<(glslang_path)/glslang/MachineIndependent/ShaderLang.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/SymbolTable.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/SymbolTable.h', |
| '<(glslang_path)/glslang/MachineIndependent/Versions.cpp', |
| '<(glslang_path)/glslang/MachineIndependent/Versions.h', |
| '<(glslang_path)/glslang/OSDependent/osinclude.h', |
| '<(glslang_path)/glslang/Public/ShaderLang.h', |
| '<(glslang_path)/hlsl/hlslAttributes.cpp', |
| '<(glslang_path)/hlsl/hlslAttributes.h', |
| '<(glslang_path)/hlsl/hlslGrammar.cpp', |
| '<(glslang_path)/hlsl/hlslGrammar.h', |
| '<(glslang_path)/hlsl/hlslOpMap.cpp', |
| '<(glslang_path)/hlsl/hlslOpMap.h', |
| '<(glslang_path)/hlsl/hlslParseables.cpp', |
| '<(glslang_path)/hlsl/hlslParseables.h', |
| '<(glslang_path)/hlsl/hlslParseHelper.cpp', |
| '<(glslang_path)/hlsl/hlslParseHelper.h', |
| '<(glslang_path)/hlsl/hlslScanContext.cpp', |
| '<(glslang_path)/hlsl/hlslScanContext.h', |
| '<(glslang_path)/hlsl/hlslTokens.h', |
| '<(glslang_path)/hlsl/hlslTokenStream.cpp', |
| '<(glslang_path)/hlsl/hlslTokenStream.h', |
| '<(glslang_path)/OGLCompilersDLL/InitializeDll.cpp', |
| '<(glslang_path)/OGLCompilersDLL/InitializeDll.h', |
| '<(glslang_path)/SPIRV/bitutils.h', |
| '<(glslang_path)/SPIRV/disassemble.cpp', |
| '<(glslang_path)/SPIRV/disassemble.h', |
| '<(glslang_path)/SPIRV/doc.cpp', |
| '<(glslang_path)/SPIRV/doc.h', |
| '<(glslang_path)/SPIRV/GLSL.ext.KHR.h', |
| '<(glslang_path)/SPIRV/GLSL.std.450.h', |
| '<(glslang_path)/SPIRV/GlslangToSpv.cpp', |
| '<(glslang_path)/SPIRV/GlslangToSpv.h', |
| '<(glslang_path)/SPIRV/hex_float.h', |
| '<(glslang_path)/SPIRV/InReadableOrder.cpp', |
| '<(glslang_path)/SPIRV/Logger.cpp', |
| '<(glslang_path)/SPIRV/Logger.h', |
| '<(glslang_path)/SPIRV/spirv.hpp', |
| '<(glslang_path)/SPIRV/SpvBuilder.cpp', |
| '<(glslang_path)/SPIRV/SpvBuilder.h', |
| '<(glslang_path)/SPIRV/spvIR.h', |
| '<(glslang_path)/StandAlone/ResourceLimits.cpp', |
| '<(glslang_path)/StandAlone/ResourceLimits.h', |
| ], |
| 'glslang_win_sources': |
| [ |
| '<(glslang_path)/glslang/OSDependent/Windows/ossource.cpp', |
| ], |
| 'glslang_unix_sources': |
| [ |
| '<(glslang_path)/glslang/OSDependent/Unix/ossource.cpp', |
| ], |
| 'spirv_tools_sources': |
| [ |
| '<(angle_gen_path)/vulkan/core.insts-1.0.inc', |
| '<(angle_gen_path)/vulkan/core.insts-1.1.inc', |
| '<(angle_gen_path)/vulkan/generators.inc', |
| '<(angle_gen_path)/vulkan/glsl.std.450.insts-1.0.inc', |
| '<(angle_gen_path)/vulkan/opencl.std.insts-1.0.inc', |
| '<(angle_gen_path)/vulkan/operand.kinds-1.0.inc', |
| '<(angle_gen_path)/vulkan/operand.kinds-1.1.inc', |
| '<(spirv_tools_path)/source/assembly_grammar.cpp', |
| '<(spirv_tools_path)/source/assembly_grammar.h', |
| '<(spirv_tools_path)/source/binary.cpp', |
| '<(spirv_tools_path)/source/binary.h', |
| '<(spirv_tools_path)/source/diagnostic.cpp', |
| '<(spirv_tools_path)/source/diagnostic.h', |
| '<(spirv_tools_path)/source/disassemble.cpp', |
| '<(spirv_tools_path)/source/enum_set.h', |
| '<(spirv_tools_path)/source/ext_inst.cpp', |
| '<(spirv_tools_path)/source/ext_inst.h', |
| '<(spirv_tools_path)/source/instruction.h', |
| '<(spirv_tools_path)/source/libspirv.cpp', |
| '<(spirv_tools_path)/source/macro.h', |
| '<(spirv_tools_path)/source/message.cpp', |
| '<(spirv_tools_path)/source/name_mapper.cpp', |
| '<(spirv_tools_path)/source/name_mapper.h', |
| '<(spirv_tools_path)/source/opcode.cpp', |
| '<(spirv_tools_path)/source/opcode.h', |
| '<(spirv_tools_path)/source/operand.cpp', |
| '<(spirv_tools_path)/source/operand.h', |
| '<(spirv_tools_path)/source/parsed_operand.cpp', |
| '<(spirv_tools_path)/source/parsed_operand.h', |
| '<(spirv_tools_path)/source/print.cpp', |
| '<(spirv_tools_path)/source/print.h', |
| # TODO(jmadill): Determine if this is ever needed. |
| #'<(spirv_tools_path)/source/software_version.cpp', |
| '<(spirv_tools_path)/source/spirv_constant.h', |
| '<(spirv_tools_path)/source/spirv_definition.h', |
| '<(spirv_tools_path)/source/spirv_endian.cpp', |
| '<(spirv_tools_path)/source/spirv_endian.h', |
| '<(spirv_tools_path)/source/spirv_target_env.cpp', |
| '<(spirv_tools_path)/source/spirv_target_env.h', |
| '<(spirv_tools_path)/source/table.cpp', |
| '<(spirv_tools_path)/source/table.h', |
| '<(spirv_tools_path)/source/text.cpp', |
| '<(spirv_tools_path)/source/text.h', |
| '<(spirv_tools_path)/source/text_handler.cpp', |
| '<(spirv_tools_path)/source/text_handler.h', |
| '<(spirv_tools_path)/source/util/bitutils.h', |
| '<(spirv_tools_path)/source/util/hex_float.h', |
| '<(spirv_tools_path)/source/util/parse_number.cpp', |
| '<(spirv_tools_path)/source/util/parse_number.h', |
| '<(spirv_tools_path)/source/val/basic_block.cpp', |
| '<(spirv_tools_path)/source/val/construct.cpp', |
| '<(spirv_tools_path)/source/val/function.cpp', |
| '<(spirv_tools_path)/source/val/instruction.cpp', |
| '<(spirv_tools_path)/source/val/validation_state.cpp', |
| '<(spirv_tools_path)/source/validate.cpp', |
| '<(spirv_tools_path)/source/validate.h', |
| '<(spirv_tools_path)/source/validate_cfg.cpp', |
| '<(spirv_tools_path)/source/validate_datarules.cpp', |
| '<(spirv_tools_path)/source/validate_id.cpp', |
| '<(spirv_tools_path)/source/validate_instruction.cpp', |
| '<(spirv_tools_path)/source/validate_layout.cpp', |
| ], |
| 'vulkan_layer_utils_sources': |
| [ |
| '<(vulkan_layers_path)/layers/vk_layer_config.cpp', |
| '<(vulkan_layers_path)/layers/vk_layer_config.h', |
| '<(vulkan_layers_path)/layers/vk_layer_extension_utils.cpp', |
| '<(vulkan_layers_path)/layers/vk_layer_extension_utils.h', |
| '<(vulkan_layers_path)/layers/vk_layer_utils.cpp', |
| '<(vulkan_layers_path)/layers/vk_layer_utils.h', |
| ], |
| 'vulkan_struct_wrappers_outputs': |
| [ |
| '<(angle_gen_path)/vulkan/vk_safe_struct.cpp', |
| '<(angle_gen_path)/vulkan/vk_safe_struct.h', |
| '<(angle_gen_path)/vulkan/vk_struct_size_helper.c', |
| '<(angle_gen_path)/vulkan/vk_struct_size_helper.h', |
| '<(angle_gen_path)/vulkan/vk_struct_string_helper.h', |
| '<(angle_gen_path)/vulkan/vk_struct_string_helper_cpp.h', |
| ], |
| 'VkLayer_core_validation_sources': |
| [ |
| # This file is manually included in the layer |
| # '<(angle_gen_path)/vulkan/vk_safe_struct.cpp', |
| '<(angle_gen_path)/vulkan/vk_safe_struct.h', |
| '<(vulkan_layers_path)/layers/buffer_validation.cpp', |
| '<(vulkan_layers_path)/layers/buffer_validation.h', |
| '<(vulkan_layers_path)/layers/core_validation.cpp', |
| '<(vulkan_layers_path)/layers/core_validation.h', |
| '<(vulkan_layers_path)/layers/descriptor_sets.cpp', |
| '<(vulkan_layers_path)/layers/descriptor_sets.h', |
| ], |
| 'VkLayer_swapchain_sources': |
| [ |
| '<(vulkan_layers_path)/layers/swapchain.cpp', |
| '<(vulkan_layers_path)/layers/swapchain.h', |
| ], |
| 'VkLayer_object_tracker_sources': |
| [ |
| '<(vulkan_layers_path)/layers/object_tracker.cpp', |
| '<(vulkan_layers_path)/layers/object_tracker.h', |
| ], |
| 'VkLayer_unique_objects_sources': |
| [ |
| '<(angle_gen_path)/vulkan/unique_objects_wrappers.h', |
| # This file is manually included in the layer |
| # '<(angle_gen_path)/vulkan/vk_safe_struct.cpp', |
| '<(angle_gen_path)/vulkan/vk_safe_struct.h', |
| '<(vulkan_layers_path)/layers/unique_objects.cpp', |
| '<(vulkan_layers_path)/layers/unique_objects.h', |
| ], |
| 'VkLayer_threading_sources': |
| [ |
| '<(angle_gen_path)/vulkan/thread_check.h', |
| '<(vulkan_layers_path)/layers/threading.cpp', |
| '<(vulkan_layers_path)/layers/threading.h', |
| ], |
| 'VkLayer_parameter_validation_sources': |
| [ |
| '<(angle_gen_path)/vulkan/parameter_validation.h', |
| '<(vulkan_layers_path)/layers/parameter_validation.cpp', |
| ], |
| 'vulkan_gen_json_files_sources_win': |
| [ |
| '<(vulkan_layers_path)/layers/windows/VkLayer_core_validation.json', |
| '<(vulkan_layers_path)/layers/windows/VkLayer_object_tracker.json', |
| '<(vulkan_layers_path)/layers/windows/VkLayer_parameter_validation.json', |
| '<(vulkan_layers_path)/layers/windows/VkLayer_swapchain.json', |
| '<(vulkan_layers_path)/layers/windows/VkLayer_threading.json', |
| '<(vulkan_layers_path)/layers/windows/VkLayer_unique_objects.json', |
| ], |
| 'vulkan_gen_json_files_sources_linux': |
| [ |
| '<(vulkan_layers_path)/layers/linux/VkLayer_core_validation.json', |
| '<(vulkan_layers_path)/layers/linux/VkLayer_object_tracker.json', |
| '<(vulkan_layers_path)/layers/linux/VkLayer_parameter_validation.json', |
| '<(vulkan_layers_path)/layers/linux/VkLayer_swapchain.json', |
| '<(vulkan_layers_path)/layers/linux/VkLayer_threading.json', |
| '<(vulkan_layers_path)/layers/linux/VkLayer_unique_objects.json', |
| ], |
| 'vulkan_gen_json_files_outputs': |
| [ |
| '<(PRODUCT_DIR)/<(vulkan_json)/VkLayer_core_validation.json', |
| '<(PRODUCT_DIR)/<(vulkan_json)/VkLayer_object_tracker.json', |
| '<(PRODUCT_DIR)/<(vulkan_json)/VkLayer_parameter_validation.json', |
| '<(PRODUCT_DIR)/<(vulkan_json)/VkLayer_swapchain.json', |
| '<(PRODUCT_DIR)/<(vulkan_json)/VkLayer_threading.json', |
| '<(PRODUCT_DIR)/<(vulkan_json)/VkLayer_unique_objects.json', |
| ], |
| }, |
| 'conditions': |
| [ |
| ['angle_enable_vulkan==1', |
| { |
| 'targets': |
| [ |
| { |
| 'target_name': 'glslang', |
| 'type': 'static_library', |
| 'sources': |
| [ |
| '<@(glslang_sources)', |
| ], |
| 'include_dirs': |
| [ |
| '<(glslang_path)', |
| ], |
| 'msvs_settings': |
| { |
| 'VCCLCompilerTool': |
| { |
| 'PreprocessorDefinitions': |
| [ |
| '_HAS_EXCEPTIONS=0', |
| ], |
| 'AdditionalOptions': |
| [ |
| '/wd4100', # Unreferenced formal parameter |
| '/wd4456', # Declaration hides previous local declaration |
| '/wd4457', # Declaration hides function parameter |
| '/wd4458', # Declaration hides class member |
| '/wd4702', # Unreachable code (from glslang_tab.cpp) |
| '/wd4718', # Recursive call has no side effects (from PpContext.cpp) |
| ], |
| }, |
| }, |
| 'direct_dependent_settings': |
| { |
| 'include_dirs': |
| [ |
| '<(glslang_path)/glslang/Public', |
| '<(glslang_path)', |
| ], |
| }, |
| 'conditions': |
| [ |
| ['target_os=="win"', |
| { |
| 'sources': |
| [ |
| '<@(glslang_win_sources)', |
| ], |
| }], |
| ['OS=="linux"', |
| { |
| 'sources': |
| [ |
| '<@(glslang_unix_sources)', |
| ], |
| }], |
| ], |
| }, |
| |
| { |
| 'target_name': 'spirv_tools', |
| 'type': 'static_library', |
| 'sources': |
| [ |
| '<@(spirv_tools_sources)', |
| ], |
| 'include_dirs': |
| [ |
| '<(angle_gen_path)/vulkan', |
| '<(spirv_headers_path)/include', |
| '<(spirv_tools_path)/include', |
| '<(spirv_tools_path)/source', |
| ], |
| 'msvs_settings': |
| { |
| 'VCCLCompilerTool': |
| { |
| 'PreprocessorDefinitions': |
| [ |
| '_HAS_EXCEPTIONS=0', |
| ], |
| 'AdditionalOptions': |
| [ |
| '/wd4127', # Conditional expression is constant, happens in a template in hex_float.h. |
| '/wd4706', # Assignment within conditional expression |
| '/wd4996', # Unsafe stdlib function |
| ], |
| }, |
| }, |
| 'actions': |
| [ |
| { |
| 'action_name': 'spirv_tools_gen_build_tables_1_0', |
| 'message': 'generating info tables for SPIR-V 1.0 instructions and operands', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': |
| [ |
| '<(spirv_headers_path)/include/spirv/1.0/extinst.glsl.std.450.grammar.json', |
| '<(spirv_headers_path)/include/spirv/1.0/spirv.core.grammar.json', |
| '<(spirv_tools_path)/source/extinst-1.0.opencl.std.grammar.json', |
| '<(spirv_tools_path)/utils/generate_grammar_tables.py', |
| ], |
| 'outputs': |
| [ |
| '<(angle_gen_path)/vulkan/core.insts-1.0.inc', |
| '<(angle_gen_path)/vulkan/glsl.std.450.insts-1.0.inc', |
| '<(angle_gen_path)/vulkan/opencl.std.insts-1.0.inc', |
| '<(angle_gen_path)/vulkan/operand.kinds-1.0.inc', |
| ], |
| 'action': |
| [ |
| 'python2', '<(spirv_tools_path)/utils/generate_grammar_tables.py', |
| '--spirv-core-grammar=<(spirv_headers_path)/include/spirv/1.0/spirv.core.grammar.json', |
| '--extinst-glsl-grammar=<(spirv_headers_path)/include/spirv/1.0/extinst.glsl.std.450.grammar.json', |
| '--extinst-opencl-grammar=<(spirv_tools_path)/source/extinst-1.0.opencl.std.grammar.json', |
| '--core-insts-output=<(angle_gen_path)/vulkan/core.insts-1.0.inc', |
| '--glsl-insts-output=<(angle_gen_path)/vulkan/glsl.std.450.insts-1.0.inc', |
| '--opencl-insts-output=<(angle_gen_path)/vulkan/opencl.std.insts-1.0.inc', |
| '--operand-kinds-output=<(angle_gen_path)/vulkan/operand.kinds-1.0.inc', |
| ], |
| }, |
| |
| { |
| 'action_name': 'spirv_tools_gen_build_tables_1_1', |
| 'message': 'generating info tables for SPIR-V 1.1 instructions and operands', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': |
| [ |
| '<(spirv_tools_path)/utils/generate_grammar_tables.py', |
| '<(spirv_headers_path)/include/spirv/1.1/spirv.core.grammar.json', |
| ], |
| 'outputs': |
| [ |
| '<(angle_gen_path)/vulkan/core.insts-1.1.inc', |
| '<(angle_gen_path)/vulkan/operand.kinds-1.1.inc', |
| ], |
| 'action': |
| [ |
| 'python2', '<(spirv_tools_path)/utils/generate_grammar_tables.py', |
| '--spirv-core-grammar=<(spirv_headers_path)/include/spirv/1.1/spirv.core.grammar.json', |
| '--core-insts-output=<(angle_gen_path)/vulkan/core.insts-1.1.inc', |
| '--operand-kinds-output=<(angle_gen_path)/vulkan/operand.kinds-1.1.inc', |
| ], |
| }, |
| |
| { |
| 'action_name': 'spirv_tools_gen_generators_inc', |
| 'message': 'generating generators.inc for SPIRV-Tools', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': |
| [ |
| '<(spirv_tools_path)/utils/generate_registry_tables.py', |
| '<(spirv_headers_path)/include/spirv/spir-v.xml', |
| ], |
| 'outputs': |
| [ |
| '<(angle_gen_path)/vulkan/generators.inc', |
| ], |
| 'action': |
| [ |
| 'python2', '<(spirv_tools_path)/utils/generate_registry_tables.py', |
| '--xml=<(spirv_headers_path)/include/spirv/spir-v.xml', |
| '--generator-output=<(angle_gen_path)/vulkan/generators.inc', |
| ], |
| }, |
| ], |
| |
| 'direct_dependent_settings': |
| { |
| 'include_dirs': |
| [ |
| '<(spirv_headers_path)/include', |
| '<(spirv_tools_path)/include', |
| ], |
| }, |
| }, |
| |
| { |
| 'target_name': 'vulkan_layer_utils_static', |
| 'type': 'static_library', |
| 'msvs_cygwin_shell': 0, |
| 'sources': |
| [ |
| '<@(vulkan_layer_utils_sources)', |
| ], |
| 'include_dirs': |
| [ |
| '<(angle_gen_path)/vulkan', |
| '<@(vulkan_loader_include_dirs)', |
| ], |
| 'msvs_settings': |
| { |
| 'VCCLCompilerTool': |
| { |
| 'PreprocessorDefinitions': |
| [ |
| '_HAS_EXCEPTIONS=0', |
| ], |
| 'AdditionalOptions': |
| [ |
| '/wd4100', # Unreferenced formal parameter |
| '/wd4309', # Truncation of constant value |
| '/wd4505', # Unreferenced local function has been removed |
| '/wd4996', # Unsafe stdlib function |
| ], |
| }, |
| }, |
| 'conditions': |
| [ |
| ['target_os=="win"', |
| { |
| 'defines': |
| [ |
| 'WIN32', |
| 'WIN32_LEAN_AND_MEAN', |
| 'VK_USE_PLATFORM_WIN32_KHR', |
| 'VK_USE_PLATFORM_WIN32_KHX', |
| ], |
| }], |
| ['OS=="linux"', |
| { |
| 'defines': |
| [ |
| 'VK_USE_PLATFORM_XCB_KHR', |
| 'VK_USE_PLATFORM_XCB_KHX', |
| ], |
| }], |
| ], |
| 'direct_dependent_settings': |
| { |
| 'msvs_cygwin_shell': 0, |
| 'sources': |
| [ |
| '<(vulkan_layers_path)/layers/vk_layer_table.cpp', |
| '<(vulkan_layers_path)/layers/vk_layer_table.h', |
| ], |
| 'include_dirs': |
| [ |
| '<(angle_gen_path)/vulkan', |
| '<(glslang_path)', |
| '<(vulkan_layers_path)/layers', |
| '<@(vulkan_loader_include_dirs)', |
| ], |
| 'msvs_settings': |
| { |
| 'VCCLCompilerTool': |
| { |
| 'PreprocessorDefinitions': |
| [ |
| '_HAS_EXCEPTIONS=0', |
| ], |
| 'AdditionalOptions': |
| [ |
| '/wd4100', # Unreferenced local parameter |
| '/wd4201', # Nonstandard extension used: nameless struct/union |
| '/wd4456', # declaration hides previous local declaration |
| '/wd4505', # Unreferenced local function has been removed |
| '/wd4996', # Unsafe stdlib function |
| ], |
| } |
| }, |
| 'conditions': |
| [ |
| ['target_os=="win"', |
| { |
| 'defines': |
| [ |
| 'WIN32_LEAN_AND_MEAN', |
| 'VK_USE_PLATFORM_WIN32_KHR', |
| 'VK_USE_PLATFORM_WIN32_KHX', |
| ], |
| 'configurations': |
| { |
| 'Debug_Base': |
| { |
| 'msvs_settings': |
| { |
| 'VCCLCompilerTool': |
| { |
| 'AdditionalOptions': |
| [ |
| '/bigobj', |
| ], |
| }, |
| }, |
| }, |
| }, |
| }], |
| ['OS=="linux"', |
| { |
| 'defines': |
| [ |
| 'VK_USE_PLATFORM_XCB_KHR', |
| 'VK_USE_PLATFORM_XCB_KHX', |
| ], |
| }], |
| ], |
| }, |
| |
| 'actions': |
| [ |
| # Duplicate everything because of GYP limitations. |
| { |
| 'action_name': 'vulkan_run_vk_xml_generate_vk_enum_string_helper_h', |
| 'message': 'generating vk_enum_string_helper.h', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': |
| [ |
| '<(vulkan_layers_path)/scripts/generator.py', |
| '<(vulkan_layers_path)/scripts/helper_file_generator.py', |
| '<(vulkan_layers_path)/scripts/lvl_genvk.py', |
| '<(vulkan_layers_path)/scripts/reg.py', |
| '<(vulkan_layers_path)/scripts/vk.xml', |
| ], |
| 'outputs': |
| [ |
| '<(angle_gen_path)/vulkan/vk_enum_string_helper.h' |
| ], |
| 'action': |
| [ |
| 'python2', '<(vulkan_layers_path)/scripts/lvl_genvk.py', |
| '-o', '<(angle_gen_path)/vulkan', |
| '-registry', '<(vulkan_layers_path)/scripts/vk.xml', |
| 'vk_enum_string_helper.h', '-quiet', |
| ], |
| }, |
| |
| { |
| 'action_name': 'vulkan_run_vk_xml_generate_vk_struct_size_helper_h', |
| 'message': 'generating vk_struct_size_helper.h', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': |
| [ |
| '<(vulkan_layers_path)/scripts/generator.py', |
| '<(vulkan_layers_path)/scripts/helper_file_generator.py', |
| '<(vulkan_layers_path)/scripts/lvl_genvk.py', |
| '<(vulkan_layers_path)/scripts/reg.py', |
| '<(vulkan_layers_path)/scripts/vk.xml', |
| ], |
| 'outputs': |
| [ |
| '<(angle_gen_path)/vulkan/vk_struct_size_helper.h' |
| ], |
| 'action': |
| [ |
| 'python2', '<(vulkan_layers_path)/scripts/lvl_genvk.py', |
| '-o', '<(angle_gen_path)/vulkan', |
| '-registry', '<(vulkan_layers_path)/scripts/vk.xml', |
| 'vk_struct_size_helper.h', '-quiet', |
| ], |
| }, |
| |
| { |
| 'action_name': 'vulkan_run_vk_xml_generate_vk_struct_size_helper_c', |
| 'message': 'generating vk_struct_size_helper.c', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': |
| [ |
| '<(vulkan_layers_path)/scripts/generator.py', |
| '<(vulkan_layers_path)/scripts/helper_file_generator.py', |
| '<(vulkan_layers_path)/scripts/lvl_genvk.py', |
| '<(vulkan_layers_path)/scripts/reg.py', |
| '<(vulkan_layers_path)/scripts/vk.xml', |
| ], |
| 'outputs': |
| [ |
| '<(angle_gen_path)/vulkan/vk_struct_size_helper.c' |
| ], |
| 'action': |
| [ |
| 'python2', '<(vulkan_layers_path)/scripts/lvl_genvk.py', |
| '-o', '<(angle_gen_path)/vulkan', |
| '-registry', '<(vulkan_layers_path)/scripts/vk.xml', |
| 'vk_struct_size_helper.c', '-quiet', |
| ], |
| }, |
| |
| { |
| 'action_name': 'vulkan_run_vk_xml_generate_vk_safe_struct_h', |
| 'message': 'generating vk_safe_struct.h', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': |
| [ |
| '<(vulkan_layers_path)/scripts/generator.py', |
| '<(vulkan_layers_path)/scripts/helper_file_generator.py', |
| '<(vulkan_layers_path)/scripts/lvl_genvk.py', |
| '<(vulkan_layers_path)/scripts/reg.py', |
| '<(vulkan_layers_path)/scripts/vk.xml', |
| ], |
| 'outputs': |
| [ |
| '<(angle_gen_path)/vulkan/vk_safe_struct.h' |
| ], |
| 'action': |
| [ |
| 'python2', '<(vulkan_layers_path)/scripts/lvl_genvk.py', |
| '-o', '<(angle_gen_path)/vulkan', |
| '-registry', '<(vulkan_layers_path)/scripts/vk.xml', |
| 'vk_safe_struct.h', '-quiet', |
| ], |
| }, |
| |
| { |
| 'action_name': 'vulkan_run_vk_xml_generate_vk_safe_struct_cpp', |
| 'message': 'generating vk_safe_struct.cpp', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': |
| [ |
| '<(vulkan_layers_path)/scripts/generator.py', |
| '<(vulkan_layers_path)/scripts/helper_file_generator.py', |
| '<(vulkan_layers_path)/scripts/lvl_genvk.py', |
| '<(vulkan_layers_path)/scripts/reg.py', |
| '<(vulkan_layers_path)/scripts/vk.xml', |
| ], |
| 'outputs': |
| [ |
| '<(angle_gen_path)/vulkan/vk_safe_struct.cpp' |
| ], |
| 'action': |
| [ |
| 'python2', '<(vulkan_layers_path)/scripts/lvl_genvk.py', |
| '-o', '<(angle_gen_path)/vulkan', |
| '-registry', '<(vulkan_layers_path)/scripts/vk.xml', |
| 'vk_safe_struct.cpp', '-quiet', |
| ], |
| }, |
| |
| { |
| 'action_name': 'vulkan_run_vk_xml_generate_vk_layer_dispatch_table_h', |
| 'message': 'generating vk_layer_dispatch_table.h', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': |
| [ |
| '<(vulkan_layers_path)/scripts/loader_extension_generator.py', |
| '<(vulkan_layers_path)/scripts/generator.py', |
| '<(vulkan_layers_path)/scripts/lvl_genvk.py', |
| '<(vulkan_layers_path)/scripts/reg.py', |
| '<(vulkan_layers_path)/scripts/vk.xml', |
| ], |
| 'outputs': |
| [ |
| '<(angle_gen_path)/vulkan/vk_layer_dispatch_table.h', |
| ], |
| 'action': |
| [ |
| 'python2', '<(vulkan_layers_path)/scripts/lvl_genvk.py', '-o', '<(angle_gen_path)/vulkan', |
| '-registry', '<(vulkan_layers_path)/scripts/vk.xml', 'vk_layer_dispatch_table.h', '-quiet', |
| ], |
| }, |
| |
| { |
| 'action_name': 'vulkan_run_vk_xml_generate_vk_dispatch_table_helper_h', |
| 'message': 'generating vk_dispatch_table_helper.h', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': |
| [ |
| '<(vulkan_layers_path)/scripts/dispatch_table_helper_generator.py', |
| '<(vulkan_layers_path)/scripts/generator.py', |
| '<(vulkan_layers_path)/scripts/lvl_genvk.py', |
| '<(vulkan_layers_path)/scripts/reg.py', |
| '<(vulkan_layers_path)/scripts/vk.xml', |
| ], |
| 'outputs': |
| [ |
| '<(angle_gen_path)/vulkan/vk_dispatch_table_helper.h', |
| ], |
| 'action': |
| [ |
| 'python2', '<(vulkan_layers_path)/scripts/lvl_genvk.py', '-o', '<(angle_gen_path)/vulkan', |
| '-registry', '<(vulkan_layers_path)/scripts/vk.xml', 'vk_dispatch_table_helper.h', '-quiet', |
| ], |
| }, |
| |
| { |
| 'action_name': 'vulkan_run_vk_xml_generate_vk_loader_extensions_h', |
| 'message': 'generating vk_loader_extensions.h', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': |
| [ |
| '<(vulkan_layers_path)/scripts/loader_extension_generator.py', |
| '<(vulkan_layers_path)/scripts/generator.py', |
| '<(vulkan_layers_path)/scripts/lvl_genvk.py', |
| '<(vulkan_layers_path)/scripts/reg.py', |
| '<(vulkan_layers_path)/scripts/vk.xml', |
| ], |
| 'outputs': |
| [ |
| '<(angle_gen_path)/vulkan/vk_loader_extensions.h', |
| ], |
| 'action': |
| [ |
| 'python2', '<(vulkan_layers_path)/scripts/lvl_genvk.py', '-o', '<(angle_gen_path)/vulkan', |
| '-registry', '<(vulkan_layers_path)/scripts/vk.xml', 'vk_loader_extensions.h', '-quiet', |
| ], |
| }, |
| |
| { |
| 'action_name': 'vulkan_run_vk_xml_generate_vk_loader_extensions_c', |
| 'message': 'generating vk_loader_extensions.c', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': |
| [ |
| '<(vulkan_layers_path)/scripts/loader_extension_generator.py', |
| '<(vulkan_layers_path)/scripts/generator.py', |
| '<(vulkan_layers_path)/scripts/lvl_genvk.py', |
| '<(vulkan_layers_path)/scripts/reg.py', |
| '<(vulkan_layers_path)/scripts/vk.xml', |
| ], |
| 'outputs': |
| [ |
| '<(angle_gen_path)/vulkan/vk_loader_extensions.c', |
| ], |
| 'action': |
| [ |
| 'python2', '<(vulkan_layers_path)/scripts/lvl_genvk.py', '-o', '<(angle_gen_path)/vulkan', |
| '-registry', '<(vulkan_layers_path)/scripts/vk.xml', 'vk_loader_extensions.c', '-quiet', |
| ], |
| }, |
| |
| { |
| 'action_name': 'vulkan_generate_json_files', |
| 'message': 'generating Vulkan json files', |
| 'inputs': |
| [ |
| '<(angle_path)/scripts/generate_vulkan_layers_json.py', |
| ], |
| 'outputs': |
| [ |
| '<@(vulkan_gen_json_files_outputs)', |
| ], |
| 'conditions': |
| [ |
| ['target_os=="win"', |
| { |
| 'inputs': |
| [ |
| '<@(vulkan_gen_json_files_sources_win)', |
| ], |
| 'action': |
| [ |
| 'python2', '<(angle_path)/scripts/generate_vulkan_layers_json.py', |
| '<(vulkan_layers_path)/layers/windows', '<(PRODUCT_DIR)/<(vulkan_json)', |
| ], |
| }], |
| ['OS=="linux"', |
| { |
| 'inputs': |
| [ |
| '<@(vulkan_gen_json_files_sources_linux)', |
| ], |
| 'action': |
| [ |
| 'python2', '<(angle_path)/scripts/generate_vulkan_layers_json.py', |
| '<(vulkan_layers_path)/layers/linux', '<(PRODUCT_DIR)/<(vulkan_json)', |
| ], |
| }], |
| ], |
| }, |
| ], |
| }, |
| |
| { |
| 'target_name': 'vulkan_loader', |
| 'type': 'static_library', |
| 'sources': |
| [ |
| '<@(vulkan_loader_sources)', |
| ], |
| 'include_dirs': |
| [ |
| '<@(vulkan_loader_include_dirs)', |
| '<(angle_gen_path)/vulkan', |
| ], |
| 'defines': |
| [ |
| 'API_NAME="Vulkan"', |
| 'VULKAN_NON_CMAKE_BUILD', |
| ], |
| 'msvs_settings': |
| { |
| 'VCCLCompilerTool': |
| { |
| 'AdditionalOptions': |
| [ |
| # TODO(jmadill): Force include header on other platforms. |
| '<@(vulkan_loader_cflags_win)', |
| '/FIangle_loader.h' |
| ], |
| }, |
| 'VCLinkerTool': |
| { |
| 'AdditionalDependencies': |
| [ |
| 'shlwapi.lib', |
| ], |
| }, |
| }, |
| 'direct_dependent_settings': |
| { |
| 'include_dirs': |
| [ |
| '<@(vulkan_loader_include_dirs)', |
| ], |
| 'msvs_settings': |
| { |
| 'VCLinkerTool': |
| { |
| 'AdditionalDependencies': |
| [ |
| 'shlwapi.lib', |
| ], |
| }, |
| }, |
| 'conditions': |
| [ |
| ['target_os=="win"', |
| { |
| 'defines': |
| [ |
| 'VK_USE_PLATFORM_WIN32_KHR', |
| 'VK_USE_PLATFORM_WIN32_KHX', |
| ], |
| }], |
| ['OS=="linux"', |
| { |
| 'defines': |
| [ |
| 'VK_USE_PLATFORM_XCB_KHR', |
| 'VK_USE_PLATFORM_XCB_KHX', |
| ], |
| }], |
| ], |
| }, |
| 'conditions': |
| [ |
| ['target_os=="win"', |
| { |
| 'sources': |
| [ |
| '<(angle_gen_path)/vulkan/angle_loader.h', |
| '<@(vulkan_loader_win_sources)', |
| ], |
| 'defines': |
| [ |
| 'VK_USE_PLATFORM_WIN32_KHR', |
| 'VK_USE_PLATFORM_WIN32_KHX', |
| ], |
| }], |
| ['OS=="linux"', |
| { |
| 'defines': |
| [ |
| 'DEFAULT_VK_LAYERS_PATH="."', |
| 'HAVE_SECURE_GETENV', |
| 'LAYERS_SOURCE_PATH="<(vulkan_json)"', |
| 'VK_USE_PLATFORM_XCB_KHR', |
| 'VK_USE_PLATFORM_XCB_KHX', |
| ], |
| }], |
| ], |
| 'actions': |
| [ |
| { |
| # The loader header is force included into the loader and layers. Because |
| # of issues with GYP, we can't use a normal header file, we hav to force |
| # inclue this using compiler-specific flags. |
| 'action_name': 'vulkan_loader_gen_angle_header', |
| 'message': 'generating Vulkan loader ANGLE header', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': |
| [ |
| '<(angle_path)/scripts/generate_vulkan_header.py', |
| ], |
| 'outputs': |
| [ |
| '<(angle_gen_path)/vulkan/angle_loader.h', |
| ], |
| 'action': |
| [ |
| # TODO(jmadill): Use correct platform path |
| 'python2', '<(angle_path)/scripts/generate_vulkan_header.py', '<(PRODUCT_DIR)/<(vulkan_json)', |
| '<(angle_gen_path)/vulkan/angle_loader.h', '<(PRODUCT_DIR)', |
| ], |
| }, |
| { |
| 'action_name': 'vulkan_loader_order_deps', |
| 'message': 'stamping for vulkan_loader_order_deps', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': [ '<@(vulkan_layer_generated_files)' ], |
| 'outputs': [ '<(angle_gen_path)/vulkan/vulkan_loader_order_deps.stamp' ], |
| 'action': |
| [ |
| 'python2', '<(angle_path)/gyp/touch_stamp.py', |
| '<(angle_gen_path)/vulkan/vulkan_loader_order_deps.stamp', |
| ] |
| }, |
| ], |
| }, |
| |
| { |
| 'target_name': 'VkLayer_core_validation', |
| 'type': 'shared_library', |
| 'dependencies': |
| [ |
| 'spirv_tools', |
| 'vulkan_layer_utils_static', |
| ], |
| 'sources': |
| [ |
| '<@(VkLayer_core_validation_sources)', |
| ], |
| 'actions': |
| [ |
| { |
| 'action_name': 'layer_core_validation_order_deps', |
| 'message': 'stamping for layer_core_validation_order_deps', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': [ '<@(vulkan_layer_generated_files)' ], |
| 'outputs': [ '<(angle_gen_path)/vulkan/layer_core_validation_order_deps.stamp' ], |
| 'action': |
| [ |
| 'python2', '<(angle_path)/gyp/touch_stamp.py', |
| '<(angle_gen_path)/vulkan/layer_core_validation_order_deps.stamp', |
| ] |
| }, |
| ], |
| 'conditions': |
| [ |
| ['target_os=="win"', |
| { |
| 'sources': |
| [ |
| '<(vulkan_layers_path)/layers/VkLayer_core_validation.def', |
| ] |
| }], |
| ], |
| }, |
| |
| { |
| 'target_name': 'VkLayer_swapchain', |
| 'type': 'shared_library', |
| 'dependencies': |
| [ |
| 'vulkan_layer_utils_static', |
| ], |
| 'sources': |
| [ |
| '<@(VkLayer_swapchain_sources)', |
| ], |
| 'actions': |
| [ |
| { |
| 'action_name': 'layer_swapchain_order_deps', |
| 'message': 'stamping for layer_swapchain_order_deps', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': [ '<@(vulkan_layer_generated_files)' ], |
| 'outputs': [ '<(angle_gen_path)/vulkan/layer_swapchain_order_deps.stamp' ], |
| 'action': |
| [ |
| 'python2', '<(angle_path)/gyp/touch_stamp.py', |
| '<(angle_gen_path)/vulkan/layer_swapchain_order_deps.stamp', |
| ] |
| }, |
| ], |
| 'conditions': |
| [ |
| ['target_os=="win"', |
| { |
| 'sources': |
| [ |
| '<(vulkan_layers_path)/layers/VkLayer_swapchain.def', |
| ] |
| }], |
| ], |
| }, |
| |
| { |
| 'target_name': 'VkLayer_object_tracker', |
| 'type': 'shared_library', |
| 'dependencies': |
| [ |
| 'vulkan_layer_utils_static', |
| ], |
| 'sources': |
| [ |
| '<@(VkLayer_object_tracker_sources)', |
| ], |
| 'actions': |
| [ |
| { |
| 'action_name': 'layer_object_tracker_order_deps', |
| 'message': 'stamping for layer_object_tracker_order_deps', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': [ '<@(vulkan_layer_generated_files)' ], |
| 'outputs': [ '<(angle_gen_path)/vulkan/layer_object_tracker_order_deps.stamp' ], |
| 'action': |
| [ |
| 'python2', '<(angle_path)/gyp/touch_stamp.py', |
| '<(angle_gen_path)/vulkan/layer_object_tracker_order_deps.stamp', |
| ] |
| }, |
| ], |
| 'conditions': |
| [ |
| ['target_os=="win"', |
| { |
| 'sources': |
| [ |
| '<(vulkan_layers_path)/layers/VkLayer_object_tracker.def', |
| ] |
| }], |
| ], |
| }, |
| |
| { |
| 'target_name': 'VkLayer_unique_objects', |
| 'type': 'shared_library', |
| 'dependencies': |
| [ |
| 'vulkan_layer_utils_static', |
| ], |
| 'sources': |
| [ |
| '<@(VkLayer_unique_objects_sources)', |
| ], |
| 'conditions': |
| [ |
| ['target_os=="win"', |
| { |
| 'sources': |
| [ |
| '<(vulkan_layers_path)/layers/VkLayer_unique_objects.def', |
| ] |
| }], |
| ], |
| 'actions': |
| [ |
| { |
| 'action_name': 'layer_unique_objects_order_deps', |
| 'message': 'stamping for layer_unique_objects_order_deps', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': [ '<@(vulkan_layer_generated_files)' ], |
| 'outputs': [ '<(angle_gen_path)/vulkan/layer_unique_objects_order_deps.stamp' ], |
| 'action': |
| [ |
| 'python2', '<(angle_path)/gyp/touch_stamp.py', |
| '<(angle_gen_path)/vulkan/layer_unique_objects_order_deps.stamp', |
| ] |
| }, |
| { |
| 'action_name': 'vulkan_layer_unique_objects_generate', |
| 'message': 'generating Vulkan unique_objects helpers', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': |
| [ |
| '<(vulkan_layers_path)/scripts/generator.py', |
| '<(vulkan_layers_path)/scripts/lvl_genvk.py', |
| '<(vulkan_layers_path)/scripts/reg.py', |
| '<(vulkan_layers_path)/scripts/unique_objects_generator.py', |
| '<(vulkan_layers_path)/scripts/vk.xml', |
| ], |
| 'outputs': |
| [ |
| '<(angle_gen_path)/vulkan/unique_objects_wrappers.h', |
| ], |
| 'action': |
| [ |
| 'python2', '<(vulkan_layers_path)/scripts/lvl_genvk.py', '-o', '<(angle_gen_path)/vulkan', |
| '-registry', '<(vulkan_layers_path)/scripts/vk.xml', 'unique_objects_wrappers.h', '-quiet', |
| ], |
| }, |
| ], |
| }, |
| |
| { |
| 'target_name': 'VkLayer_threading', |
| 'type': 'shared_library', |
| 'dependencies': |
| [ |
| 'vulkan_layer_utils_static', |
| ], |
| 'sources': |
| [ |
| '<@(VkLayer_threading_sources)', |
| ], |
| 'conditions': |
| [ |
| ['target_os=="win"', |
| { |
| 'sources': |
| [ |
| '<(vulkan_layers_path)/layers/VkLayer_threading.def', |
| ] |
| }], |
| ], |
| 'actions': |
| [ |
| { |
| 'action_name': 'layer_threading_order_deps', |
| 'message': 'stamping for layer_threading_order_deps', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': [ '<@(vulkan_layer_generated_files)' ], |
| 'outputs': [ '<(angle_gen_path)/vulkan/layer_threading_order_deps.stamp' ], |
| 'action': |
| [ |
| 'python2', '<(angle_path)/gyp/touch_stamp.py', |
| '<(angle_gen_path)/vulkan/layer_threading_order_deps.stamp', |
| ] |
| }, |
| { |
| 'action_name': 'vulkan_layer_threading_generate', |
| 'message': 'generating Vulkan threading header', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': |
| [ |
| '<(vulkan_layers_path)/scripts/generator.py', |
| '<(vulkan_layers_path)/scripts/lvl_genvk.py', |
| '<(vulkan_layers_path)/scripts/reg.py', |
| '<(vulkan_layers_path)/scripts/vk.xml', |
| ], |
| 'outputs': |
| [ |
| '<(angle_gen_path)/vulkan/thread_check.h', |
| ], |
| 'action': |
| [ |
| 'python2', '<(vulkan_layers_path)/scripts/lvl_genvk.py', '-o', |
| '<(angle_gen_path)/vulkan', '-registry', '<(vulkan_layers_path)/scripts/vk.xml', |
| 'thread_check.h', '-quiet', |
| ], |
| }, |
| ], |
| }, |
| |
| { |
| 'target_name': 'VkLayer_parameter_validation', |
| 'type': 'shared_library', |
| 'dependencies': |
| [ |
| 'vulkan_layer_utils_static', |
| ], |
| 'sources': |
| [ |
| '<@(VkLayer_parameter_validation_sources)', |
| ], |
| 'conditions': |
| [ |
| ['target_os=="win"', |
| { |
| 'sources': |
| [ |
| '<(vulkan_layers_path)/layers/VkLayer_parameter_validation.def', |
| ] |
| }], |
| ], |
| 'actions': |
| [ |
| { |
| 'action_name': 'layer_parameter_validation_order_deps', |
| 'message': 'stamping for layer_parameter_validation_order_deps', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': [ '<@(vulkan_layer_generated_files)' ], |
| 'outputs': [ '<(angle_gen_path)/vulkan/layer_parameter_validation_order_deps.stamp' ], |
| 'action': |
| [ |
| 'python2', '<(angle_path)/gyp/touch_stamp.py', |
| '<(angle_gen_path)/vulkan/layer_parameter_validation_order_deps.stamp', |
| ] |
| }, |
| { |
| 'action_name': 'vulkan_layer_parameter_validation_generate', |
| 'message': 'generating Vulkan parameter_validation header', |
| 'msvs_cygwin_shell': 0, |
| 'inputs': |
| [ |
| '<(vulkan_layers_path)/scripts/generator.py', |
| '<(vulkan_layers_path)/scripts/lvl_genvk.py', |
| '<(vulkan_layers_path)/scripts/reg.py', |
| '<(vulkan_layers_path)/scripts/vk.xml', |
| ], |
| 'outputs': |
| [ |
| '<(angle_gen_path)/vulkan/parameter_validation.h', |
| ], |
| 'action': |
| [ |
| 'python2', '<(vulkan_layers_path)/scripts/lvl_genvk.py', '-o', '<(angle_gen_path)/vulkan', |
| '-registry', '<(vulkan_layers_path)/scripts/vk.xml', 'parameter_validation.h', '-quiet', |
| ], |
| }, |
| ], |
| }, |
| |
| { |
| 'target_name': 'angle_vulkan', |
| 'type': 'none', |
| 'dependencies': |
| [ |
| 'glslang', |
| # Need to disable these to prevent multiply defined symbols with ninja. |
| # TODO(jmadill): Figure out how to implement data_deps in gyp. |
| # 'VkLayer_core_validation', |
| # 'VkLayer_object_tracker', |
| # 'VkLayer_parameter_validation', |
| # 'VkLayer_swapchain', |
| # 'VkLayer_threading', |
| # 'VkLayer_unique_objects', |
| 'vulkan_loader', |
| ], |
| 'export_dependent_settings': |
| [ |
| 'glslang', |
| 'vulkan_loader', |
| ], |
| } |
| ], |
| }], |
| ], |
| } |