diff options
| author | Robert Stepinski <rob.stepinski@gmail.com> | 2019-10-17 17:22:46 -0400 |
|---|---|---|
| committer | Tim Foley <tfoleyNV@users.noreply.github.com> | 2019-10-17 14:22:46 -0700 |
| commit | bb4a2ac62f59fd0cd2f597207bbfa93e07f7525b (patch) | |
| tree | a52d4681a1d2d637dc830c3bb786791602ee19bd /source | |
| parent | 1102c53513837e7f052730b847270f533876833f (diff) | |
Enable spriv-opt on spirv (#1076)
* Add spirv-tools module and set ENABLE_OPT to be true
* Add spirv-headers dependency
* Build spirv-opt into glslang project
* Add optimization pass
* Add generated spirv-opt files
Modify solution to avoid obj file conflicts
* Add optimization pass to SPIR-V generation
* Don't pass additional optimizer options to glslang
* Build spirv-opt in Linux
Diffstat (limited to 'source')
| -rw-r--r-- | source/slang-glslang/slang-glslang.cpp | 121 | ||||
| -rw-r--r-- | source/slang-glslang/slang-glslang.h | 3 | ||||
| -rw-r--r-- | source/slang-glslang/slang-glslang.vcxproj | 191 | ||||
| -rw-r--r-- | source/slang-glslang/slang-glslang.vcxproj.filters | 674 | ||||
| -rw-r--r-- | source/slang/slang-compiler.cpp | 4 |
5 files changed, 912 insertions, 81 deletions
diff --git a/source/slang-glslang/slang-glslang.cpp b/source/slang-glslang/slang-glslang.cpp index 25b46bafe..6b2af69b7 100644 --- a/source/slang-glslang/slang-glslang.cpp +++ b/source/slang-glslang/slang-glslang.cpp @@ -16,6 +16,9 @@ #include "../../slang.h" +#include "spirv-tools/optimizer.hpp" +#include "spirv-tools/libspirv.h" + #if 0 #include <cstring> #include <cstdlib> @@ -86,6 +89,119 @@ static void dumpDiagnostics( dump(log.c_str(), log.length(), request->diagnosticFunc, request->diagnosticUserData, stderr); } +// Apply the SPIRV-Tools optimizer to generated SPIR-V based on the desired optimization level +// TODO: add flag for optimizing SPIR-V size as well +static void glslang_optimizeSPIRV(std::vector<unsigned int>& spirv, unsigned optimizationLevel, unsigned debugInfoType) +{ + spv_target_env target_env = SPV_ENV_UNIVERSAL_1_2; + + spvtools::Optimizer optimizer(target_env); + optimizer.SetMessageConsumer( + [](spv_message_level_t level, const char *source, const spv_position_t &position, const char *message) { + auto &out = std::cerr; + switch (level) + { + case SPV_MSG_FATAL: + case SPV_MSG_INTERNAL_ERROR: + case SPV_MSG_ERROR: + out << "error: "; + break; + case SPV_MSG_WARNING: + out << "warning: "; + break; + case SPV_MSG_INFO: + case SPV_MSG_DEBUG: + out << "info: "; + break; + default: + break; + } + if (source) + { + out << source << ":"; + } + out << position.line << ":" << position.column << ":" << position.index << ":"; + if (message) + { + out << " " << message; + } + out << std::endl; + }); + + // If debug info is being generated, propagate + // line information into all SPIR-V instructions. This avoids loss of + // information when instructions are deleted or moved. Later, remove + // redundant information to minimize final SPRIR-V size. + if (debugInfoType != SLANG_DEBUG_INFO_LEVEL_NONE) + { + optimizer.RegisterPass(spvtools::CreatePropagateLineInfoPass()); + } + + // TODO confirm which passes we want to invoke for each level + switch (optimizationLevel) + { + case SLANG_OPTIMIZATION_LEVEL_NONE: + // Don't register any passes if our optimization level is none + break; + case SLANG_OPTIMIZATION_LEVEL_DEFAULT: + // Use a minimal set of performance settings + optimizer.RegisterPass(spvtools::CreateInlineExhaustivePass()); + optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass()); + optimizer.RegisterPass(spvtools::CreatePrivateToLocalPass()); + optimizer.RegisterPass(spvtools::CreateScalarReplacementPass(100)); + optimizer.RegisterPass(spvtools::CreateLocalAccessChainConvertPass()); + optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass()); + break; + case SLANG_OPTIMIZATION_LEVEL_HIGH: + case SLANG_OPTIMIZATION_LEVEL_MAXIMAL: + // Use the same passes when specifying the "-O" flag in spirv-opt + optimizer.RegisterPass(spvtools::CreateWrapOpKillPass()); + optimizer.RegisterPass(spvtools::CreateDeadBranchElimPass()); + optimizer.RegisterPass(spvtools::CreateMergeReturnPass()); + optimizer.RegisterPass(spvtools::CreateInlineExhaustivePass()); + optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass()); + optimizer.RegisterPass(spvtools::CreatePrivateToLocalPass()); + optimizer.RegisterPass(spvtools::CreateLocalSingleBlockLoadStoreElimPass()); + optimizer.RegisterPass(spvtools::CreateLocalSingleStoreElimPass()); + optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass()); + optimizer.RegisterPass(spvtools::CreateScalarReplacementPass()); + optimizer.RegisterPass(spvtools::CreateLocalAccessChainConvertPass()); + optimizer.RegisterPass(spvtools::CreateLocalSingleBlockLoadStoreElimPass()); + optimizer.RegisterPass(spvtools::CreateLocalSingleStoreElimPass()); + optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass()); + optimizer.RegisterPass(spvtools::CreateLocalMultiStoreElimPass()); + optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass()); + optimizer.RegisterPass(spvtools::CreateCCPPass()); + optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass()); + optimizer.RegisterPass(spvtools::CreateRedundancyEliminationPass()); + optimizer.RegisterPass(spvtools::CreateCombineAccessChainsPass()); + optimizer.RegisterPass(spvtools::CreateSimplificationPass()); + optimizer.RegisterPass(spvtools::CreateVectorDCEPass()); + optimizer.RegisterPass(spvtools::CreateDeadInsertElimPass()); + optimizer.RegisterPass(spvtools::CreateDeadBranchElimPass()); + optimizer.RegisterPass(spvtools::CreateSimplificationPass()); + optimizer.RegisterPass(spvtools::CreateIfConversionPass()); + optimizer.RegisterPass(spvtools::CreateCopyPropagateArraysPass()); + optimizer.RegisterPass(spvtools::CreateReduceLoadSizePass()); + optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass()); + optimizer.RegisterPass(spvtools::CreateBlockMergePass()); + optimizer.RegisterPass(spvtools::CreateRedundancyEliminationPass()); + optimizer.RegisterPass(spvtools::CreateDeadBranchElimPass()); + optimizer.RegisterPass(spvtools::CreateBlockMergePass()); + optimizer.RegisterPass(spvtools::CreateSimplificationPass()); + break; + } + + if (debugInfoType != SLANG_DEBUG_INFO_LEVEL_NONE) + { + optimizer.RegisterPass(spvtools::CreateRedundantLineInfoElimPass()); + } + + spvtools::OptimizerOptions spvOptOptions; + spvOptOptions.set_run_validator(false); // Don't run the validator by default + optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions); +} + static int glslang_compileGLSLToSPIRV(glslang_CompileRequest* request) { EShLanguage glslangStage; @@ -167,6 +283,11 @@ static int glslang_compileGLSLToSPIRV(glslang_CompileRequest* request) spv::SpvBuildLogger logger; glslang::GlslangToSpv(*stageIntermediate, spirv, &logger); + if (request->optimizationLevel != SLANG_OPTIMIZATION_LEVEL_NONE) + { + glslang_optimizeSPIRV(spirv, request->optimizationLevel, request->debugInfoType); + } + dumpDiagnostics(request, logger.getAllMessages()); dump(spirv.data(), spirv.size() * sizeof(unsigned int), request->outputFunc, request->outputUserData, stdout); diff --git a/source/slang-glslang/slang-glslang.h b/source/slang-glslang/slang-glslang.h index 22014de72..16b8fb871 100644 --- a/source/slang-glslang/slang-glslang.h +++ b/source/slang-glslang/slang-glslang.h @@ -28,6 +28,9 @@ struct glslang_CompileRequest int slangStage; unsigned action; + + unsigned optimizationLevel; + unsigned debugInfoType; }; typedef int (*glslang_CompileFunc)(glslang_CompileRequest* request); diff --git a/source/slang-glslang/slang-glslang.vcxproj b/source/slang-glslang/slang-glslang.vcxproj index eb53fc311..5a6508f1d 100644 --- a/source/slang-glslang/slang-glslang.vcxproj +++ b/source/slang-glslang/slang-glslang.vcxproj @@ -97,11 +97,12 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>_DEBUG;ENABLE_OPT=0;AMD_EXTENSIONS;NV_EXTENSIONS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\..\external\glslang;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;ENABLE_OPT=1;AMD_EXTENSIONS;NV_EXTENSIONS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>..\..\external\glslang;..\..\external\spirv-tools;..\..\external\spirv-tools\include;..\..\external\spirv-headers\include;..\..\external\spirv-tools\build;..\..\external\spirv-tools-generated;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <DebugInformationFormat>EditAndContinue</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <ObjectFileName>$(IntDir)/%(RelativeDir)/$(Configuration)/</ObjectFileName> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -113,11 +114,12 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>_DEBUG;ENABLE_OPT=0;AMD_EXTENSIONS;NV_EXTENSIONS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\..\external\glslang;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;ENABLE_OPT=1;AMD_EXTENSIONS;NV_EXTENSIONS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>..\..\external\glslang;..\..\external\spirv-tools;..\..\external\spirv-tools\include;..\..\external\spirv-headers\include;..\..\external\spirv-tools\build;..\..\external\spirv-tools-generated;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <DebugInformationFormat>EditAndContinue</DebugInformationFormat> <Optimization>Disabled</Optimization> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <ObjectFileName>$(IntDir)/%(RelativeDir)/$(Configuration)/</ObjectFileName> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -129,14 +131,15 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>NDEBUG;ENABLE_OPT=0;AMD_EXTENSIONS;NV_EXTENSIONS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\..\external\glslang;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;ENABLE_OPT=1;AMD_EXTENSIONS;NV_EXTENSIONS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>..\..\external\glslang;..\..\external\spirv-tools;..\..\external\spirv-tools\include;..\..\external\spirv-headers\include;..\..\external\spirv-tools\build;..\..\external\spirv-tools-generated;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Optimization>Full</Optimization> <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <ObjectFileName>$(IntDir)/%(RelativeDir)/$(Configuration)/</ObjectFileName> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -149,14 +152,15 @@ <ClCompile> <PrecompiledHeader>NotUsing</PrecompiledHeader> <WarningLevel>Level3</WarningLevel> - <PreprocessorDefinitions>NDEBUG;ENABLE_OPT=0;AMD_EXTENSIONS;NV_EXTENSIONS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <AdditionalIncludeDirectories>..\..\external\glslang;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;ENABLE_OPT=1;AMD_EXTENSIONS;NV_EXTENSIONS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>..\..\external\glslang;..\..\external\spirv-tools;..\..\external\spirv-tools\include;..\..\external\spirv-headers\include;..\..\external\spirv-tools\build;..\..\external\spirv-tools-generated;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <Optimization>Full</Optimization> <FunctionLevelLinking>true</FunctionLevelLinking> <IntrinsicFunctions>true</IntrinsicFunctions> <MinimalRebuild>false</MinimalRebuild> <StringPooling>true</StringPooling> <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <ObjectFileName>$(IntDir)/%(RelativeDir)/$(Configuration)/</ObjectFileName> </ClCompile> <Link> <SubSystem>Windows</SubSystem> @@ -252,6 +256,177 @@ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\propagateNoContraction.cpp" /> <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\reflection.cpp" /> <ClCompile Include="..\..\external\glslang\glslang\OSDependent\Windows\ossource.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\assembly_grammar.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\binary.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\diagnostic.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\disassemble.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\enum_string_mapping.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\extensions.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\ext_inst.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\libspirv.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\name_mapper.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opcode.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\operand.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\aggressive_dead_code_elim_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\amd_ext_to_khr.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\basic_block.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\block_merge_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\block_merge_util.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\build_module.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\ccp_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\cfg.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\cfg_cleanup_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\code_sink.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\combine_access_chains.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\compact_ids_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\composite.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\constants.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\const_folding_rules.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\convert_to_half_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\copy_prop_arrays.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\dead_branch_elim_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\dead_insert_elim_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\dead_variable_elimination.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\decompose_initialized_variables_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\decoration_manager.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\def_use_manager.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\desc_sroa.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\dominator_analysis.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\dominator_tree.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\eliminate_dead_constant_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\eliminate_dead_functions_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\eliminate_dead_functions_util.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\eliminate_dead_members_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\feature_manager.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\fix_storage_class.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\flatten_decoration_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\fold.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\folding_rules.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\fold_spec_constant_op_and_composite_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\freeze_spec_constant_value_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\function.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\generate_webgpu_initializers_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\graphics_robust_access_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\if_conversion.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\inline_exhaustive_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\inline_opaque_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\inline_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\instruction.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\instruction_list.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\instrument_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\inst_bindless_check_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\inst_buff_addr_check_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\ir_context.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\ir_loader.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\legalize_vector_shuffle_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\licm_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\local_access_chain_convert_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\local_redundancy_elimination.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\local_single_block_elim_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\local_single_store_elim_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_dependence.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_dependence_helpers.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_descriptor.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_fission.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_fusion.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_fusion_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_peeling.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_unroller.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_unswitch_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_utils.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\mem_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\merge_return_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\module.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\optimizer.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\pass_manager.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\pch_source_opt.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\private_to_local_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\process_lines_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\propagator.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\reduce_load_size.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\redundancy_elimination.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\register_pressure.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\relax_float_ops_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\remove_duplicates_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\replace_invalid_opc.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\scalar_analysis.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\scalar_analysis_simplification.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\scalar_replacement_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\set_spec_constant_default_value_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\simplification_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\split_invalid_unreachable_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\ssa_rewrite_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\strength_reduction_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\strip_atomic_counter_memory_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\strip_debug_info_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\strip_reflect_info_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\struct_cfg_analysis.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\types.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\type_manager.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\unify_const_pass.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\upgrade_memory_model.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\value_number_table.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\vector_dce.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\workaround1209.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\opt\wrap_opkill.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\parsed_operand.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\pch_source.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\print.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\software_version.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\spirv_endian.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\spirv_fuzzer_options.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\spirv_optimizer_options.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\spirv_reducer_options.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\spirv_target_env.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\spirv_validator_options.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\table.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\text.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\text_handler.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\util\bit_vector.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\util\parse_number.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\util\string_utils.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\util\timer.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\basic_block.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\construct.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\function.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\instruction.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_adjacency.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_annotation.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_arithmetics.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_atomics.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_barriers.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_bitwise.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_builtins.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_capability.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_cfg.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_composites.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_constants.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_conversion.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_debug.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_decorations.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_derivatives.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_execution_limitations.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_extensions.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_function.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_id.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_image.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_instruction.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_interfaces.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_layout.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_literals.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_logicals.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_memory.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_memory_semantics.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_misc.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_mode_setting.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_non_uniform.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_primitives.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_scopes.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_small_type_uses.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_type.cpp" /> + <ClCompile Include="..\..\external\spirv-tools\source\val\validation_state.cpp" /> <ClCompile Include="slang-glslang.cpp" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> diff --git a/source/slang-glslang/slang-glslang.vcxproj.filters b/source/slang-glslang/slang-glslang.vcxproj.filters index 482728c71..a922440de 100644 --- a/source/slang-glslang/slang-glslang.vcxproj.filters +++ b/source/slang-glslang/slang-glslang.vcxproj.filters @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> <Filter Include="Header Files"> @@ -7,6 +7,21 @@ <Filter Include="Source Files"> <UniqueIdentifier>{E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6}</UniqueIdentifier> </Filter> + <Filter Include="Source Files\spirv-tools"> + <UniqueIdentifier>{0f17aa89-8c4d-488f-9577-c32b50f9b081}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files\spirv-tools\val"> + <UniqueIdentifier>{79d3e53a-e1bb-41a8-9a8c-65ed15905fce}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files\spirv-tools\opt"> + <UniqueIdentifier>{cbc707d5-9925-4cfc-a98f-24edb5d66cfa}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files\spirv-tools\util"> + <UniqueIdentifier>{525e4d11-95f7-4087-af42-3148dd340ae1}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files\glslang"> + <UniqueIdentifier>{b2f07a8e-0eda-425b-b3d1-bf3e95a84878}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\external\glslang\OGLCompilersDLL\InitializeDll.h"> @@ -134,137 +149,650 @@ </ClInclude> </ItemGroup> <ItemGroup> - <ClCompile Include="..\..\external\glslang\OGLCompilersDLL\InitializeDll.cpp"> + <ClCompile Include="slang-glslang.cpp"> <Filter>Source Files</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\SPIRV\GlslangToSpv.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\assembly_grammar.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\SPIRV\InReadableOrder.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\binary.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\SPIRV\Logger.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\diagnostic.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\SPIRV\SPVRemapper.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\disassemble.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\SPIRV\SpvBuilder.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\enum_string_mapping.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\SPIRV\SpvPostProcess.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\ext_inst.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\SPIRV\SpvTools.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\extensions.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\SPIRV\disassemble.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\libspirv.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\SPIRV\doc.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\name_mapper.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\StandAlone\ResourceLimits.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\opcode.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\StandAlone\spirv-remap.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\operand.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\glslang\GenericCodeGen\CodeGen.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\parsed_operand.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\glslang\GenericCodeGen\Link.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\pch_source.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Constant.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\print.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\InfoSink.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\software_version.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Initialize.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\spirv_endian.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\IntermTraverse.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\spirv_fuzzer_options.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Intermediate.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\spirv_optimizer_options.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\ParseContextBase.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\spirv_reducer_options.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\ParseHelper.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\spirv_target_env.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\PoolAlloc.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\spirv_validator_options.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\RemoveTree.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\table.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Scan.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\text.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\ShaderLang.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\text_handler.cpp"> + <Filter>Source Files\spirv-tools</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\SymbolTable.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\opt\aggressive_dead_code_elim_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Versions.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\spirv-tools\source\opt\amd_ext_to_khr.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\basic_block.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\block_merge_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\block_merge_util.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\build_module.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\ccp_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\cfg.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\cfg_cleanup_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\code_sink.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\combine_access_chains.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\compact_ids_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\composite.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\const_folding_rules.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\constants.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\convert_to_half_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\copy_prop_arrays.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\dead_branch_elim_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\dead_insert_elim_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\dead_variable_elimination.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\decompose_initialized_variables_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\decoration_manager.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\def_use_manager.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\desc_sroa.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\dominator_analysis.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\dominator_tree.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\eliminate_dead_constant_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\eliminate_dead_functions_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\eliminate_dead_functions_util.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\eliminate_dead_members_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\feature_manager.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\fix_storage_class.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\flatten_decoration_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\fold.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\fold_spec_constant_op_and_composite_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\folding_rules.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\freeze_spec_constant_value_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\function.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\generate_webgpu_initializers_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\graphics_robust_access_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\if_conversion.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\inline_exhaustive_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\inline_opaque_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\inline_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\inst_bindless_check_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\inst_buff_addr_check_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\instruction.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\instruction_list.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\instrument_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\ir_context.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\ir_loader.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\legalize_vector_shuffle_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\licm_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\local_access_chain_convert_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\local_redundancy_elimination.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\local_single_block_elim_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\local_single_store_elim_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_dependence.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_dependence_helpers.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_descriptor.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_fission.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_fusion.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_fusion_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_peeling.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_unroller.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_unswitch_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\loop_utils.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\mem_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\merge_return_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\module.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\optimizer.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\pass_manager.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\pch_source_opt.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\private_to_local_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\process_lines_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\propagator.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\reduce_load_size.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\redundancy_elimination.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\register_pressure.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\relax_float_ops_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\remove_duplicates_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\replace_invalid_opc.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\scalar_analysis.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\scalar_analysis_simplification.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\scalar_replacement_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\set_spec_constant_default_value_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\simplification_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\split_invalid_unreachable_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\ssa_rewrite_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\strength_reduction_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\strip_atomic_counter_memory_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\strip_debug_info_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\strip_reflect_info_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\struct_cfg_analysis.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\type_manager.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\types.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\unify_const_pass.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\upgrade_memory_model.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\value_number_table.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\vector_dce.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\workaround1209.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\opt\wrap_opkill.cpp"> + <Filter>Source Files\spirv-tools\opt</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\basic_block.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\construct.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\function.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\instruction.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_adjacency.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_annotation.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_arithmetics.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_atomics.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_barriers.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_bitwise.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_builtins.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_capability.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_cfg.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_composites.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_constants.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_conversion.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_debug.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_decorations.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_derivatives.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_execution_limitations.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_extensions.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_function.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_id.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_image.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_instruction.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_interfaces.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_layout.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_literals.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_logicals.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_memory.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_memory_semantics.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_misc.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_mode_setting.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_non_uniform.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_primitives.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_scopes.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_small_type_uses.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validate_type.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\val\validation_state.cpp"> + <Filter>Source Files\spirv-tools\val</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\util\bit_vector.cpp"> + <Filter>Source Files\spirv-tools\util</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\util\parse_number.cpp"> + <Filter>Source Files\spirv-tools\util</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\util\string_utils.cpp"> + <Filter>Source Files\spirv-tools\util</Filter> + </ClCompile> + <ClCompile Include="..\..\external\spirv-tools\source\util\timer.cpp"> + <Filter>Source Files\spirv-tools\util</Filter> </ClCompile> <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\attribute.cpp"> - <Filter>Source Files</Filter> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\glslang\GenericCodeGen\CodeGen.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Constant.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\SPIRV\disassemble.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\SPIRV\doc.cpp"> + <Filter>Source Files\glslang</Filter> </ClCompile> <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\glslang_tab.cpp"> - <Filter>Source Files</Filter> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\SPIRV\GlslangToSpv.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\InfoSink.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Initialize.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\OGLCompilersDLL\InitializeDll.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\SPIRV\InReadableOrder.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Intermediate.cpp"> + <Filter>Source Files\glslang</Filter> </ClCompile> <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\intermOut.cpp"> - <Filter>Source Files</Filter> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\IntermTraverse.cpp"> + <Filter>Source Files\glslang</Filter> </ClCompile> <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\iomapper.cpp"> - <Filter>Source Files</Filter> + <Filter>Source Files\glslang</Filter> </ClCompile> <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\limits.cpp"> - <Filter>Source Files</Filter> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\glslang\GenericCodeGen\Link.cpp"> + <Filter>Source Files\glslang</Filter> </ClCompile> <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\linkValidate.cpp"> - <Filter>Source Files</Filter> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\SPIRV\Logger.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\glslang\OSDependent\Windows\ossource.cpp"> + <Filter>Source Files\glslang</Filter> </ClCompile> <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\parseConst.cpp"> - <Filter>Source Files</Filter> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\ParseContextBase.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\ParseHelper.cpp"> + <Filter>Source Files\glslang</Filter> </ClCompile> <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\pch.cpp"> - <Filter>Source Files</Filter> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\PoolAlloc.cpp"> + <Filter>Source Files\glslang</Filter> </ClCompile> <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\Pp.cpp"> - <Filter>Source Files</Filter> + <Filter>Source Files\glslang</Filter> </ClCompile> <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpAtom.cpp"> - <Filter>Source Files</Filter> + <Filter>Source Files\glslang</Filter> </ClCompile> <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpContext.cpp"> - <Filter>Source Files</Filter> + <Filter>Source Files\glslang</Filter> </ClCompile> <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpScanner.cpp"> - <Filter>Source Files</Filter> + <Filter>Source Files\glslang</Filter> </ClCompile> <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpTokens.cpp"> - <Filter>Source Files</Filter> + <Filter>Source Files\glslang</Filter> </ClCompile> <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\propagateNoContraction.cpp"> - <Filter>Source Files</Filter> + <Filter>Source Files\glslang</Filter> </ClCompile> <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\reflection.cpp"> - <Filter>Source Files</Filter> + <Filter>Source Files\glslang</Filter> </ClCompile> - <ClCompile Include="..\..\external\glslang\glslang\OSDependent\Windows\ossource.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\RemoveTree.cpp"> + <Filter>Source Files\glslang</Filter> </ClCompile> - <ClCompile Include="slang-glslang.cpp"> - <Filter>Source Files</Filter> + <ClCompile Include="..\..\external\glslang\StandAlone\ResourceLimits.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Scan.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\ShaderLang.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\StandAlone\spirv-remap.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\SPIRV\SpvBuilder.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\SPIRV\SpvPostProcess.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\SPIRV\SPVRemapper.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\SPIRV\SpvTools.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\SymbolTable.cpp"> + <Filter>Source Files\glslang</Filter> + </ClCompile> + <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Versions.cpp"> + <Filter>Source Files\glslang</Filter> </ClCompile> </ItemGroup> </Project>
\ No newline at end of file diff --git a/source/slang/slang-compiler.cpp b/source/slang/slang-compiler.cpp index c8cc947f4..ecd34ccd3 100644 --- a/source/slang/slang-compiler.cpp +++ b/source/slang/slang-compiler.cpp @@ -1098,6 +1098,7 @@ SlangResult dissassembleDXILUsingDXC( { Session* session = slangCompileRequest->getSession(); auto sink = slangCompileRequest->getSink(); + auto linkage = slangCompileRequest->getLinkage(); auto glslang_compile = (glslang_CompileFunc)session->getSharedLibraryFunc(Session::SharedLibraryFuncType::Glslang_Compile, sink); if (!glslang_compile) @@ -1115,6 +1116,9 @@ SlangResult dissassembleDXILUsingDXC( request.diagnosticFunc = diagnosticOutputFunc; request.diagnosticUserData = &diagnosticOutput; + request.optimizationLevel = (unsigned)linkage->optimizationLevel; + request.debugInfoType = (unsigned)linkage->debugInfoLevel; + int err = glslang_compile(&request); if (err) |
