summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Novillo <dnovillo@google.com>2017-11-27 10:16:41 -0500
committerDiego Novillo <dnovillo@google.com>2017-11-27 14:31:49 -0500
commit83228137e16c0d7fe33eaceddf6f67115d45338f (patch)
treea1e2082ec253fe61242c8eeea91943e00a7270d2
parentd8b2013ecfd6603855752452bb3a280a7b515d2c (diff)
Re-format source tree - NFC.
Re-formatted the source tree with the command: $ /usr/bin/clang-format -style=file -i \ $(find include source tools test utils -name '*.cpp' -or -name '*.h') This required a fix to source/val/decoration.h. It was not including spirv.h, which broke builds when the #include headers were re-ordered by clang-format.
-rw-r--r--source/assembly_grammar.h2
-rw-r--r--source/comp/markv_model.h3
-rw-r--r--source/id_descriptor.cpp7
-rw-r--r--source/link/linker.cpp62
-rw-r--r--source/name_mapper.cpp24
-rw-r--r--source/opt/basic_block.cpp4
-rw-r--r--source/opt/block_merge_pass.cpp13
-rw-r--r--source/opt/build_module.cpp10
-rw-r--r--source/opt/build_module.h4
-rw-r--r--source/opt/cfg.cpp6
-rw-r--r--source/opt/cfg.h2
-rw-r--r--source/opt/cfg_cleanup_pass.cpp4
-rw-r--r--source/opt/common_uniform_elim_pass.cpp39
-rw-r--r--source/opt/dead_branch_elim_pass.cpp2
-rw-r--r--source/opt/dead_variable_elimination.cpp2
-rw-r--r--source/opt/decoration_manager.cpp3
-rw-r--r--source/opt/decoration_manager.h3
-rw-r--r--source/opt/def_use_manager.cpp42
-rw-r--r--source/opt/def_use_manager.h52
-rw-r--r--source/opt/eliminate_dead_constant_pass.cpp17
-rw-r--r--source/opt/eliminate_dead_functions_pass.cpp5
-rw-r--r--source/opt/fold_spec_constant_op_and_composite_pass.cpp5
-rw-r--r--source/opt/function.cpp5
-rw-r--r--source/opt/inline_pass.cpp56
-rw-r--r--source/opt/inline_pass.h2
-rw-r--r--source/opt/insert_extract_elim.cpp15
-rw-r--r--source/opt/insert_extract_elim.h2
-rw-r--r--source/opt/instruction.h2
-rw-r--r--source/opt/ir_context.cpp16
-rw-r--r--source/opt/ir_context.h2
-rw-r--r--source/opt/local_access_chain_convert_pass.cpp55
-rw-r--r--source/opt/local_single_block_elim_pass.cpp48
-rw-r--r--source/opt/local_single_block_elim_pass.h2
-rw-r--r--source/opt/local_single_store_elim_pass.cpp48
-rw-r--r--source/opt/local_single_store_elim_pass.h2
-rw-r--r--source/opt/local_ssa_elim_pass.cpp25
-rw-r--r--source/opt/mem_pass.cpp55
-rw-r--r--source/opt/passes.h4
-rw-r--r--source/opt/remove_duplicates_pass.cpp8
-rw-r--r--source/opt/set_spec_constant_default_value_pass.cpp17
-rw-r--r--source/opt/strength_reduction_pass.cpp9
-rw-r--r--source/opt/unify_const_pass.cpp2
-rw-r--r--source/opt/value_number_table.cpp3
-rw-r--r--source/text_handler.h2
-rw-r--r--source/util/parse_number.cpp2
-rw-r--r--source/val/basic_block.h2
-rw-r--r--source/val/construct.cpp2
-rw-r--r--source/val/construct.h2
-rw-r--r--source/val/decoration.h2
-rw-r--r--source/val/function.cpp5
-rw-r--r--source/val/function.h2
-rw-r--r--source/val/instruction.h2
-rw-r--r--source/val/validation_state.cpp6
-rw-r--r--source/val/validation_state.h2
-rw-r--r--source/validate.cpp6
-rw-r--r--source/validate_arithmetics.cpp2
-rw-r--r--source/validate_bitwise.cpp2
-rw-r--r--source/validate_derivatives.cpp2
-rw-r--r--source/validate_id.cpp37
-rw-r--r--source/validate_image.cpp598
-rw-r--r--source/validate_layout.cpp10
-rw-r--r--source/validate_logicals.cpp2
-rw-r--r--test/assembly_context_test.cpp2
-rw-r--r--test/binary_parse_test.cpp9
-rw-r--r--test/binary_to_text_test.cpp77
-rw-r--r--test/bit_stream.cpp375
-rw-r--r--test/comp/markv_codec_test.cpp53
-rw-r--r--test/diagnostic_test.cpp4
-rw-r--r--test/enum_set_test.cpp2
-rw-r--r--test/enum_string_mapping_test.cpp315
-rw-r--r--test/ext_inst.glsl_test.cpp2
-rw-r--r--test/ext_inst.opencl_test.cpp2
-rw-r--r--test/generator_magic_number_test.cpp4
-rw-r--r--test/hex_float_test.cpp285
-rw-r--r--test/huffman_codec.cpp95
-rw-r--r--test/immediate_int_test.cpp2
-rw-r--r--test/link/binary_version_test.cpp2
-rw-r--r--test/link/ids_limit_test.cpp42
-rw-r--r--test/link/unique_ids_test.cpp2
-rw-r--r--test/move_to_front_test.cpp198
-rw-r--r--test/name_mapper_test.cpp5
-rw-r--r--test/named_id_test.cpp44
-rw-r--r--test/operand_capabilities_test.cpp21
-rw-r--r--test/operand_pattern_test.cpp52
-rw-r--r--test/operand_test.cpp2
-rw-r--r--test/opt/aggressive_dead_code_elim_test.cpp163
-rw-r--r--test/opt/assembly_builder.h6
-rw-r--r--test/opt/assembly_builder_test.cpp7
-rw-r--r--test/opt/block_merge_test.cpp31
-rw-r--r--test/opt/cfg_cleanup_test.cpp11
-rw-r--r--test/opt/common_uniform_elim_test.cpp28
-rw-r--r--test/opt/compact_ids_test.cpp6
-rw-r--r--test/opt/dead_branch_elim_test.cpp100
-rw-r--r--test/opt/def_use_test.cpp65
-rw-r--r--test/opt/eliminate_dead_const_test.cpp4
-rw-r--r--test/opt/inline_opaque_test.cpp18
-rw-r--r--test/opt/inline_test.cpp161
-rw-r--r--test/opt/insert_extract_elim_test.cpp48
-rw-r--r--test/opt/instruction_test.cpp6
-rw-r--r--test/opt/ir_loader_test.cpp5
-rw-r--r--test/opt/local_access_chain_convert_test.cpp47
-rw-r--r--test/opt/local_redundancy_elimination_test.cpp2
-rw-r--r--test/opt/local_single_block_elim.cpp8
-rw-r--r--test/opt/local_single_store_elim_test.cpp9
-rw-r--r--test/opt/local_ssa_elim_test.cpp71
-rw-r--r--test/opt/module_test.cpp14
-rw-r--r--test/opt/module_utils.h2
-rw-r--r--test/opt/pass_fixture.h28
-rw-r--r--test/opt/pass_manager_test.cpp5
-rw-r--r--test/opt/set_spec_const_default_value_test.cpp8
-rw-r--r--test/opt/strip_debug_info_test.cpp4
-rw-r--r--test/opt/unify_const_test.cpp6
-rw-r--r--test/opt/utils_test.cpp2
-rw-r--r--test/opt/value_table_test.cpp6
-rw-r--r--test/parse_number_test.cpp6
-rw-r--r--test/preserve_numeric_ids_test.cpp25
-rw-r--r--test/stats/stats_aggregate_test.cpp58
-rw-r--r--test/stats/stats_analyzer_test.cpp2
-rw-r--r--test/target_env_test.cpp4
-rw-r--r--test/text_literal_test.cpp2
-rw-r--r--test/text_to_binary.annotation_test.cpp10
-rw-r--r--test/text_to_binary.barrier_test.cpp8
-rw-r--r--test/text_to_binary.constant_test.cpp49
-rw-r--r--test/text_to_binary.control_flow_test.cpp12
-rw-r--r--test/text_to_binary.debug_test.cpp2
-rw-r--r--test/text_to_binary.device_side_enqueue_test.cpp2
-rw-r--r--test/text_to_binary.extension_test.cpp194
-rw-r--r--test/text_to_binary.image_test.cpp13
-rw-r--r--test/text_to_binary.memory_test.cpp2
-rw-r--r--test/text_to_binary.misc_test.cpp2
-rw-r--r--test/text_to_binary.mode_setting_test.cpp12
-rw-r--r--test/text_to_binary.pipe_storage_test.cpp2
-rw-r--r--test/text_to_binary.subgroup_dispatch_test.cpp4
-rw-r--r--test/text_to_binary.type_declaration_test.cpp2
-rw-r--r--test/text_to_binary_test.cpp4
-rw-r--r--test/unit_spirv.h4
-rw-r--r--test/util/ilist_test.cpp2
-rw-r--r--test/val/val_arithmetics_test.cpp433
-rw-r--r--test/val/val_bitwise_test.cpp168
-rw-r--r--test/val/val_capability_test.cpp10
-rw-r--r--test/val/val_cfg_test.cpp28
-rw-r--r--test/val/val_conversion_test.cpp295
-rw-r--r--test/val/val_data_test.cpp35
-rw-r--r--test/val/val_decoration_test.cpp7
-rw-r--r--test/val/val_derivatives_test.cpp19
-rw-r--r--test/val/val_extensions_test.cpp60
-rw-r--r--test/val/val_fixtures.cpp6
-rw-r--r--test/val/val_fixtures.h4
-rw-r--r--test/val/val_id_test.cpp89
-rw-r--r--test/val/val_image_test.cpp996
-rw-r--r--test/val/val_instructions_test.cpp2
-rw-r--r--test/val/val_layout_test.cpp37
-rw-r--r--test/val/val_limits_test.cpp18
-rw-r--r--test/val/val_logicals_test.cpp243
-rw-r--r--test/val/val_ssa_test.cpp2
-rw-r--r--test/val/val_state_test.cpp18
-rw-r--r--test/val/val_storage_test.cpp2
-rw-r--r--test/val/val_type_unique_test.cpp4
158 files changed, 3606 insertions, 3134 deletions
diff --git a/source/assembly_grammar.h b/source/assembly_grammar.h
index cd89a1b1..bfbfe762 100644
--- a/source/assembly_grammar.h
+++ b/source/assembly_grammar.h
@@ -115,6 +115,6 @@ class AssemblyGrammar {
const spv_opcode_table opcodeTable_;
const spv_ext_inst_table extInstTable_;
};
-}
+} // namespace libspirv
#endif // LIBSPIRV_ASSEMBLY_GRAMMAR_H_
diff --git a/source/comp/markv_model.h b/source/comp/markv_model.h
index c219096b..630942c6 100644
--- a/source/comp/markv_model.h
+++ b/source/comp/markv_model.h
@@ -220,7 +220,8 @@ class MarkvModel {
uint32_t s64_chunk_length_ = 8;
uint32_t s64_block_exponent_ = 10;
- IdFallbackStrategy id_fallback_strategy_ = IdFallbackStrategy::kShortDescriptor;
+ IdFallbackStrategy id_fallback_strategy_ =
+ IdFallbackStrategy::kShortDescriptor;
uint32_t model_type_ = 0;
uint32_t model_version_ = 0;
diff --git a/source/id_descriptor.cpp b/source/id_descriptor.cpp
index 93951699..7697c299 100644
--- a/source/id_descriptor.cpp
+++ b/source/id_descriptor.cpp
@@ -63,10 +63,9 @@ uint32_t IdDescriptorCollection::ProcessInstruction(
}
}
- uint32_t descriptor = custom_hash_func_ ?
- custom_hash_func_(words_) : HashU32Array(words_);
- if (descriptor == 0)
- descriptor = 1;
+ uint32_t descriptor =
+ custom_hash_func_ ? custom_hash_func_(words_) : HashU32Array(words_);
+ if (descriptor == 0) descriptor = 1;
assert(descriptor);
words_.clear();
diff --git a/source/link/linker.cpp b/source/link/linker.cpp
index 732ff9aa..730ec376 100644
--- a/source/link/linker.cpp
+++ b/source/link/linker.cpp
@@ -72,9 +72,9 @@ using LinkageTable = std::vector<LinkageEntry>;
// Both |modules| and |max_id_bound| should not be null, and |modules| should
// not be empty either. Furthermore |modules| should not contain any null
// pointers.
-static spv_result_t ShiftIdsInModules(
- const MessageConsumer& consumer,
- std::vector<ir::Module*>* modules, uint32_t* max_id_bound);
+static spv_result_t ShiftIdsInModules(const MessageConsumer& consumer,
+ std::vector<ir::Module*>* modules,
+ uint32_t* max_id_bound);
// Generates the header for the linked module and returns it in |header|.
//
@@ -84,20 +84,19 @@ static spv_result_t ShiftIdsInModules(
// TODO(pierremoreau): What to do when binaries use different versions of
// SPIR-V? For now, use the max of all versions found in
// the input modules.
-static spv_result_t GenerateHeader(
- const MessageConsumer& consumer,
- const std::vector<ir::Module*>& modules,
- uint32_t max_id_bound, ir::ModuleHeader* header);
+static spv_result_t GenerateHeader(const MessageConsumer& consumer,
+ const std::vector<ir::Module*>& modules,
+ uint32_t max_id_bound,
+ ir::ModuleHeader* header);
// Merge all the modules from |inModules| into a single module owned by
// |linked_context|.
//
// |linked_context| should not be null.
-static spv_result_t MergeModules(
- const MessageConsumer& consumer,
- const std::vector<Module*>& inModules,
- const libspirv::AssemblyGrammar& grammar,
- IRContext* linked_context);
+static spv_result_t MergeModules(const MessageConsumer& consumer,
+ const std::vector<Module*>& inModules,
+ const libspirv::AssemblyGrammar& grammar,
+ IRContext* linked_context);
// Compute all pairs of import and export and return it in |linkings_to_do|.
//
@@ -283,9 +282,9 @@ spv_result_t Linker::Link(const uint32_t* const* binaries,
return SPV_SUCCESS;
}
-static spv_result_t ShiftIdsInModules(
- const MessageConsumer& consumer,
- std::vector<ir::Module*>* modules, uint32_t* max_id_bound) {
+static spv_result_t ShiftIdsInModules(const MessageConsumer& consumer,
+ std::vector<ir::Module*>* modules,
+ uint32_t* max_id_bound) {
spv_position_t position = {};
if (modules == nullptr)
@@ -329,10 +328,10 @@ static spv_result_t ShiftIdsInModules(
return SPV_SUCCESS;
}
-static spv_result_t GenerateHeader(
- const MessageConsumer& consumer,
- const std::vector<ir::Module*>& modules,
- uint32_t max_id_bound, ir::ModuleHeader* header) {
+static spv_result_t GenerateHeader(const MessageConsumer& consumer,
+ const std::vector<ir::Module*>& modules,
+ uint32_t max_id_bound,
+ ir::ModuleHeader* header) {
spv_position_t position = {};
if (modules.empty())
@@ -357,10 +356,10 @@ static spv_result_t GenerateHeader(
return SPV_SUCCESS;
}
-static spv_result_t MergeModules(
- const MessageConsumer& consumer,
- const std::vector<Module*>& input_modules,
- const libspirv::AssemblyGrammar& grammar, IRContext* linked_context) {
+static spv_result_t MergeModules(const MessageConsumer& consumer,
+ const std::vector<Module*>& input_modules,
+ const libspirv::AssemblyGrammar& grammar,
+ IRContext* linked_context) {
spv_position_t position = {};
if (linked_context == nullptr)
@@ -423,8 +422,8 @@ static spv_result_t MergeModules(
}
if (memory_model_inst != nullptr)
- linked_module->SetMemoryModel(
- std::unique_ptr<Instruction>(memory_model_inst->Clone(linked_context)));
+ linked_module->SetMemoryModel(std::unique_ptr<Instruction>(
+ memory_model_inst->Clone(linked_context)));
} while (false);
std::vector<std::pair<uint32_t, const char*>> entry_points;
@@ -707,7 +706,8 @@ static spv_result_t RemoveLinkageSpecificInstructions(
// Remove declarations of imported variables
for (const auto& linking_entry : linkings_to_do) {
for (auto& inst : linked_context->types_values())
- if (inst.result_id() == linking_entry.imported_symbol.id) linked_context->KillInst(&inst);
+ if (inst.result_id() == linking_entry.imported_symbol.id)
+ linked_context->KillInst(&inst);
}
// Remove import linkage attributes
@@ -738,12 +738,14 @@ static spv_result_t RemoveLinkageSpecificInstructions(
return SPV_SUCCESS;
}
-spv_result_t VerifyIds(const MessageConsumer& consumer, ir::IRContext* linked_context) {
+spv_result_t VerifyIds(const MessageConsumer& consumer,
+ ir::IRContext* linked_context) {
std::unordered_set<uint32_t> ids;
bool ok = true;
- linked_context->module()->ForEachInst([&ids,&ok](const ir::Instruction* inst) {
- ok &= ids.insert(inst->unique_id()).second;
- });
+ linked_context->module()->ForEachInst(
+ [&ids, &ok](const ir::Instruction* inst) {
+ ok &= ids.insert(inst->unique_id()).second;
+ });
if (!ok) {
consumer(SPV_MSG_INTERNAL_ERROR, "", {}, "Non-unique id in merged module");
diff --git a/source/name_mapper.cpp b/source/name_mapper.cpp
index a169621f..8b25cb49 100644
--- a/source/name_mapper.cpp
+++ b/source/name_mapper.cpp
@@ -234,30 +234,26 @@ spv_result_t FriendlyNameMapper::ParseInstruction(
}
} break;
case SpvOpTypeVector:
- SaveName(result_id,
- std::string("v") + to_string(inst.words[3]) +
- NameForId(inst.words[2]));
+ SaveName(result_id, std::string("v") + to_string(inst.words[3]) +
+ NameForId(inst.words[2]));
break;
case SpvOpTypeMatrix:
- SaveName(result_id,
- std::string("mat") + to_string(inst.words[3]) +
- NameForId(inst.words[2]));
+ SaveName(result_id, std::string("mat") + to_string(inst.words[3]) +
+ NameForId(inst.words[2]));
break;
case SpvOpTypeArray:
- SaveName(result_id,
- std::string("_arr_") + NameForId(inst.words[2]) + "_" +
- NameForId(inst.words[3]));
+ SaveName(result_id, std::string("_arr_") + NameForId(inst.words[2]) +
+ "_" + NameForId(inst.words[3]));
break;
case SpvOpTypeRuntimeArray:
SaveName(result_id,
std::string("_runtimearr_") + NameForId(inst.words[2]));
break;
case SpvOpTypePointer:
- SaveName(result_id,
- std::string("_ptr_") +
- NameForEnumOperand(SPV_OPERAND_TYPE_STORAGE_CLASS,
- inst.words[2]) +
- "_" + NameForId(inst.words[3]));
+ SaveName(result_id, std::string("_ptr_") +
+ NameForEnumOperand(SPV_OPERAND_TYPE_STORAGE_CLASS,
+ inst.words[2]) +
+ "_" + NameForId(inst.words[3]));
break;
case SpvOpTypePipe:
SaveName(result_id,
diff --git a/source/opt/basic_block.cpp b/source/opt/basic_block.cpp
index fccd396d..e120bab9 100644
--- a/source/opt/basic_block.cpp
+++ b/source/opt/basic_block.cpp
@@ -30,8 +30,8 @@ const uint32_t kSelectionMergeMergeBlockIdInIdx = 0;
} // namespace
BasicBlock* BasicBlock::Clone(IRContext* context) const {
- BasicBlock* clone =
- new BasicBlock(std::unique_ptr<Instruction>(GetLabelInst().Clone(context)));
+ BasicBlock* clone = new BasicBlock(
+ std::unique_ptr<Instruction>(GetLabelInst().Clone(context)));
for (const auto& inst : insts_)
// Use the incoming context
clone->AddInstruction(std::unique_ptr<Instruction>(inst.Clone(context)));
diff --git a/source/opt/block_merge_pass.cpp b/source/opt/block_merge_pass.cpp
index 9a72b147..24d19f67 100644
--- a/source/opt/block_merge_pass.cpp
+++ b/source/opt/block_merge_pass.cpp
@@ -24,12 +24,11 @@ namespace opt {
bool BlockMergePass::HasMultipleRefs(uint32_t labId) {
int rcnt = 0;
- get_def_use_mgr()->ForEachUser(
- labId, [&rcnt](ir::Instruction* user) {
- if (user->opcode() != SpvOpName) {
- ++rcnt;
- }
- });
+ get_def_use_mgr()->ForEachUser(labId, [&rcnt](ir::Instruction* user) {
+ if (user->opcode() != SpvOpName) {
+ ++rcnt;
+ }
+ });
return rcnt > 1;
}
@@ -40,7 +39,7 @@ void BlockMergePass::KillInstAndName(ir::Instruction* inst) {
to_kill.push_back(user);
}
});
- for (auto i: to_kill) {
+ for (auto i : to_kill) {
context()->KillInst(i);
}
context()->KillInst(inst);
diff --git a/source/opt/build_module.cpp b/source/opt/build_module.cpp
index d7a4271e..7978646d 100644
--- a/source/opt/build_module.cpp
+++ b/source/opt/build_module.cpp
@@ -14,7 +14,7 @@
#include "build_module.h"
-#include"ir_context.h"
+#include "ir_context.h"
#include "ir_loader.h"
#include "make_unique.h"
#include "table.h"
@@ -42,12 +42,12 @@ spv_result_t SetSpvInst(void* builder, const spv_parsed_instruction_t* inst) {
return SPV_ERROR_INVALID_BINARY;
};
-} // annoymous namespace
+} // namespace
std::unique_ptr<ir::IRContext> BuildModule(spv_target_env env,
- MessageConsumer consumer,
- const uint32_t* binary,
- const size_t size) {
+ MessageConsumer consumer,
+ const uint32_t* binary,
+ const size_t size) {
auto context = spvContextCreate(env);
libspirv::SetContextMessageConsumer(context, consumer);
diff --git a/source/opt/build_module.h b/source/opt/build_module.h
index 3ee66072..7e949363 100644
--- a/source/opt/build_module.h
+++ b/source/opt/build_module.h
@@ -29,8 +29,8 @@ namespace spvtools {
// decoded according to the given target |env|. Returns nullptr if errors occur
// and sends the errors to |consumer|.
std::unique_ptr<ir::IRContext> BuildModule(spv_target_env env,
- MessageConsumer consumer,
- const uint32_t* binary, size_t size);
+ MessageConsumer consumer,
+ const uint32_t* binary, size_t size);
// Builds an ir::Module and returns the owning ir::IRContext from the given
// SPIR-V assembly |text|. The |text| will be encoded according to the given
diff --git a/source/opt/cfg.cpp b/source/opt/cfg.cpp
index a0b78c78..bf462361 100644
--- a/source/opt/cfg.cpp
+++ b/source/opt/cfg.cpp
@@ -30,8 +30,8 @@ CFG::CFG(ir::Module* module)
: module_(module),
pseudo_entry_block_(std::unique_ptr<ir::Instruction>(
new ir::Instruction(module->context(), SpvOpLabel, 0, 0, {}))),
- pseudo_exit_block_(std::unique_ptr<ir::Instruction>(
- new ir::Instruction(module->context(), SpvOpLabel, 0, kInvalidId, {}))) {
+ pseudo_exit_block_(std::unique_ptr<ir::Instruction>(new ir::Instruction(
+ module->context(), SpvOpLabel, 0, kInvalidId, {}))) {
for (auto& fn : *module) {
for (auto& blk : fn) {
uint32_t blkId = blk.id();
@@ -88,5 +88,5 @@ void CFG::ComputeStructuredSuccessors(ir::Function* func) {
}
}
-} // namespace opt
+} // namespace ir
} // namespace spvtools
diff --git a/source/opt/cfg.h b/source/opt/cfg.h
index 6043b6ec..f8f3c6c0 100644
--- a/source/opt/cfg.h
+++ b/source/opt/cfg.h
@@ -104,7 +104,7 @@ class CFG {
std::unordered_map<uint32_t, ir::BasicBlock*> id2block_;
};
-} // namespace opt
+} // namespace ir
} // namespace spvtools
#endif // LIBSPIRV_OPT_CFG_H_
diff --git a/source/opt/cfg_cleanup_pass.cpp b/source/opt/cfg_cleanup_pass.cpp
index a74b6d35..2565225e 100644
--- a/source/opt/cfg_cleanup_pass.cpp
+++ b/source/opt/cfg_cleanup_pass.cpp
@@ -27,9 +27,7 @@
namespace spvtools {
namespace opt {
-void CFGCleanupPass::Initialize(ir::IRContext* c) {
- InitializeProcessing(c);
-}
+void CFGCleanupPass::Initialize(ir::IRContext* c) { InitializeProcessing(c); }
Pass::Status CFGCleanupPass::Process(ir::IRContext* c) {
Initialize(c);
diff --git a/source/opt/common_uniform_elim_pass.cpp b/source/opt/common_uniform_elim_pass.cpp
index 9b8b1aca..721b9536 100644
--- a/source/opt/common_uniform_elim_pass.cpp
+++ b/source/opt/common_uniform_elim_pass.cpp
@@ -99,10 +99,11 @@ ir::Instruction* CommonUniformElimPass::GetPtr(ir::Instruction* ip,
bool CommonUniformElimPass::IsVolatileStruct(uint32_t type_id) {
assert(get_def_use_mgr()->GetDef(type_id)->opcode() == SpvOpTypeStruct);
bool has_volatile_deco = false;
- get_decoration_mgr()->ForEachDecoration(type_id, SpvDecorationVolatile,
- [&has_volatile_deco](const ir::Instruction&) {
- has_volatile_deco = true;
- });
+ get_decoration_mgr()->ForEachDecoration(
+ type_id, SpvDecorationVolatile,
+ [&has_volatile_deco](const ir::Instruction&) {
+ has_volatile_deco = true;
+ });
return has_volatile_deco;
}
@@ -256,8 +257,9 @@ void CommonUniformElimPass::GenACLoadRepl(
}
++iidIdx;
});
- std::unique_ptr<ir::Instruction> newExt(new ir::Instruction(
- context(), SpvOpCompositeExtract, ptrPteTypeId, extResultId, ext_in_opnds));
+ std::unique_ptr<ir::Instruction> newExt(
+ new ir::Instruction(context(), SpvOpCompositeExtract, ptrPteTypeId,
+ extResultId, ext_in_opnds));
get_def_use_mgr()->AnalyzeInstDefUse(&*newExt);
newInsts->emplace_back(std::move(newExt));
*resultId = extResultId;
@@ -553,18 +555,27 @@ void CommonUniformElimPass::InitExtensions() {
extensions_whitelist_.clear();
extensions_whitelist_.insert({
"SPV_AMD_shader_explicit_vertex_parameter",
- "SPV_AMD_shader_trinary_minmax", "SPV_AMD_gcn_shader",
- "SPV_KHR_shader_ballot", "SPV_AMD_shader_ballot",
- "SPV_AMD_gpu_shader_half_float", "SPV_KHR_shader_draw_parameters",
- "SPV_KHR_subgroup_vote", "SPV_KHR_16bit_storage", "SPV_KHR_device_group",
- "SPV_KHR_multiview", "SPV_NVX_multiview_per_view_attributes",
- "SPV_NV_viewport_array2", "SPV_NV_stereo_view_rendering",
+ "SPV_AMD_shader_trinary_minmax",
+ "SPV_AMD_gcn_shader",
+ "SPV_KHR_shader_ballot",
+ "SPV_AMD_shader_ballot",
+ "SPV_AMD_gpu_shader_half_float",
+ "SPV_KHR_shader_draw_parameters",
+ "SPV_KHR_subgroup_vote",
+ "SPV_KHR_16bit_storage",
+ "SPV_KHR_device_group",
+ "SPV_KHR_multiview",
+ "SPV_NVX_multiview_per_view_attributes",
+ "SPV_NV_viewport_array2",
+ "SPV_NV_stereo_view_rendering",
"SPV_NV_sample_mask_override_coverage",
- "SPV_NV_geometry_shader_passthrough", "SPV_AMD_texture_gather_bias_lod",
+ "SPV_NV_geometry_shader_passthrough",
+ "SPV_AMD_texture_gather_bias_lod",
"SPV_KHR_storage_buffer_storage_class",
// SPV_KHR_variable_pointers
// Currently do not support extended pointer expressions
- "SPV_AMD_gpu_shader_int16", "SPV_KHR_post_depth_coverage",
+ "SPV_AMD_gpu_shader_int16",
+ "SPV_KHR_post_depth_coverage",
"SPV_KHR_shader_atomic_counter_ops",
});
}
diff --git a/source/opt/dead_branch_elim_pass.cpp b/source/opt/dead_branch_elim_pass.cpp
index b9c65621..90ef32d8 100644
--- a/source/opt/dead_branch_elim_pass.cpp
+++ b/source/opt/dead_branch_elim_pass.cpp
@@ -17,8 +17,8 @@
#include "dead_branch_elim_pass.h"
#include "cfa.h"
-#include "iterator.h"
#include "ir_context.h"
+#include "iterator.h"
namespace spvtools {
namespace opt {
diff --git a/source/opt/dead_variable_elimination.cpp b/source/opt/dead_variable_elimination.cpp
index 01ff04fd..1fec3a4f 100644
--- a/source/opt/dead_variable_elimination.cpp
+++ b/source/opt/dead_variable_elimination.cpp
@@ -14,8 +14,8 @@
#include "dead_variable_elimination.h"
-#include "reflect.h"
#include "ir_context.h"
+#include "reflect.h"
namespace spvtools {
namespace opt {
diff --git a/source/opt/decoration_manager.cpp b/source/opt/decoration_manager.cpp
index 42c4e773..4b557f38 100644
--- a/source/opt/decoration_manager.cpp
+++ b/source/opt/decoration_manager.cpp
@@ -261,7 +261,8 @@ void DecorationManager::CloneDecorations(
case SpvOpMemberDecorate:
case SpvOpDecorateId: {
// simply clone decoration and change |target-id| to |to|
- std::unique_ptr<ir::Instruction> new_inst(inst->Clone(module_->context()));
+ std::unique_ptr<ir::Instruction> new_inst(
+ inst->Clone(module_->context()));
new_inst->SetInOperand(0, {to});
id_to_decoration_insts_[to].push_back(new_inst.get());
module_->AddAnnotationInst(std::move(new_inst));
diff --git a/source/opt/decoration_manager.h b/source/opt/decoration_manager.h
index a87a8f9d..fca78d39 100644
--- a/source/opt/decoration_manager.h
+++ b/source/opt/decoration_manager.h
@@ -71,7 +71,8 @@ class DecorationManager {
// Function |f| can be used to update context information and is called
// with |false|, before an instruction is going to be changed and
// with |true| afterwards.
- void CloneDecorations(uint32_t from, uint32_t to, std::function<void(ir::Instruction&, bool)> f);
+ void CloneDecorations(uint32_t from, uint32_t to,
+ std::function<void(ir::Instruction&, bool)> f);
// Informs the decoration manager of a new decoration that it needs to track.
void AddDecoration(ir::Instruction* inst);
diff --git a/source/opt/def_use_manager.cpp b/source/opt/def_use_manager.cpp
index 94935f03..be9dc6c0 100644
--- a/source/opt/def_use_manager.cpp
+++ b/source/opt/def_use_manager.cpp
@@ -95,40 +95,44 @@ bool DefUseManager::UsersNotEnd(const IdToUsersMap::const_iterator& iter,
return UsersNotEnd(iter, id_to_users_.end(), inst);
}
-void DefUseManager::ForEachUser(const ir::Instruction* def,
- const std::function<void(ir::Instruction*)>& f) const {
+void DefUseManager::ForEachUser(
+ const ir::Instruction* def,
+ const std::function<void(ir::Instruction*)>& f) const {
// Ensure that |def| has been registered.
- assert(def && def == GetDef(def->result_id()) && "Definition is not registered.");
+ assert(def && def == GetDef(def->result_id()) &&
+ "Definition is not registered.");
auto end = id_to_users_.end();
for (auto iter = UsersBegin(def); UsersNotEnd(iter, end, def); ++iter) {
f(iter->second);
}
}
-void DefUseManager::ForEachUser(uint32_t id,
- const std::function<void(ir::Instruction*)>& f) const {
+void DefUseManager::ForEachUser(
+ uint32_t id, const std::function<void(ir::Instruction*)>& f) const {
ForEachUser(GetDef(id), f);
}
-void DefUseManager::ForEachUse(const ir::Instruction* def,
- const std::function<void(ir::Instruction*, uint32_t)>& f) const {
+void DefUseManager::ForEachUse(
+ const ir::Instruction* def,
+ const std::function<void(ir::Instruction*, uint32_t)>& f) const {
// Ensure that |def| has been registered.
- assert(def && def == GetDef(def->result_id()) && "Definition is not registered.");
+ assert(def && def == GetDef(def->result_id()) &&
+ "Definition is not registered.");
auto end = id_to_users_.end();
for (auto iter = UsersBegin(def); UsersNotEnd(iter, end, def); ++iter) {
ir::Instruction* user = iter->second;
for (uint32_t idx = 0; idx != user->NumOperands(); ++idx) {
const ir::Operand& op = user->GetOperand(idx);
if (op.type != SPV_OPERAND_TYPE_RESULT_ID && spvIsIdType(op.type)) {
- if (def->result_id() == op.words[0])
- f(user, idx);
+ if (def->result_id() == op.words[0]) f(user, idx);
}
}
}
}
-void DefUseManager::ForEachUse(uint32_t id,
- const std::function<void(ir::Instruction*, uint32_t)>& f) const {
+void DefUseManager::ForEachUse(
+ uint32_t id,
+ const std::function<void(ir::Instruction*, uint32_t)>& f) const {
ForEachUse(GetDef(id), f);
}
@@ -148,10 +152,10 @@ std::vector<ir::Instruction*> DefUseManager::GetAnnotations(uint32_t id) const {
void DefUseManager::AnalyzeDefUse(ir::Module* module) {
if (!module) return;
// Analyze all the defs before any uses to catch forward references.
- module->ForEachInst(std::bind(&DefUseManager::AnalyzeInstDef, this,
- std::placeholders::_1));
- module->ForEachInst(std::bind(&DefUseManager::AnalyzeInstUse, this,
- std::placeholders::_1));
+ module->ForEachInst(
+ std::bind(&DefUseManager::AnalyzeInstDef, this, std::placeholders::_1));
+ module->ForEachInst(
+ std::bind(&DefUseManager::AnalyzeInstUse, this, std::placeholders::_1));
}
void DefUseManager::ClearInst(ir::Instruction* inst) {
@@ -163,7 +167,8 @@ void DefUseManager::ClearInst(ir::Instruction* inst) {
auto users_begin = UsersBegin(inst);
auto end = id_to_users_.end();
auto new_end = users_begin;
- for (; UsersNotEnd(new_end, end, inst); ++new_end) {}
+ for (; UsersNotEnd(new_end, end, inst); ++new_end) {
+ }
id_to_users_.erase(users_begin, new_end);
id_to_def_.erase(inst->result_id());
}
@@ -176,7 +181,8 @@ void DefUseManager::EraseUseRecordsOfOperandIds(const ir::Instruction* inst) {
auto iter = inst_to_used_ids_.find(inst);
if (iter != inst_to_used_ids_.end()) {
for (auto use_id : iter->second) {
- id_to_users_.erase(UserEntry(GetDef(use_id), const_cast<ir::Instruction*>(inst)));
+ id_to_users_.erase(
+ UserEntry(GetDef(use_id), const_cast<ir::Instruction*>(inst)));
}
inst_to_used_ids_.erase(inst);
}
diff --git a/source/opt/def_use_manager.h b/source/opt/def_use_manager.h
index 1f673058..0d814523 100644
--- a/source/opt/def_use_manager.h
+++ b/source/opt/def_use_manager.h
@@ -42,15 +42,11 @@ inline bool operator==(const Use& lhs, const Use& rhs) {
return lhs.inst == rhs.inst && lhs.operand_index == rhs.operand_index;
}
-inline bool operator!=(const Use& lhs, const Use& rhs) {
- return !(lhs == rhs);
-}
+inline bool operator!=(const Use& lhs, const Use& rhs) { return !(lhs == rhs); }
inline bool operator<(const Use& lhs, const Use& rhs) {
- if (lhs.inst < rhs.inst)
- return true;
- if (lhs.inst > rhs.inst)
- return false;
+ if (lhs.inst < rhs.inst) return true;
+ if (lhs.inst > rhs.inst) return false;
return lhs.operand_index < rhs.operand_index;
}
@@ -77,26 +73,19 @@ struct UserEntryLess {
bool operator()(const UserEntry& lhs, const UserEntry& rhs) const {
// If lhs.first and rhs.first are both null, fall through to checking the
// second entries.
- if (!lhs.first && rhs.first)
- return true;
- if (lhs.first && !rhs.first)
- return false;
+ if (!lhs.first && rhs.first) return true;
+ if (lhs.first && !rhs.first) return false;
// If neither defintion is null, then compare unique ids.
if (lhs.first && rhs.first) {
- if (lhs.first->unique_id() < rhs.first->unique_id())
- return true;
- if (rhs.first->unique_id() < lhs.first->unique_id())
- return false;
+ if (lhs.first->unique_id() < rhs.first->unique_id()) return true;
+ if (rhs.first->unique_id() < lhs.first->unique_id()) return false;
}
// Return false on equality.
- if (!lhs.second && !rhs.second)
- return false;
- if (!lhs.second)
- return true;
- if (!rhs.second)
- return false;
+ if (!lhs.second && !rhs.second) return false;
+ if (!lhs.second) return true;
+ if (!rhs.second) return false;
// If neither user is null then compare unique ids.
return lhs.second->unique_id() < rhs.second->unique_id();
@@ -155,12 +144,12 @@ class DefUseManager {
// visited separately.
//
// |def| (or |id|) must be registered as a definition.
- void ForEachUse(
- const ir::Instruction* def,
- const std::function<void(ir::Instruction*, uint32_t operand_index)>& f) const;
- void ForEachUse(
- uint32_t id,
- const std::function<void(ir::Instruction*, uint32_t operand_index)>& f) const;
+ void ForEachUse(const ir::Instruction* def,
+ const std::function<void(ir::Instruction*,
+ uint32_t operand_index)>& f) const;
+ void ForEachUse(uint32_t id,
+ const std::function<void(ir::Instruction*,
+ uint32_t operand_index)>& f) const;
// Returns the annotation instrunctions which are a direct use of the given
// |id|. This means when the decorations are applied through decoration
@@ -184,8 +173,8 @@ class DefUseManager {
// Erases the records that a given instruction uses its operand ids.
void EraseUseRecordsOfOperandIds(const ir::Instruction* inst);
- friend bool operator==(const DefUseManager&, const DefUseManager&);
- friend bool operator!=(const DefUseManager& lhs, const DefUseManager& rhs) {
+ friend bool operator==(const DefUseManager&, const DefUseManager&);
+ friend bool operator!=(const DefUseManager& lhs, const DefUseManager& rhs) {
return !(lhs == rhs);
}
@@ -213,11 +202,10 @@ class DefUseManager {
// structures in this class. Does nothing if |module| is nullptr.
void AnalyzeDefUse(ir::Module* module);
- IdToDefMap id_to_def_; // Mapping from ids to their definitions
- IdToUsersMap id_to_users_; // Mapping from ids to their users
+ IdToDefMap id_to_def_; // Mapping from ids to their definitions
+ IdToUsersMap id_to_users_; // Mapping from ids to their users
// Mapping from instructions to the ids used in the instruction.
InstToUsedIdsMap inst_to_used_ids_;
-
};
} // namespace analysis
diff --git a/source/opt/eliminate_dead_constant_pass.cpp b/source/opt/eliminate_dead_constant_pass.cpp
index 3c4e7f91..5c60f344 100644
--- a/source/opt/eliminate_dead_constant_pass.cpp
+++ b/source/opt/eliminate_dead_constant_pass.cpp
@@ -95,15 +95,14 @@ Pass::Status EliminateDeadConstantPass::Process(ir::IRContext* irContext) {
// constants.
std::unordered_set<ir::Instruction*> dead_others;
for (auto* dc : dead_consts) {
- irContext->get_def_use_mgr()->ForEachUser(dc, [&dead_others](ir::Instruction* user) {
- SpvOp op = user->opcode();
- if (ir::IsAnnotationInst(op) ||
- ir::IsDebug1Inst(op) ||
- ir::IsDebug2Inst(op) ||
- ir::IsDebug3Inst(op)) {
- dead_others.insert(user);
- }
- });
+ irContext->get_def_use_mgr()->ForEachUser(
+ dc, [&dead_others](ir::Instruction* user) {
+ SpvOp op = user->opcode();
+ if (ir::IsAnnotationInst(op) || ir::IsDebug1Inst(op) ||
+ ir::IsDebug2Inst(op) || ir::IsDebug3Inst(op)) {
+ dead_others.insert(user);
+ }
+ });
}
// Turn all dead instructions and uses of them to nop
diff --git a/source/opt/eliminate_dead_functions_pass.cpp b/source/opt/eliminate_dead_functions_pass.cpp
index 8c7d02f4..8f9748a6 100644
--- a/source/opt/eliminate_dead_functions_pass.cpp
+++ b/source/opt/eliminate_dead_functions_pass.cpp
@@ -51,10 +51,7 @@ Pass::Status EliminateDeadFunctionsPass::Process(ir::IRContext* c) {
void EliminateDeadFunctionsPass::EliminateFunction(ir::Function* func) {
// Remove all of the instruction in the function body
func->ForEachInst(
- [this](ir::Instruction* inst) {
- context()->KillInst(inst);
- },
- true);
+ [this](ir::Instruction* inst) { context()->KillInst(inst); }, true);
}
} // namespace opt
} // namespace spvtools
diff --git a/source/opt/fold_spec_constant_op_and_composite_pass.cpp b/source/opt/fold_spec_constant_op_and_composite_pass.cpp
index e91d1fb1..dc33eda7 100644
--- a/source/opt/fold_spec_constant_op_and_composite_pass.cpp
+++ b/source/opt/fold_spec_constant_op_and_composite_pass.cpp
@@ -515,7 +515,7 @@ bool IsValidTypeForComponentWiseOperation(const analysis::Type* type) {
}
return false;
}
-}
+} // namespace
ir::Instruction* FoldSpecConstantOpAndCompositePass::DoComponentWiseOperation(
ir::Module::inst_iterator* pos) {
@@ -766,8 +766,7 @@ FoldSpecConstantOpAndCompositePass::CreateCompositeInstruction(
operands.emplace_back(spv_operand_type_t::SPV_OPERAND_TYPE_ID,
std::initializer_list<uint32_t>{id});
}
- return MakeUnique<ir::Instruction>(context(),
- SpvOp::SpvOpConstantComposite,
+ return MakeUnique<ir::Instruction>(context(), SpvOp::SpvOpConstantComposite,
type_mgr_->GetId(cc->type()), result_id,
std::move(operands));
}
diff --git a/source/opt/function.cpp b/source/opt/function.cpp
index dc5320f6..d70d7f85 100644
--- a/source/opt/function.cpp
+++ b/source/opt/function.cpp
@@ -24,7 +24,7 @@ Function* Function::Clone(IRContext* context) const {
new Function(std::unique_ptr<Instruction>(DefInst().Clone(context)));
clone->params_.reserve(params_.size());
ForEachParam(
- [clone,context](const Instruction* inst) {
+ [clone, context](const Instruction* inst) {
clone->AddParameter(std::unique_ptr<Instruction>(inst->Clone(context)));
},
true);
@@ -36,7 +36,8 @@ Function* Function::Clone(IRContext* context) const {
clone->AddBasicBlock(std::move(bb));
}
- clone->SetFunctionEnd(std::unique_ptr<Instruction>(function_end().Clone(context)));
+ clone->SetFunctionEnd(
+ std::unique_ptr<Instruction>(function_end().Clone(context)));
return clone;
}
diff --git a/source/opt/inline_pass.cpp b/source/opt/inline_pass.cpp
index f813f998..4b1ba58f 100644
--- a/source/opt/inline_pass.cpp
+++ b/source/opt/inline_pass.cpp
@@ -146,7 +146,8 @@ void InlinePass::CloneAndMapLocals(
std::unique_ptr<ir::Instruction> var_inst(
callee_var_itr->Clone(callee_var_itr->context()));
uint32_t newId = TakeNextId();
- get_decoration_mgr()->CloneDecorations(callee_var_itr->result_id(), newId, update_def_use_mgr_);
+ get_decoration_mgr()->CloneDecorations(callee_var_itr->result_id(), newId,
+ update_def_use_mgr_);
var_inst->SetResultId(newId);
(*callee2caller)[callee_var_itr->result_id()] = newId;
new_vars->push_back(std::move(var_inst));
@@ -175,7 +176,8 @@ uint32_t InlinePass::CreateReturnVar(
{SpvStorageClassFunction}}}));
new_vars->push_back(std::move(var_inst));
}
- get_decoration_mgr()->CloneDecorations(calleeFn->result_id(), returnVarId, update_def_use_mgr_);
+ get_decoration_mgr()->CloneDecorations(calleeFn->result_id(), returnVarId,
+ update_def_use_mgr_);
return returnVarId;
}
@@ -188,30 +190,30 @@ void InlinePass::CloneSameBlockOps(
std::unordered_map<uint32_t, uint32_t>* postCallSB,
std::unordered_map<uint32_t, ir::Instruction*>* preCallSB,
std::unique_ptr<ir::BasicBlock>* block_ptr) {
- (*inst)->ForEachInId(
- [&postCallSB, &preCallSB, &block_ptr, this](uint32_t* iid) {
- const auto mapItr = (*postCallSB).find(*iid);
- if (mapItr == (*postCallSB).end()) {
- const auto mapItr2 = (*preCallSB).find(*iid);
- if (mapItr2 != (*preCallSB).end()) {
- // Clone pre-call same-block ops, map result id.
- const ir::Instruction* inInst = mapItr2->second;
- std::unique_ptr<ir::Instruction> sb_inst(
- inInst->Clone(inInst->context()));
- CloneSameBlockOps(&sb_inst, postCallSB, preCallSB, block_ptr);
- const uint32_t rid = sb_inst->result_id();
- const uint32_t nid = this->TakeNextId();
- get_decoration_mgr()->CloneDecorations(rid, nid, update_def_use_mgr_);
- sb_inst->SetResultId(nid);
- (*postCallSB)[rid] = nid;
- *iid = nid;
- (*block_ptr)->AddInstruction(std::move(sb_inst));
- }
- } else {
- // Reset same-block op operand.
- *iid = mapItr->second;
- }
- });
+ (*inst)->ForEachInId([&postCallSB, &preCallSB, &block_ptr,
+ this](uint32_t* iid) {
+ const auto mapItr = (*postCallSB).find(*iid);
+ if (mapItr == (*postCallSB).end()) {
+ const auto mapItr2 = (*preCallSB).find(*iid);
+ if (mapItr2 != (*preCallSB).end()) {
+ // Clone pre-call same-block ops, map result id.
+ const ir::Instruction* inInst = mapItr2->second;
+ std::unique_ptr<ir::Instruction> sb_inst(
+ inInst->Clone(inInst->context()));
+ CloneSameBlockOps(&sb_inst, postCallSB, preCallSB, block_ptr);
+ const uint32_t rid = sb_inst->result_id();
+ const uint32_t nid = this->TakeNextId();
+ get_decoration_mgr()->CloneDecorations(rid, nid, update_def_use_mgr_);
+ sb_inst->SetResultId(nid);
+ (*postCallSB)[rid] = nid;
+ *iid = nid;
+ (*block_ptr)->AddInstruction(std::move(sb_inst));
+ }
+ } else {
+ // Reset same-block op operand.
+ *iid = mapItr->second;
+ }
+ });
}
void InlinePass::GenInlineCode(
@@ -649,7 +651,7 @@ void InlinePass::InitializeInline(ir::IRContext* c) {
InitializeProcessing(c);
// Don't bother updating the DefUseManger
- update_def_use_mgr_ = [this] (ir::Instruction&, bool) {};
+ update_def_use_mgr_ = [this](ir::Instruction&, bool) {};
false_id_ = 0;
diff --git a/source/opt/inline_pass.h b/source/opt/inline_pass.h
index 7ecf772f..0b037bc9 100644
--- a/source/opt/inline_pass.h
+++ b/source/opt/inline_pass.h
@@ -23,8 +23,8 @@
#include <unordered_map>
#include <vector>
-#include "def_use_manager.h"
#include "decoration_manager.h"
+#include "def_use_manager.h"
#include "module.h"
#include "pass.h"
diff --git a/source/opt/insert_extract_elim.cpp b/source/opt/insert_extract_elim.cpp
index b506d9eb..d249e421 100644
--- a/source/opt/insert_extract_elim.cpp
+++ b/source/opt/insert_extract_elim.cpp
@@ -43,9 +43,9 @@ bool InsertExtractElimPass::ExtInsMatch(const ir::Instruction* extInst,
return true;
}
-bool InsertExtractElimPass::ExtInsConflict(
- const ir::Instruction* extInst, const ir::Instruction* insInst,
- const uint32_t extOffset) const {
+bool InsertExtractElimPass::ExtInsConflict(const ir::Instruction* extInst,
+ const ir::Instruction* insInst,
+ const uint32_t extOffset) const {
if (extInst->NumInOperands() - extOffset == insInst->NumInOperands() - 1)
return false;
uint32_t extNumIdx = extInst->NumInOperands() - 1 - extOffset;
@@ -80,21 +80,18 @@ bool InsertExtractElimPass::EliminateInsertExtract(ir::Function* func) {
// Match! Use inserted value as replacement
replId = cinst->GetSingleWordInOperand(kInsertObjectIdInIdx);
break;
- }
- else if (ExtInsConflict(&*ii, cinst, extOffset)) {
+ } else if (ExtInsConflict(&*ii, cinst, extOffset)) {
// If extract has fewer indices than the insert, stop searching.
// Otherwise increment offset of extract indices considered and
// continue searching through the inserted value
if (ii->NumInOperands() - extOffset <
cinst->NumInOperands() - 1) {
break;
- }
- else {
+ } else {
extOffset += cinst->NumInOperands() - 2;
cid = cinst->GetSingleWordInOperand(kInsertObjectIdInIdx);
}
- }
- else {
+ } else {
// Consider next composite in insert chain
cid = cinst->GetSingleWordInOperand(kInsertCompositeIdInIdx);
}
diff --git a/source/opt/insert_extract_elim.h b/source/opt/insert_extract_elim.h
index cb0f4f3f..ab3d8f4e 100644
--- a/source/opt/insert_extract_elim.h
+++ b/source/opt/insert_extract_elim.h
@@ -41,7 +41,7 @@ class InsertExtractElimPass : public Pass {
private:
// Return true if indices of extract |extInst| starting at |extOffset|
- // match indices of insert |insInst|.
+ // match indices of insert |insInst|.
bool ExtInsMatch(const ir::Instruction* extInst,
const ir::Instruction* insInst,
const uint32_t extOffset) const;
diff --git a/source/opt/instruction.h b/source/opt/instruction.h
index 962b66b3..a046e8dc 100644
--- a/source/opt/instruction.h
+++ b/source/opt/instruction.h
@@ -126,7 +126,7 @@ class Instruction : public utils::IntrusiveNodeBase<Instruction> {
// It is the responsibility of the caller to make sure that the storage is
// removed. It is the caller's responsibility to make sure that there is only
// one instruction for each result id.
- Instruction* Clone(IRContext *c) const;
+ Instruction* Clone(IRContext* c) const;
IRContext* context() const { return context_; }
diff --git a/source/opt/ir_context.cpp b/source/opt/ir_context.cpp
index 2dd947e4..3afdd646 100644
--- a/source/opt/ir_context.cpp
+++ b/source/opt/ir_context.cpp
@@ -93,12 +93,14 @@ bool IRContext::ReplaceAllUsesWith(uint32_t before, uint32_t after) {
if (before == after) return false;
// Ensure that |after| has been registered as def.
- assert(get_def_use_mgr()->GetDef(after) && "'after' is not a registered def.");
+ assert(get_def_use_mgr()->GetDef(after) &&
+ "'after' is not a registered def.");
- std::vector<std::pair<ir::Instruction*,uint32_t>> uses_to_update;
- get_def_use_mgr()->ForEachUse(before, [&uses_to_update](ir::Instruction* user, uint32_t index) {
- uses_to_update.emplace_back(user, index);
- });
+ std::vector<std::pair<ir::Instruction*, uint32_t>> uses_to_update;
+ get_def_use_mgr()->ForEachUse(
+ before, [&uses_to_update](ir::Instruction* user, uint32_t index) {
+ uses_to_update.emplace_back(user, index);
+ });
ir::Instruction* prev = nullptr;
for (auto p : uses_to_update) {
@@ -421,11 +423,11 @@ void IRContext::AddCombinatorsForExtension(ir::Instruction* extension) {
}
void IRContext::InitializeCombinators() {
- for( auto& capability : module()->capabilities()) {
+ for (auto& capability : module()->capabilities()) {
AddCombinatorsForCapability(capability.GetSingleWordInOperand(0));
}
- for( auto& extension : module()->ext_inst_imports()) {
+ for (auto& extension : module()->ext_inst_imports()) {
AddCombinatorsForExtension(&extension);
}
diff --git a/source/opt/ir_context.h b/source/opt/ir_context.h
index 468dbc5e..12499be4 100644
--- a/source/opt/ir_context.h
+++ b/source/opt/ir_context.h
@@ -343,7 +343,7 @@ class IRContext {
// Opcodes of shader capability core executable instructions
// without side-effect.
- std::unordered_map<uint32_t, std::unordered_set<uint32_t>> combinator_ops_;
+ std::unordered_map<uint32_t, std::unordered_set<uint32_t>> combinator_ops_;
};
inline ir::IRContext::Analysis operator|(ir::IRContext::Analysis lhs,
diff --git a/source/opt/local_access_chain_convert_pass.cpp b/source/opt/local_access_chain_convert_pass.cpp
index db7bf953..b5729bb6 100644
--- a/source/opt/local_access_chain_convert_pass.cpp
+++ b/source/opt/local_access_chain_convert_pass.cpp
@@ -16,8 +16,8 @@
#include "local_access_chain_convert_pass.h"
-#include "iterator.h"
#include "ir_context.h"
+#include "iterator.h"
namespace spvtools {
namespace opt {
@@ -139,17 +139,18 @@ bool LocalAccessChainConvertPass::IsConstantIndexAccessChain(
bool LocalAccessChainConvertPass::HasOnlySupportedRefs(uint32_t ptrId) {
if (supported_ref_ptrs_.find(ptrId) != supported_ref_ptrs_.end()) return true;
bool hasOnlySupportedRefs = true;
- get_def_use_mgr()->ForEachUser(ptrId, [this,&hasOnlySupportedRefs](ir::Instruction* user) {
- SpvOp op = user->opcode();
- if (IsNonPtrAccessChain(op) || op == SpvOpCopyObject) {
- if (!HasOnlySupportedRefs(user->result_id())) {
- hasOnlySupportedRefs = false;
- }
- } else if (op != SpvOpStore && op != SpvOpLoad && op != SpvOpName &&
- !IsNonTypeDecorate(op)) {
- hasOnlySupportedRefs = false;
- }
- });
+ get_def_use_mgr()->ForEachUser(
+ ptrId, [this, &hasOnlySupportedRefs](ir::Instruction* user) {
+ SpvOp op = user->opcode();
+ if (IsNonPtrAccessChain(op) || op == SpvOpCopyObject) {
+ if (!HasOnlySupportedRefs(user->result_id())) {
+ hasOnlySupportedRefs = false;
+ }
+ } else if (op != SpvOpStore && op != SpvOpLoad && op != SpvOpName &&
+ !IsNonTypeDecorate(op)) {
+ hasOnlySupportedRefs = false;
+ }
+ });
if (hasOnlySupportedRefs) {
supported_ref_ptrs_.insert(ptrId);
}
@@ -174,9 +175,8 @@ void LocalAccessChainConvertPass::FindTargetVars(ir::Function* func) {
}
// Rule out variables with nested access chains
// TODO(): Convert nested access chains
- if (IsNonPtrAccessChain(op) &&
- ptrInst->GetSingleWordInOperand(kAccessChainPtrIdInIdx) !=
- varId) {
+ if (IsNonPtrAccessChain(op) && ptrInst->GetSingleWordInOperand(
+ kAccessChainPtrIdInIdx) != varId) {
seen_non_target_vars_.insert(varId);
seen_target_vars_.erase(varId);
break;
@@ -298,18 +298,27 @@ void LocalAccessChainConvertPass::InitExtensions() {
extensions_whitelist_.clear();
extensions_whitelist_.insert({
"SPV_AMD_shader_explicit_vertex_parameter",
- "SPV_AMD_shader_trinary_minmax", "SPV_AMD_gcn_shader",
- "SPV_KHR_shader_ballot", "SPV_AMD_shader_ballot",
- "SPV_AMD_gpu_shader_half_float", "SPV_KHR_shader_draw_parameters",
- "SPV_KHR_subgroup_vote", "SPV_KHR_16bit_storage", "SPV_KHR_device_group",
- "SPV_KHR_multiview", "SPV_NVX_multiview_per_view_attributes",
- "SPV_NV_viewport_array2", "SPV_NV_stereo_view_rendering",
+ "SPV_AMD_shader_trinary_minmax",
+ "SPV_AMD_gcn_shader",
+ "SPV_KHR_shader_ballot",
+ "SPV_AMD_shader_ballot",
+ "SPV_AMD_gpu_shader_half_float",
+ "SPV_KHR_shader_draw_parameters",
+ "SPV_KHR_subgroup_vote",
+ "SPV_KHR_16bit_storage",
+ "SPV_KHR_device_group",
+ "SPV_KHR_multiview",
+ "SPV_NVX_multiview_per_view_attributes",
+ "SPV_NV_viewport_array2",
+ "SPV_NV_stereo_view_rendering",
"SPV_NV_sample_mask_override_coverage",
- "SPV_NV_geometry_shader_passthrough", "SPV_AMD_texture_gather_bias_lod",
+ "SPV_NV_geometry_shader_passthrough",
+ "SPV_AMD_texture_gather_bias_lod",
"SPV_KHR_storage_buffer_storage_class",
// SPV_KHR_variable_pointers
// Currently do not support extended pointer expressions
- "SPV_AMD_gpu_shader_int16", "SPV_KHR_post_depth_coverage",
+ "SPV_AMD_gpu_shader_int16",
+ "SPV_KHR_post_depth_coverage",
"SPV_KHR_shader_atomic_counter_ops",
});
}
diff --git a/source/opt/local_single_block_elim_pass.cpp b/source/opt/local_single_block_elim_pass.cpp
index 95e91796..3ef8e0d0 100644
--- a/source/opt/local_single_block_elim_pass.cpp
+++ b/source/opt/local_single_block_elim_pass.cpp
@@ -30,17 +30,18 @@ const uint32_t kStoreValIdInIdx = 1;
bool LocalSingleBlockLoadStoreElimPass::HasOnlySupportedRefs(uint32_t ptrId) {
if (supported_ref_ptrs_.find(ptrId) != supported_ref_ptrs_.end()) return true;
bool hasOnlySupportedRefs = true;
- get_def_use_mgr()->ForEachUser(ptrId, [this,&hasOnlySupportedRefs](ir::Instruction* user) {
- SpvOp op = user->opcode();
- if (IsNonPtrAccessChain(op) || op == SpvOpCopyObject) {
- if (!HasOnlySupportedRefs(user->result_id())) {
- hasOnlySupportedRefs = false;
- }
- } else if (op != SpvOpStore && op != SpvOpLoad && op != SpvOpName &&
- !this->IsNonTypeDecorate(op)) {
- hasOnlySupportedRefs = false;
- }
- });
+ get_def_use_mgr()->ForEachUser(
+ ptrId, [this, &hasOnlySupportedRefs](ir::Instruction* user) {
+ SpvOp op = user->opcode();
+ if (IsNonPtrAccessChain(op) || op == SpvOpCopyObject) {
+ if (!HasOnlySupportedRefs(user->result_id())) {
+ hasOnlySupportedRefs = false;
+ }
+ } else if (op != SpvOpStore && op != SpvOpLoad && op != SpvOpName &&
+ !this->IsNonTypeDecorate(op)) {
+ hasOnlySupportedRefs = false;
+ }
+ });
if (hasOnlySupportedRefs) {
supported_ref_ptrs_.insert(ptrId);
}
@@ -187,18 +188,27 @@ void LocalSingleBlockLoadStoreElimPass::InitExtensions() {
extensions_whitelist_.clear();
extensions_whitelist_.insert({
"SPV_AMD_shader_explicit_vertex_parameter",
- "SPV_AMD_shader_trinary_minmax", "SPV_AMD_gcn_shader",
- "SPV_KHR_shader_ballot", "SPV_AMD_shader_ballot",
- "SPV_AMD_gpu_shader_half_float", "SPV_KHR_shader_draw_parameters",
- "SPV_KHR_subgroup_vote", "SPV_KHR_16bit_storage", "SPV_KHR_device_group",
- "SPV_KHR_multiview", "SPV_NVX_multiview_per_view_attributes",
- "SPV_NV_viewport_array2", "SPV_NV_stereo_view_rendering",
+ "SPV_AMD_shader_trinary_minmax",
+ "SPV_AMD_gcn_shader",
+ "SPV_KHR_shader_ballot",
+ "SPV_AMD_shader_ballot",
+ "SPV_AMD_gpu_shader_half_float",
+ "SPV_KHR_shader_draw_parameters",
+ "SPV_KHR_subgroup_vote",
+ "SPV_KHR_16bit_storage",
+ "SPV_KHR_device_group",
+ "SPV_KHR_multiview",
+ "SPV_NVX_multiview_per_view_attributes",
+ "SPV_NV_viewport_array2",
+ "SPV_NV_stereo_view_rendering",
"SPV_NV_sample_mask_override_coverage",
- "SPV_NV_geometry_shader_passthrough", "SPV_AMD_texture_gather_bias_lod",
+ "SPV_NV_geometry_shader_passthrough",
+ "SPV_AMD_texture_gather_bias_lod",
"SPV_KHR_storage_buffer_storage_class",
// SPV_KHR_variable_pointers
// Currently do not support extended pointer expressions
- "SPV_AMD_gpu_shader_int16", "SPV_KHR_post_depth_coverage",
+ "SPV_AMD_gpu_shader_int16",
+ "SPV_KHR_post_depth_coverage",
"SPV_KHR_shader_atomic_counter_ops",
});
}
diff --git a/source/opt/local_single_block_elim_pass.h b/source/opt/local_single_block_elim_pass.h
index 4edf116c..fa68788c 100644
--- a/source/opt/local_single_block_elim_pass.h
+++ b/source/opt/local_single_block_elim_pass.h
@@ -42,7 +42,7 @@ class LocalSingleBlockLoadStoreElimPass : public MemPass {
ir::IRContext::Analysis GetPreservedAnalyses() override {
return ir::IRContext::kAnalysisDefUse;
}
-
+
private:
// Return true if all uses of |varId| are only through supported reference
// operations ie. loads and store. Also cache in supported_ref_ptrs_.
diff --git a/source/opt/local_single_store_elim_pass.cpp b/source/opt/local_single_store_elim_pass.cpp
index b613f8a4..c7bda38f 100644
--- a/source/opt/local_single_store_elim_pass.cpp
+++ b/source/opt/local_single_store_elim_pass.cpp
@@ -32,17 +32,18 @@ const uint32_t kStoreValIdInIdx = 1;
bool LocalSingleStoreElimPass::HasOnlySupportedRefs(uint32_t ptrId) {
if (supported_ref_ptrs_.find(ptrId) != supported_ref_ptrs_.end()) return true;
bool hasOnlySupportedRefs = true;
- get_def_use_mgr()->ForEachUser(ptrId, [this,&hasOnlySupportedRefs](ir::Instruction* user) {
- SpvOp op = user->opcode();
- if (IsNonPtrAccessChain(op) || op == SpvOpCopyObject) {
- if (!HasOnlySupportedRefs(user->result_id())) {
- hasOnlySupportedRefs = false;
- }
- } else if (op != SpvOpStore && op != SpvOpLoad && op != SpvOpName &&
- !IsNonTypeDecorate(op)) {
- hasOnlySupportedRefs = false;
- }
- });
+ get_def_use_mgr()->ForEachUser(
+ ptrId, [this, &hasOnlySupportedRefs](ir::Instruction* user) {
+ SpvOp op = user->opcode();
+ if (IsNonPtrAccessChain(op) || op == SpvOpCopyObject) {
+ if (!HasOnlySupportedRefs(user->result_id())) {
+ hasOnlySupportedRefs = false;
+ }
+ } else if (op != SpvOpStore && op != SpvOpLoad && op != SpvOpName &&
+ !IsNonTypeDecorate(op)) {
+ hasOnlySupportedRefs = false;
+ }
+ });
if (hasOnlySupportedRefs) {
supported_ref_ptrs_.insert(ptrId);
}
@@ -283,18 +284,27 @@ void LocalSingleStoreElimPass::InitExtensions() {
extensions_whitelist_.clear();
extensions_whitelist_.insert({
"SPV_AMD_shader_explicit_vertex_parameter",
- "SPV_AMD_shader_trinary_minmax", "SPV_AMD_gcn_shader",
- "SPV_KHR_shader_ballot", "SPV_AMD_shader_ballot",
- "SPV_AMD_gpu_shader_half_float", "SPV_KHR_shader_draw_parameters",
- "SPV_KHR_subgroup_vote", "SPV_KHR_16bit_storage", "SPV_KHR_device_group",
- "SPV_KHR_multiview", "SPV_NVX_multiview_per_view_attributes",
- "SPV_NV_viewport_array2", "SPV_NV_stereo_view_rendering",
+ "SPV_AMD_shader_trinary_minmax",
+ "SPV_AMD_gcn_shader",
+ "SPV_KHR_shader_ballot",
+ "SPV_AMD_shader_ballot",
+ "SPV_AMD_gpu_shader_half_float",
+ "SPV_KHR_shader_draw_parameters",
+ "SPV_KHR_subgroup_vote",
+ "SPV_KHR_16bit_storage",
+ "SPV_KHR_device_group",
+ "SPV_KHR_multiview",
+ "SPV_NVX_multiview_per_view_attributes",
+ "SPV_NV_viewport_array2",
+ "SPV_NV_stereo_view_rendering",
"SPV_NV_sample_mask_override_coverage",
- "SPV_NV_geometry_shader_passthrough", "SPV_AMD_texture_gather_bias_lod",
+ "SPV_NV_geometry_shader_passthrough",
+ "SPV_AMD_texture_gather_bias_lod",
"SPV_KHR_storage_buffer_storage_class",
// SPV_KHR_variable_pointers
// Currently do not support extended pointer expressions
- "SPV_AMD_gpu_shader_int16", "SPV_KHR_post_depth_coverage",
+ "SPV_AMD_gpu_shader_int16",
+ "SPV_KHR_post_depth_coverage",
"SPV_KHR_shader_atomic_counter_ops",
});
}
diff --git a/source/opt/local_single_store_elim_pass.h b/source/opt/local_single_store_elim_pass.h
index 1ecc8677..80175f08 100644
--- a/source/opt/local_single_store_elim_pass.h
+++ b/source/opt/local_single_store_elim_pass.h
@@ -40,7 +40,7 @@ class LocalSingleStoreElimPass : public MemPass {
LocalSingleStoreElimPass();
const char* name() const override { return "eliminate-local-single-store"; }
Status Process(ir::IRContext* irContext) override;
-
+
ir::IRContext::Analysis GetPreservedAnalyses() override {
return ir::IRContext::kAnalysisDefUse;
}
diff --git a/source/opt/local_ssa_elim_pass.cpp b/source/opt/local_ssa_elim_pass.cpp
index f0aaee7d..02ee9794 100644
--- a/source/opt/local_ssa_elim_pass.cpp
+++ b/source/opt/local_ssa_elim_pass.cpp
@@ -96,18 +96,27 @@ void LocalMultiStoreElimPass::InitExtensions() {
extensions_whitelist_.clear();
extensions_whitelist_.insert({
"SPV_AMD_shader_explicit_vertex_parameter",
- "SPV_AMD_shader_trinary_minmax", "SPV_AMD_gcn_shader",
- "SPV_KHR_shader_ballot", "SPV_AMD_shader_ballot",
- "SPV_AMD_gpu_shader_half_float", "SPV_KHR_shader_draw_parameters",
- "SPV_KHR_subgroup_vote", "SPV_KHR_16bit_storage", "SPV_KHR_device_group",
- "SPV_KHR_multiview", "SPV_NVX_multiview_per_view_attributes",
- "SPV_NV_viewport_array2", "SPV_NV_stereo_view_rendering",
+ "SPV_AMD_shader_trinary_minmax",
+ "SPV_AMD_gcn_shader",
+ "SPV_KHR_shader_ballot",
+ "SPV_AMD_shader_ballot",
+ "SPV_AMD_gpu_shader_half_float",
+ "SPV_KHR_shader_draw_parameters",
+ "SPV_KHR_subgroup_vote",
+ "SPV_KHR_16bit_storage",
+ "SPV_KHR_device_group",
+ "SPV_KHR_multiview",
+ "SPV_NVX_multiview_per_view_attributes",
+ "SPV_NV_viewport_array2",
+ "SPV_NV_stereo_view_rendering",
"SPV_NV_sample_mask_override_coverage",
- "SPV_NV_geometry_shader_passthrough", "SPV_AMD_texture_gather_bias_lod",
+ "SPV_NV_geometry_shader_passthrough",
+ "SPV_AMD_texture_gather_bias_lod",
"SPV_KHR_storage_buffer_storage_class",
// SPV_KHR_variable_pointers
// Currently do not support extended pointer expressions
- "SPV_AMD_gpu_shader_int16", "SPV_KHR_post_depth_coverage",
+ "SPV_AMD_gpu_shader_int16",
+ "SPV_KHR_post_depth_coverage",
"SPV_KHR_shader_atomic_counter_ops",
});
}
diff --git a/source/opt/mem_pass.cpp b/source/opt/mem_pass.cpp
index 848cbb55..8062e0f2 100644
--- a/source/opt/mem_pass.cpp
+++ b/source/opt/mem_pass.cpp
@@ -18,8 +18,8 @@
#include "basic_block.h"
#include "cfa.h"
-#include "iterator.h"
#include "ir_context.h"
+#include "iterator.h"
namespace spvtools {
namespace opt {
@@ -119,24 +119,24 @@ ir::Instruction* MemPass::GetPtr(ir::Instruction* ip, uint32_t* varId) {
bool MemPass::HasOnlyNamesAndDecorates(uint32_t id) const {
bool hasOnlyNamesAndDecorates = true;
- get_def_use_mgr()->ForEachUser(id, [this, &hasOnlyNamesAndDecorates](ir::Instruction* user) {
- SpvOp op = user->opcode();
- if (op != SpvOpName && !IsNonTypeDecorate(op)) {
- hasOnlyNamesAndDecorates = false;
- }
- });
+ get_def_use_mgr()->ForEachUser(
+ id, [this, &hasOnlyNamesAndDecorates](ir::Instruction* user) {
+ SpvOp op = user->opcode();
+ if (op != SpvOpName && !IsNonTypeDecorate(op)) {
+ hasOnlyNamesAndDecorates = false;
+ }
+ });
return hasOnlyNamesAndDecorates;
}
void MemPass::KillAllInsts(ir::BasicBlock* bp) {
- bp->ForEachInst([this](ir::Instruction* ip) {
- context()->KillInst(ip);
- });
+ bp->ForEachInst([this](ir::Instruction* ip) { context()->KillInst(ip); });
}
bool MemPass::HasLoads(uint32_t varId) const {
bool hasLoads = false;
- get_def_use_mgr()->ForEachUser(varId, [this, &hasLoads](ir::Instruction* user) {
+ get_def_use_mgr()->ForEachUser(varId, [this,
+ &hasLoads](ir::Instruction* user) {
SpvOp op = user->opcode();
// TODO(): The following is slightly conservative. Could be
// better handling of non-store/name.
@@ -173,7 +173,7 @@ bool MemPass::IsLiveStore(ir::Instruction* storeInst) {
}
void MemPass::AddStores(uint32_t ptr_id, std::queue<ir::Instruction*>* insts) {
- get_def_use_mgr()->ForEachUser(ptr_id, [this,insts](ir::Instruction* user) {
+ get_def_use_mgr()->ForEachUser(ptr_id, [this, insts](ir::Instruction* user) {
SpvOp op = user->opcode();
if (IsNonPtrAccessChain(op)) {
AddStores(user->result_id(), insts);
@@ -224,13 +224,14 @@ MemPass::MemPass() {}
bool MemPass::HasOnlySupportedRefs(uint32_t varId) {
if (supported_ref_vars_.find(varId) != supported_ref_vars_.end()) return true;
bool hasOnlySupportedRefs = true;
- get_def_use_mgr()->ForEachUser(varId, [this,&hasOnlySupportedRefs](ir::Instruction* user) {
- SpvOp op = user->opcode();
- if (op != SpvOpStore && op != SpvOpLoad && op != SpvOpName &&
- !IsNonTypeDecorate(op)) {
- hasOnlySupportedRefs = false;
- }
- });
+ get_def_use_mgr()->ForEachUser(
+ varId, [this, &hasOnlySupportedRefs](ir::Instruction* user) {
+ SpvOp op = user->opcode();
+ if (op != SpvOpStore && op != SpvOpLoad && op != SpvOpName &&
+ !IsNonTypeDecorate(op)) {
+ hasOnlySupportedRefs = false;
+ }
+ });
return hasOnlySupportedRefs;
}
@@ -402,8 +403,8 @@ void MemPass::SSABlockInitLoopHeader(
{spv_operand_type_t::SPV_OPERAND_TYPE_ID, {predLabel}});
}
const uint32_t phiId = TakeNextId();
- std::unique_ptr<ir::Instruction> newPhi(
- new ir::Instruction(context(), SpvOpPhi, typeId, phiId, phi_in_operands));
+ std::unique_ptr<ir::Instruction> newPhi(new ir::Instruction(
+ context(), SpvOpPhi, typeId, phiId, phi_in_operands));
// The only phis requiring patching are the ones we create.
phis_to_patch_.insert(phiId);
// Only analyze the phi define now; analyze the phi uses after the
@@ -470,8 +471,8 @@ void MemPass::SSABlockInitMultiPred(ir::BasicBlock* block_ptr) {
{spv_operand_type_t::SPV_OPERAND_TYPE_ID, {predLabel}});
}
const uint32_t phiId = TakeNextId();
- std::unique_ptr<ir::Instruction> newPhi(
- new ir::Instruction(context(), SpvOpPhi, typeId, phiId, phi_in_operands));
+ std::unique_ptr<ir::Instruction> newPhi(new ir::Instruction(
+ context(), SpvOpPhi, typeId, phiId, phi_in_operands));
get_def_use_mgr()->AnalyzeInstDefUse(&*newPhi);
insertItr = insertItr.InsertBefore(std::move(newPhi));
++insertItr;
@@ -699,7 +700,7 @@ void MemPass::RemovePhiOperands(
// In all other cases, the operand must be kept but may need to be changed.
uint32_t arg_id = phi->GetSingleWordOperand(i);
- ir::Instruction *arg_def_instr = get_def_use_mgr()->GetDef(arg_id);
+ ir::Instruction* arg_def_instr = get_def_use_mgr()->GetDef(arg_id);
ir::BasicBlock* def_block = context()->get_instr_block(arg_def_instr);
if (def_block &&
reachable_blocks.find(def_block) == reachable_blocks.end()) {
@@ -794,8 +795,10 @@ bool MemPass::RemoveUnreachableBlocks(ir::Function* func) {
// If the block is reachable and has Phi instructions, remove all
// operands from its Phi instructions that reference unreachable blocks.
// If the block has no Phi instructions, this is a no-op.
- block.ForEachPhiInst([&block, &reachable_blocks, this](
- ir::Instruction* phi) { RemovePhiOperands(phi, reachable_blocks); });
+ block.ForEachPhiInst(
+ [&block, &reachable_blocks, this](ir::Instruction* phi) {
+ RemovePhiOperands(phi, reachable_blocks);
+ });
}
// Erase unreachable blocks.
diff --git a/source/opt/passes.h b/source/opt/passes.h
index 3a6e17e5..da5f910c 100644
--- a/source/opt/passes.h
+++ b/source/opt/passes.h
@@ -33,15 +33,15 @@
#include "inline_opaque_pass.h"
#include "insert_extract_elim.h"
#include "local_access_chain_convert_pass.h"
+#include "local_redundancy_elimination.h"
#include "local_single_block_elim_pass.h"
#include "local_single_store_elim_pass.h"
#include "local_ssa_elim_pass.h"
+#include "merge_return_pass.h"
#include "null_pass.h"
#include "set_spec_constant_default_value_pass.h"
#include "strength_reduction_pass.h"
#include "strip_debug_info_pass.h"
#include "unify_const_pass.h"
-#include "merge_return_pass.h"
-#include "local_redundancy_elimination.h"
#endif // LIBSPIRV_OPT_PASSES_H_
diff --git a/source/opt/remove_duplicates_pass.cpp b/source/opt/remove_duplicates_pass.cpp
index ee6104dc..168c322e 100644
--- a/source/opt/remove_duplicates_pass.cpp
+++ b/source/opt/remove_duplicates_pass.cpp
@@ -32,8 +32,8 @@ namespace opt {
using ir::Instruction;
using ir::Module;
using ir::Operand;
-using opt::analysis::DefUseManager;
using opt::analysis::DecorationManager;
+using opt::analysis::DefUseManager;
Pass::Status RemoveDuplicatesPass::Process(ir::IRContext* irContext) {
bool modified = RemoveDuplicateCapabilities(irContext);
@@ -92,7 +92,8 @@ bool RemoveDuplicatesPass::RemoveDuplicatesExtInstImports(
return modified;
}
-bool RemoveDuplicatesPass::RemoveDuplicateTypes(ir::IRContext* irContext) const {
+bool RemoveDuplicatesPass::RemoveDuplicateTypes(
+ ir::IRContext* irContext) const {
bool modified = false;
std::vector<Instruction> visitedTypes;
@@ -109,7 +110,8 @@ bool RemoveDuplicatesPass::RemoveDuplicateTypes(ir::IRContext* irContext) const
// Is the current type equal to one of the types we have aready visited?
SpvId idToKeep = 0u;
for (auto j : visitedTypes) {
- if (AreTypesEqual(*i, j, *irContext->get_def_use_mgr(), *irContext->get_decoration_mgr())) {
+ if (AreTypesEqual(*i, j, *irContext->get_def_use_mgr(),
+ *irContext->get_decoration_mgr())) {
idToKeep = j.result_id();
break;
}
diff --git a/source/opt/set_spec_constant_default_value_pass.cpp b/source/opt/set_spec_constant_default_value_pass.cpp
index a8f3e033..3ec786f7 100644
--- a/source/opt/set_spec_constant_default_value_pass.cpp
+++ b/source/opt/set_spec_constant_default_value_pass.cpp
@@ -32,10 +32,10 @@ namespace spvtools {
namespace opt {
namespace {
-using spvutils::NumberType;
using spvutils::EncodeNumberStatus;
-using spvutils::ParseNumber;
+using spvutils::NumberType;
using spvutils::ParseAndEncodeNumber;
+using spvutils::ParseNumber;
// Given a numeric value in a null-terminated c string and the expected type of
// the value, parses the string and encodes it in a vector of words. If the
@@ -137,11 +137,12 @@ ir::Instruction* GetSpecIdTargetFromDecorationGroup(
// the first OpGroupDecoration instruction that uses the given decoration
// group.
ir::Instruction* group_decorate_inst = nullptr;
- def_use_mgr->ForEachUser(&decoration_group_defining_inst, [&group_decorate_inst](ir::Instruction* user) {
- if (user->opcode() == SpvOp::SpvOpGroupDecorate) {
- group_decorate_inst = user;
- }
- });
+ def_use_mgr->ForEachUser(&decoration_group_defining_inst,
+ [&group_decorate_inst](ir::Instruction* user) {
+ if (user->opcode() == SpvOp::SpvOpGroupDecorate) {
+ group_decorate_inst = user;
+ }
+ });
if (!group_decorate_inst) return nullptr;
// Scan through the target ids of the OpGroupDecorate instruction. There
@@ -184,7 +185,7 @@ ir::Instruction* GetSpecIdTargetFromDecorationGroup(
}
return target_inst;
}
-};
+}; // namespace
Pass::Status SetSpecConstantDefaultValuePass::Process(
ir::IRContext* irContext) {
diff --git a/source/opt/strength_reduction_pass.cpp b/source/opt/strength_reduction_pass.cpp
index 28da788b..75118a3d 100644
--- a/source/opt/strength_reduction_pass.cpp
+++ b/source/opt/strength_reduction_pass.cpp
@@ -100,8 +100,8 @@ bool StrengthReductionPass::ReplaceMultiplyByPowerOf2(
{shiftConstResultId});
newOperands.push_back(shiftOperand);
std::unique_ptr<ir::Instruction> newInstruction(
- new ir::Instruction(context(), SpvOp::SpvOpShiftLeftLogical, inst->type_id(),
- newResultId, newOperands));
+ new ir::Instruction(context(), SpvOp::SpvOpShiftLeftLogical,
+ inst->type_id(), newResultId, newOperands));
// Insert the new instruction and update the data structures.
inst = inst.InsertBefore(std::move(newInstruction));
@@ -160,8 +160,9 @@ uint32_t StrengthReductionPass::GetConstantId(uint32_t val) {
uint32_t resultId = TakeNextId();
ir::Operand constant(spv_operand_type_t::SPV_OPERAND_TYPE_LITERAL_INTEGER,
{val});
- std::unique_ptr<ir::Instruction> newConstant(new ir::Instruction(
- context(), SpvOp::SpvOpConstant, uint32_type_id_, resultId, {constant}));
+ std::unique_ptr<ir::Instruction> newConstant(
+ new ir::Instruction(context(), SpvOp::SpvOpConstant, uint32_type_id_,
+ resultId, {constant}));
get_module()->AddGlobalValue(std::move(newConstant));
// Notify the DefUseManager about this constant.
diff --git a/source/opt/unify_const_pass.cpp b/source/opt/unify_const_pass.cpp
index 088e1022..ace53de0 100644
--- a/source/opt/unify_const_pass.cpp
+++ b/source/opt/unify_const_pass.cpp
@@ -168,5 +168,5 @@ Pass::Status UnifyConstantPass::Process(ir::IRContext* c) {
return modified ? Status::SuccessWithChange : Status::SuccessWithoutChange;
}
-} // opt
+} // namespace opt
} // namespace spvtools
diff --git a/source/opt/value_number_table.cpp b/source/opt/value_number_table.cpp
index 8df22971..d4dabf23 100644
--- a/source/opt/value_number_table.cpp
+++ b/source/opt/value_number_table.cpp
@@ -92,7 +92,8 @@ bool ComputeSameValue::operator()(const ir::Instruction& lhs,
}
}
- return lhs.context()->get_decoration_mgr()->HaveTheSameDecorations(lhs.result_id(), rhs.result_id());
+ return lhs.context()->get_decoration_mgr()->HaveTheSameDecorations(
+ lhs.result_id(), rhs.result_id());
}
std::size_t ValueTableHash::operator()(
diff --git a/source/text_handler.h b/source/text_handler.h
index 40bfe6c0..e49b51bb 100644
--- a/source/text_handler.h
+++ b/source/text_handler.h
@@ -255,5 +255,5 @@ class AssemblyContext {
uint32_t next_id_;
std::set<uint32_t> ids_to_preserve_;
};
-}
+} // namespace libspirv
#endif // _LIBSPIRV_TEXT_HANDLER_H_
diff --git a/source/util/parse_number.cpp b/source/util/parse_number.cpp
index 5ec905d1..bb87b3da 100644
--- a/source/util/parse_number.cpp
+++ b/source/util/parse_number.cpp
@@ -50,7 +50,7 @@ class ErrorMsgStream {
// destructor is called.
std::string* error_msg_sink_;
};
-}
+} // namespace
EncodeNumberStatus ParseAndEncodeIntegerNumber(
const char* text, const NumberType& type,
diff --git a/source/val/basic_block.h b/source/val/basic_block.h
index 70b2eec3..f42d6247 100644
--- a/source/val/basic_block.h
+++ b/source/val/basic_block.h
@@ -221,6 +221,6 @@ bool operator==(const BasicBlock::DominatorIterator& lhs,
bool operator!=(const BasicBlock::DominatorIterator& lhs,
const BasicBlock::DominatorIterator& rhs);
-} /// namespace libspirv
+} // namespace libspirv
#endif /// LIBSPIRV_VAL_BASICBLOCK_H_
diff --git a/source/val/construct.cpp b/source/val/construct.cpp
index e3ad7f06..c5f01dfb 100644
--- a/source/val/construct.cpp
+++ b/source/val/construct.cpp
@@ -64,4 +64,4 @@ const BasicBlock* Construct::exit_block() const { return exit_block_; }
BasicBlock* Construct::exit_block() { return exit_block_; }
void Construct::set_exit(BasicBlock* block) { exit_block_ = block; }
-} /// namespace libspirv
+} // namespace libspirv
diff --git a/source/val/construct.h b/source/val/construct.h
index bca87d63..594d8d14 100644
--- a/source/val/construct.h
+++ b/source/val/construct.h
@@ -127,6 +127,6 @@ class Construct {
BasicBlock* exit_block_;
};
-} /// namespace libspirv
+} // namespace libspirv
#endif /// LIBSPIRV_VAL_CONSTRUCT_H_
diff --git a/source/val/decoration.h b/source/val/decoration.h
index d77b0684..ce749907 100644
--- a/source/val/decoration.h
+++ b/source/val/decoration.h
@@ -18,6 +18,8 @@
#include <unordered_map>
#include <vector>
+#include "spirv/1.2/spirv.h"
+
namespace libspirv {
// An object of this class represents a specific decoration including its
diff --git a/source/val/function.cpp b/source/val/function.cpp
index d7ac7416..f67acc4b 100644
--- a/source/val/function.cpp
+++ b/source/val/function.cpp
@@ -356,8 +356,7 @@ bool Function::IsCompatibleWithExecutionModel(SpvExecutionModel model,
for (const auto& kv : execution_model_limitations_) {
if (kv.first != model) {
- if (!reason)
- return false;
+ if (!reason) return false;
is_compatible = false;
ss_reason << kv.second << "\n";
}
@@ -370,4 +369,4 @@ bool Function::IsCompatibleWithExecutionModel(SpvExecutionModel model,
return is_compatible;
}
-} /// namespace libspirv
+} // namespace libspirv
diff --git a/source/val/function.h b/source/val/function.h
index 4d53b04f..eb23201c 100644
--- a/source/val/function.h
+++ b/source/val/function.h
@@ -346,6 +346,6 @@ class Function {
std::set<uint32_t> function_call_targets_;
};
-} /// namespace libspirv
+} // namespace libspirv
#endif /// LIBSPIRV_VAL_FUNCTION_H_
diff --git a/source/val/instruction.h b/source/val/instruction.h
index 5ae89e2c..96136320 100644
--- a/source/val/instruction.h
+++ b/source/val/instruction.h
@@ -121,6 +121,6 @@ struct hash<libspirv::Instruction> {
return hash<uint32_t>()(inst.id());
}
};
-} /// namespace std
+} // namespace std
#endif // LIBSPIRV_VAL_INSTRUCTION_H_
diff --git a/source/val/validation_state.cpp b/source/val/validation_state.cpp
index 02b36467..4e8db282 100644
--- a/source/val/validation_state.cpp
+++ b/source/val/validation_state.cpp
@@ -266,8 +266,7 @@ const Function& ValidationState_t::current_function() const {
const Function* ValidationState_t::function(uint32_t id) const {
const auto it = id_to_function_.find(id);
- if (it == id_to_function_.end())
- return nullptr;
+ if (it == id_to_function_.end()) return nullptr;
return it->second;
}
@@ -740,8 +739,7 @@ bool ValidationState_t::GetConstantValUint64(uint32_t id, uint64_t* val) const {
if (inst->opcode() != SpvOpConstant && inst->opcode() != SpvOpSpecConstant)
return false;
- if (!IsIntScalarType(inst->type_id()))
- return false;
+ if (!IsIntScalarType(inst->type_id())) return false;
if (inst->words().size() == 4) {
*val = inst->word(3);
diff --git a/source/val/validation_state.h b/source/val/validation_state.h
index d57eac7b..48bc3be5 100644
--- a/source/val/validation_state.h
+++ b/source/val/validation_state.h
@@ -505,6 +505,6 @@ class ValidationState_t {
std::unordered_map<uint32_t, Function*> id_to_function_;
};
-} /// namespace libspirv
+} // namespace libspirv
#endif /// LIBSPIRV_VAL_VALIDATIONSTATE_H_
diff --git a/source/validate.cpp b/source/validate.cpp
index 741364ae..7c786fe6 100644
--- a/source/validate.cpp
+++ b/source/validate.cpp
@@ -42,18 +42,18 @@
using std::function;
using std::ostream_iterator;
-using std::placeholders::_1;
using std::string;
using std::stringstream;
using std::transform;
using std::vector;
+using std::placeholders::_1;
using libspirv::CfgPass;
+using libspirv::DataRulesPass;
using libspirv::Extension;
+using libspirv::IdPass;
using libspirv::InstructionPass;
using libspirv::ModuleLayoutPass;
-using libspirv::DataRulesPass;
-using libspirv::IdPass;
using libspirv::ValidationState_t;
spv_result_t spvValidateIDs(const spv_instruction_t* pInsts,
diff --git a/source/validate_arithmetics.cpp b/source/validate_arithmetics.cpp
index 42399fcc..783dbf4d 100644
--- a/source/validate_arithmetics.cpp
+++ b/source/validate_arithmetics.cpp
@@ -42,7 +42,7 @@ inline uint32_t GetOperandTypeId(ValidationState_t& _,
size_t operand_index) {
return _.GetTypeId(GetOperandWord(inst, operand_index));
}
-}
+} // namespace
// Validates correctness of arithmetic instructions.
spv_result_t ArithmeticsPass(ValidationState_t& _,
diff --git a/source/validate_bitwise.cpp b/source/validate_bitwise.cpp
index e7171386..94978d93 100644
--- a/source/validate_bitwise.cpp
+++ b/source/validate_bitwise.cpp
@@ -42,7 +42,7 @@ inline uint32_t GetOperandTypeId(ValidationState_t& _,
size_t operand_index) {
return _.GetTypeId(GetOperandWord(inst, operand_index));
}
-}
+} // namespace
// Validates correctness of bitwise instructions.
spv_result_t BitwisePass(ValidationState_t& _,
diff --git a/source/validate_derivatives.cpp b/source/validate_derivatives.cpp
index 7987d455..299f027f 100644
--- a/source/validate_derivatives.cpp
+++ b/source/validate_derivatives.cpp
@@ -25,7 +25,7 @@ namespace libspirv {
// Validates correctness of derivative instructions.
spv_result_t DerivativesPass(ValidationState_t& _,
- const spv_parsed_instruction_t* inst) {
+ const spv_parsed_instruction_t* inst) {
const SpvOp opcode = static_cast<SpvOp>(inst->opcode);
const uint32_t result_type = inst->type_id;
diff --git a/source/validate_id.cpp b/source/validate_id.cpp
index e936ea6f..08fe7a44 100644
--- a/source/validate_id.cpp
+++ b/source/validate_id.cpp
@@ -694,9 +694,8 @@ bool idUsage::isValid<SpvOpConstantComposite>(const spv_instruction_t* inst,
for (size_t constituentIndex = 3; constituentIndex < inst->words.size();
constituentIndex++) {
auto constituent = module_.FindDef(inst->words[constituentIndex]);
- if (!constituent ||
- !(SpvOpConstantComposite == constituent->opcode() ||
- SpvOpUndef == constituent->opcode())) {
+ if (!constituent || !(SpvOpConstantComposite == constituent->opcode() ||
+ SpvOpUndef == constituent->opcode())) {
// The message says "... or undef" because the spec does not say
// undef is a constant.
DIAG(constituentIndex) << "OpConstantComposite Constituent <id> '"
@@ -924,8 +923,9 @@ bool idUsage::isValid<SpvOpSampledImage>(const spv_instruction_t* inst,
<< "All OpSampledImage instructions must be in the same block in "
"which their Result <id> are consumed. OpSampledImage Result "
"Type <id> '"
- << resultID << "' has a consumer in a different basic "
- "block. The consumer instruction <id> is '"
+ << resultID
+ << "' has a consumer in a different basic "
+ "block. The consumer instruction <id> is '"
<< consumer_id << "'.";
return false;
}
@@ -1023,10 +1023,9 @@ bool idUsage::isValid<SpvOpSpecConstantComposite>(const spv_instruction_t* inst,
constituentIndex++) {
auto constituent = module_.FindDef(inst->words[constituentIndex]);
auto constituentOpCode = constituent->opcode();
- if (!constituent ||
- !(SpvOpSpecConstantComposite == constituentOpCode ||
- SpvOpConstantComposite == constituentOpCode ||
- SpvOpUndef == constituentOpCode)) {
+ if (!constituent || !(SpvOpSpecConstantComposite == constituentOpCode ||
+ SpvOpConstantComposite == constituentOpCode ||
+ SpvOpUndef == constituentOpCode)) {
// The message says "... or undef" because the spec does not say
// undef is a constant.
DIAG(constituentIndex) << "OpSpecConstantComposite Constituent <id> '"
@@ -1524,8 +1523,9 @@ bool idUsage::isValid<SpvOpAccessChain>(const spv_instruction_t* inst,
}
default: {
// Give an error. reached non-composite type while indexes still remain.
- DIAG(i) << instr_name << " reached non-composite type while indexes "
- "still remain to be traversed.";
+ DIAG(i) << instr_name
+ << " reached non-composite type while indexes "
+ "still remain to be traversed.";
return false;
}
}
@@ -1744,8 +1744,9 @@ bool idUsage::isValid<SpvOpVectorShuffle>(const spv_instruction_t* inst,
auto resultVectorDimension = resultType->words()[vectorComponentCountIndex];
if (componentCount != resultVectorDimension) {
DIAG(inst->words.size() - 1)
- << instr_name() << " component literals count does not match "
- "Result Type <id> '"
+ << instr_name()
+ << " component literals count does not match "
+ "Result Type <id> '"
<< resultType->id() << "'s vector component count.";
return false;
}
@@ -1858,8 +1859,9 @@ bool walkCompositeTypeHierarchy(
}
default: {
// Give an error. reached non-composite type while indexes still remain.
- *error << instr_name() << " reached non-composite type while indexes "
- "still remain to be traversed.";
+ *error << instr_name()
+ << " reached non-composite type while indexes "
+ "still remain to be traversed.";
return false;
}
}
@@ -1986,8 +1988,9 @@ bool idUsage::isValid<SpvOpCompositeInsert>(const spv_instruction_t* inst,
DIAG(objectIdIndex)
<< "The Object type (Op"
<< spvOpcodeString(static_cast<SpvOp>(objectTypeInstr->opcode()))
- << ") in " << instr_name() << " does not match the type that results "
- "from indexing into the Composite (Op"
+ << ") in " << instr_name()
+ << " does not match the type that results "
+ "from indexing into the Composite (Op"
<< spvOpcodeString(static_cast<SpvOp>(indexedTypeInstr->opcode()))
<< ").";
return false;
diff --git a/source/validate_image.cpp b/source/validate_image.cpp
index c2eef22e..6d9913c5 100644
--- a/source/validate_image.cpp
+++ b/source/validate_image.cpp
@@ -83,8 +83,7 @@ struct ImageTypeInfo {
// (not a valid id, failed to parse the instruction, etc).
bool GetImageTypeInfo(const ValidationState_t& _, uint32_t id,
ImageTypeInfo* info) {
- if (!id || !info)
- return false;
+ if (!id || !info) return false;
const Instruction* inst = _.FindDef(id);
assert(inst);
@@ -94,12 +93,10 @@ bool GetImageTypeInfo(const ValidationState_t& _, uint32_t id,
assert(inst);
}
- if (inst->opcode() != SpvOpTypeImage)
- return false;
+ if (inst->opcode() != SpvOpTypeImage) return false;
const size_t num_words = inst->words().size();
- if (num_words != 9 && num_words != 10)
- return false;
+ if (num_words != 9 && num_words != 10) return false;
info->sampled_type = inst->word(2);
info->dim = static_cast<SpvDim>(inst->word(3));
@@ -108,8 +105,9 @@ bool GetImageTypeInfo(const ValidationState_t& _, uint32_t id,
info->multisampled = inst->word(6);
info->sampled = inst->word(7);
info->format = static_cast<SpvImageFormat>(inst->word(8));
- info->access_qualifier = num_words < 10 ? SpvAccessQualifierMax :
- static_cast<SpvAccessQualifier>(inst->word(9));
+ info->access_qualifier = num_words < 10
+ ? SpvAccessQualifierMax
+ : static_cast<SpvAccessQualifier>(inst->word(9));
return true;
}
@@ -209,8 +207,8 @@ uint32_t GetMinCoordSize(SpvOp opcode, const ImageTypeInfo& info) {
// Checks ImageOperand bitfield and respective operands.
spv_result_t ValidateImageOperands(ValidationState_t& _,
const spv_parsed_instruction_t& inst,
- const ImageTypeInfo& info,
- uint32_t mask, uint32_t word_index) {
+ const ImageTypeInfo& info, uint32_t mask,
+ uint32_t word_index) {
static const bool kAllImageOperandsHandled = CheckAllImageOperandsHandled();
(void)kAllImageOperandsHandled;
@@ -225,16 +223,16 @@ spv_result_t ValidateImageOperands(ValidationState_t& _,
if (expected_num_image_operand_words != num_words - word_index) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Number of image operand ids doesn't correspond to the bit mask: "
- << spvOpcodeString(opcode);
+ << "Number of image operand ids doesn't correspond to the bit mask: "
+ << spvOpcodeString(opcode);
}
if (CountSetBits(mask & (SpvImageOperandsOffsetMask |
SpvImageOperandsConstOffsetMask |
SpvImageOperandsConstOffsetsMask)) > 1) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operands Offset, ConstOffset, ConstOffsets cannot be used "
- << "together: " << spvOpcodeString(opcode);
+ << "Image Operands Offset, ConstOffset, ConstOffsets cannot be used "
+ << "together: " << spvOpcodeString(opcode);
};
const bool is_implicit_lod = IsImplicitLod(opcode);
@@ -244,29 +242,30 @@ spv_result_t ValidateImageOperands(ValidationState_t& _,
if (mask & SpvImageOperandsBiasMask) {
if (!is_implicit_lod) {
- return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand Bias can only be used with ImplicitLod opcodes: "
- << spvOpcodeString(opcode);
+ return _.diag(SPV_ERROR_INVALID_DATA)
+ << "Image Operand Bias can only be used with ImplicitLod opcodes: "
+ << spvOpcodeString(opcode);
};
const uint32_t type_id = _.GetTypeId(inst.words[word_index++]);
if (!_.IsFloatScalarType(type_id)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image Operand Bias to be float scalar: "
- << spvOpcodeString(opcode);
+ << "Expected Image Operand Bias to be float scalar: "
+ << spvOpcodeString(opcode);
}
if (info.dim != SpvDim1D && info.dim != SpvDim2D && info.dim != SpvDim3D &&
info.dim != SpvDimCube) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand Bias requires 'Dim' parameter to be 1D, 2D, 3D or "
- << "Cube: " << spvOpcodeString(opcode);
+ << "Image Operand Bias requires 'Dim' parameter to be 1D, 2D, 3D "
+ "or "
+ << "Cube: " << spvOpcodeString(opcode);
}
if (info.multisampled != 0) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand Bias requires 'MS' parameter to be 0: "
- << spvOpcodeString(opcode);
+ << "Image Operand Bias requires 'MS' parameter to be 0: "
+ << spvOpcodeString(opcode);
}
}
@@ -274,15 +273,16 @@ spv_result_t ValidateImageOperands(ValidationState_t& _,
// TODO(atgoo@github.com) Check which opcodes are allowed to use this
// ImageOperand.
if (is_implicit_lod) {
- return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand Lod cannot be used with ImplicitLod opcodes: "
- << spvOpcodeString(opcode);
+ return _.diag(SPV_ERROR_INVALID_DATA)
+ << "Image Operand Lod cannot be used with ImplicitLod opcodes: "
+ << spvOpcodeString(opcode);
};
if (mask & SpvImageOperandsGradMask) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand bits Lod and Grad cannot be set at the same time: "
- << spvOpcodeString(opcode);
+ << "Image Operand bits Lod and Grad cannot be set at the same "
+ "time: "
+ << spvOpcodeString(opcode);
}
const uint32_t type_id = _.GetTypeId(inst.words[word_index++]);
@@ -290,29 +290,30 @@ spv_result_t ValidateImageOperands(ValidationState_t& _,
// with ints. The spec is unclear.
if (!_.IsFloatScalarType(type_id) && !_.IsIntScalarType(type_id)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image Operand Lod to be int or float scalar: "
- << spvOpcodeString(opcode);
+ << "Expected Image Operand Lod to be int or float scalar: "
+ << spvOpcodeString(opcode);
}
if (info.dim != SpvDim1D && info.dim != SpvDim2D && info.dim != SpvDim3D &&
info.dim != SpvDimCube) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand Lod requires 'Dim' parameter to be 1D, 2D, 3D or "
- << "Cube: " << spvOpcodeString(opcode);
+ << "Image Operand Lod requires 'Dim' parameter to be 1D, 2D, 3D "
+ "or "
+ << "Cube: " << spvOpcodeString(opcode);
}
if (info.multisampled != 0) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand Lod requires 'MS' parameter to be 0: "
- << spvOpcodeString(opcode);
+ << "Image Operand Lod requires 'MS' parameter to be 0: "
+ << spvOpcodeString(opcode);
}
}
if (mask & SpvImageOperandsGradMask) {
if (!is_explicit_lod) {
- return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand Grad can only be used with ExplicitLod opcodes: "
- << spvOpcodeString(opcode);
+ return _.diag(SPV_ERROR_INVALID_DATA)
+ << "Image Operand Grad can only be used with ExplicitLod opcodes: "
+ << spvOpcodeString(opcode);
};
const uint32_t dx_type_id = _.GetTypeId(inst.words[word_index++]);
@@ -320,8 +321,8 @@ spv_result_t ValidateImageOperands(ValidationState_t& _,
if (!_.IsFloatScalarOrVectorType(dx_type_id) ||
!_.IsFloatScalarOrVectorType(dy_type_id)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected both Image Operand Grad ids to be float scalars or "
- << "vectors: " << spvOpcodeString(opcode);
+ << "Expected both Image Operand Grad ids to be float scalars or "
+ << "vectors: " << spvOpcodeString(opcode);
}
const uint32_t plane_size = GetPlaneCoordSize(info);
@@ -329,92 +330,95 @@ spv_result_t ValidateImageOperands(ValidationState_t& _,
const uint32_t dy_size = _.GetDimension(dy_type_id);
if (plane_size != dx_size) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image Operand Grad dx to have " << plane_size
- << " components, but given " << dx_size << ": "
- << spvOpcodeString(opcode);
+ << "Expected Image Operand Grad dx to have " << plane_size
+ << " components, but given " << dx_size << ": "
+ << spvOpcodeString(opcode);
}
if (plane_size != dy_size) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image Operand Grad dy to have " << plane_size
- << " components, but given " << dy_size << ": "
- << spvOpcodeString(opcode);
+ << "Expected Image Operand Grad dy to have " << plane_size
+ << " components, but given " << dy_size << ": "
+ << spvOpcodeString(opcode);
}
if (info.multisampled != 0) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand Grad requires 'MS' parameter to be 0: "
- << spvOpcodeString(opcode);
+ << "Image Operand Grad requires 'MS' parameter to be 0: "
+ << spvOpcodeString(opcode);
}
}
if (mask & SpvImageOperandsConstOffsetMask) {
if (info.dim == SpvDimCube) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand ConstOffset cannot be used with Cube Image 'Dim': "
- << spvOpcodeString(opcode);
+ << "Image Operand ConstOffset cannot be used with Cube Image "
+ "'Dim': "
+ << spvOpcodeString(opcode);
}
const uint32_t id = inst.words[word_index++];
const uint32_t type_id = _.GetTypeId(id);
if (!_.IsIntScalarOrVectorType(type_id)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image Operand ConstOffset to be int scalar or "
- << "vector: " << spvOpcodeString(opcode);
+ << "Expected Image Operand ConstOffset to be int scalar or "
+ << "vector: " << spvOpcodeString(opcode);
}
if (!spvOpcodeIsConstant(_.GetIdOpcode(id))) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image Operand ConstOffset to be a const object: "
- << spvOpcodeString(opcode);
+ << "Expected Image Operand ConstOffset to be a const object: "
+ << spvOpcodeString(opcode);
}
const uint32_t plane_size = GetPlaneCoordSize(info);
const uint32_t offset_size = _.GetDimension(type_id);
if (plane_size != offset_size) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image Operand ConstOffset to have " << plane_size
- << " components, but given " << offset_size << ": "
- << spvOpcodeString(opcode);
+ << "Expected Image Operand ConstOffset to have " << plane_size
+ << " components, but given " << offset_size << ": "
+ << spvOpcodeString(opcode);
}
}
if (mask & SpvImageOperandsOffsetMask) {
if (info.dim == SpvDimCube) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand Offset cannot be used with Cube Image 'Dim': "
- << spvOpcodeString(opcode);
+ << "Image Operand Offset cannot be used with Cube Image 'Dim': "
+ << spvOpcodeString(opcode);
}
const uint32_t id = inst.words[word_index++];
const uint32_t type_id = _.GetTypeId(id);
if (!_.IsIntScalarOrVectorType(type_id)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image Operand Offset to be int scalar or "
- << "vector: " << spvOpcodeString(opcode);
+ << "Expected Image Operand Offset to be int scalar or "
+ << "vector: " << spvOpcodeString(opcode);
}
const uint32_t plane_size = GetPlaneCoordSize(info);
const uint32_t offset_size = _.GetDimension(type_id);
if (plane_size != offset_size) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image Operand Offset to have " << plane_size
- << " components, but given " << offset_size << ": "
- << spvOpcodeString(opcode);
+ << "Expected Image Operand Offset to have " << plane_size
+ << " components, but given " << offset_size << ": "
+ << spvOpcodeString(opcode);
}
}
if (mask & SpvImageOperandsConstOffsetsMask) {
if (opcode != SpvOpImageGather && opcode != SpvOpImageDrefGather) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand ConstOffsets can only be used with OpImageGather "
- << "and OpImageDrefGather: " << spvOpcodeString(opcode);
+ << "Image Operand ConstOffsets can only be used with "
+ "OpImageGather "
+ << "and OpImageDrefGather: " << spvOpcodeString(opcode);
}
if (info.dim == SpvDimCube) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand ConstOffsets cannot be used with Cube Image 'Dim': "
- << spvOpcodeString(opcode);
+ << "Image Operand ConstOffsets cannot be used with Cube Image "
+ "'Dim': "
+ << spvOpcodeString(opcode);
}
const uint32_t id = inst.words[word_index++];
@@ -424,8 +428,8 @@ spv_result_t ValidateImageOperands(ValidationState_t& _,
if (type_inst->opcode() != SpvOpTypeArray) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image Operand ConstOffsets to be an array of size 4: "
- << spvOpcodeString(opcode);
+ << "Expected Image Operand ConstOffsets to be an array of size 4: "
+ << spvOpcodeString(opcode);
}
uint64_t array_size = 0;
@@ -435,22 +439,23 @@ spv_result_t ValidateImageOperands(ValidationState_t& _,
if (array_size != 4) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image Operand ConstOffsets to be an array of size 4: "
- << spvOpcodeString(opcode);
+ << "Expected Image Operand ConstOffsets to be an array of size 4: "
+ << spvOpcodeString(opcode);
}
const uint32_t component_type = type_inst->word(2);
if (!_.IsIntVectorType(component_type) ||
_.GetDimension(component_type) != 2) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image Operand ConstOffsets array componenets to be int "
- << "vectors of size 2: " << spvOpcodeString(opcode);
+ << "Expected Image Operand ConstOffsets array componenets to be "
+ "int "
+ << "vectors of size 2: " << spvOpcodeString(opcode);
}
if (!spvOpcodeIsConstant(_.GetIdOpcode(id))) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image Operand ConstOffsets to be a const object: "
- << spvOpcodeString(opcode);
+ << "Expected Image Operand ConstOffsets to be a const object: "
+ << spvOpcodeString(opcode);
}
}
@@ -458,50 +463,51 @@ spv_result_t ValidateImageOperands(ValidationState_t& _,
if (opcode != SpvOpImageFetch && opcode != SpvOpImageRead &&
opcode != SpvOpImageWrite) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand Sample can only be used with OpImageFetch, "
- << "OpImageRead and OpImageWrite: " << spvOpcodeString(opcode);
+ << "Image Operand Sample can only be used with OpImageFetch, "
+ << "OpImageRead and OpImageWrite: " << spvOpcodeString(opcode);
}
if (info.multisampled == 0) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand Sample requires non-zero 'MS' parameter: "
- << spvOpcodeString(opcode);
+ << "Image Operand Sample requires non-zero 'MS' parameter: "
+ << spvOpcodeString(opcode);
}
const uint32_t type_id = _.GetTypeId(inst.words[word_index++]);
if (!_.IsIntScalarType(type_id)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image Operand Sample to be int scalar: "
- << spvOpcodeString(opcode);
+ << "Expected Image Operand Sample to be int scalar: "
+ << spvOpcodeString(opcode);
}
}
if (mask & SpvImageOperandsMinLodMask) {
if (!is_implicit_lod && !(mask & SpvImageOperandsGradMask)) {
- return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand MinLod can only be used with ImplicitLod "
- << "opcodes or together with Image Operand Grad: "
- << spvOpcodeString(opcode);
+ return _.diag(SPV_ERROR_INVALID_DATA)
+ << "Image Operand MinLod can only be used with ImplicitLod "
+ << "opcodes or together with Image Operand Grad: "
+ << spvOpcodeString(opcode);
};
const uint32_t type_id = _.GetTypeId(inst.words[word_index++]);
if (!_.IsFloatScalarType(type_id)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image Operand MinLod to be float scalar: "
- << spvOpcodeString(opcode);
+ << "Expected Image Operand MinLod to be float scalar: "
+ << spvOpcodeString(opcode);
}
if (info.dim != SpvDim1D && info.dim != SpvDim2D && info.dim != SpvDim3D &&
info.dim != SpvDimCube) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand MinLod requires 'Dim' parameter to be 1D, 2D, 3D "
- << "or Cube: " << spvOpcodeString(opcode);
+ << "Image Operand MinLod requires 'Dim' parameter to be 1D, 2D, "
+ "3D "
+ << "or Cube: " << spvOpcodeString(opcode);
}
if (info.multisampled != 0) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Operand MinLod requires 'MS' parameter to be 0: "
- << spvOpcodeString(opcode);
+ << "Image Operand MinLod requires 'MS' parameter to be 0: "
+ << spvOpcodeString(opcode);
}
}
@@ -514,23 +520,23 @@ spv_result_t ValidateImageCommon(ValidationState_t& _,
const ImageTypeInfo& info) {
const SpvOp opcode = static_cast<SpvOp>(inst.opcode);
if (IsProj(opcode)) {
- if (info.dim != SpvDim1D && info.dim != SpvDim2D &&
- info.dim != SpvDim3D && info.dim != SpvDimRect) {
+ if (info.dim != SpvDim1D && info.dim != SpvDim2D && info.dim != SpvDim3D &&
+ info.dim != SpvDimRect) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image 'Dim' parameter to be 1D, 2D, 3D or Rect: "
- << spvOpcodeString(opcode);
+ << "Expected Image 'Dim' parameter to be 1D, 2D, 3D or Rect: "
+ << spvOpcodeString(opcode);
}
if (info.multisampled != 0) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Image 'MS' parameter to be 0: "
- << spvOpcodeString(opcode);
+ << "Image Image 'MS' parameter to be 0: "
+ << spvOpcodeString(opcode);
}
if (info.arrayed != 0) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image Image 'arrayed' parameter to be 0: "
- << spvOpcodeString(opcode);
+ << "Image Image 'arrayed' parameter to be 0: "
+ << spvOpcodeString(opcode);
}
}
@@ -539,23 +545,23 @@ spv_result_t ValidateImageCommon(ValidationState_t& _,
} else if (info.sampled == 2) {
if (info.dim == SpvDim1D && !_.HasCapability(SpvCapabilityImage1D)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Capability Image1D is required to access storage image: "
- << spvOpcodeString(opcode);
+ << "Capability Image1D is required to access storage image: "
+ << spvOpcodeString(opcode);
} else if (info.dim == SpvDimRect &&
!_.HasCapability(SpvCapabilityImageRect)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Capability ImageRect is required to access storage image: "
- << spvOpcodeString(opcode);
+ << "Capability ImageRect is required to access storage image: "
+ << spvOpcodeString(opcode);
} else if (info.dim == SpvDimBuffer &&
!_.HasCapability(SpvCapabilityImageBuffer)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Capability ImageBuffer is required to access storage image: "
- << spvOpcodeString(opcode);
+ << "Capability ImageBuffer is required to access storage image: "
+ << spvOpcodeString(opcode);
} else if (info.dim == SpvDimCube && info.arrayed == 1 &&
!_.HasCapability(SpvCapabilityImageCubeArray)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Capability ImageCubeArray is required to access storage "
- << "image: " << spvOpcodeString(opcode);
+ << "Capability ImageCubeArray is required to access storage "
+ << "image: " << spvOpcodeString(opcode);
}
if (info.multisampled == 1 &&
@@ -571,8 +577,8 @@ spv_result_t ValidateImageCommon(ValidationState_t& _,
}
} else {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image 'Sampled' parameter to be 0 or 2: "
- << spvOpcodeString(opcode);
+ << "Expected Image 'Sampled' parameter to be 0 or 2: "
+ << spvOpcodeString(opcode);
}
}
@@ -597,21 +603,21 @@ spv_result_t ImagePass(ValidationState_t& _,
case SpvOpSampledImage: {
if (_.GetIdOpcode(result_type) != SpvOpTypeSampledImage) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Result Type to be OpTypeSampledImage: "
- << spvOpcodeString(opcode);
+ << "Expected Result Type to be OpTypeSampledImage: "
+ << spvOpcodeString(opcode);
}
const uint32_t image_type = _.GetOperandTypeId(inst, 2);
if (_.GetIdOpcode(image_type) != SpvOpTypeImage) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image to be of type OpTypeImage: "
- << spvOpcodeString(opcode);
+ << "Expected Image to be of type OpTypeImage: "
+ << spvOpcodeString(opcode);
}
ImageTypeInfo info;
if (!GetImageTypeInfo(_, image_type, &info)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Corrupt image type definition";
+ << "Corrupt image type definition";
}
// TODO(atgoo@github.com) Check compatibility of result type and received
@@ -619,20 +625,20 @@ spv_result_t ImagePass(ValidationState_t& _,
if (info.sampled != 0 && info.sampled != 1) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image 'Sampled' parameter to be 0 or 1: "
- << spvOpcodeString(opcode);
+ << "Expected Image 'Sampled' parameter to be 0 or 1: "
+ << spvOpcodeString(opcode);
}
if (info.dim == SpvDimSubpassData) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image 'Dim' parameter to be not SubpassData: "
- << spvOpcodeString(opcode);
+ << "Expected Image 'Dim' parameter to be not SubpassData: "
+ << spvOpcodeString(opcode);
}
if (_.GetIdOpcode(_.GetOperandTypeId(inst, 3)) != SpvOpTypeSampler) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Sampler to be of type OpTypeSampler: "
- << spvOpcodeString(opcode);
+ << "Expected Sampler to be of type OpTypeSampler: "
+ << spvOpcodeString(opcode);
}
break;
@@ -645,27 +651,27 @@ spv_result_t ImagePass(ValidationState_t& _,
if (!_.IsIntVectorType(result_type) &&
!_.IsFloatVectorType(result_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Result Type to be int or float vector type: "
- << spvOpcodeString(opcode);
+ << "Expected Result Type to be int or float vector type: "
+ << spvOpcodeString(opcode);
}
if (_.GetDimension(result_type) != 4) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Result Type to have 4 components: "
- << spvOpcodeString(opcode);
+ << "Expected Result Type to have 4 components: "
+ << spvOpcodeString(opcode);
}
const uint32_t image_type = _.GetOperandTypeId(inst, 2);
if (_.GetIdOpcode(image_type) != SpvOpTypeSampledImage) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Sampled Image to be of type OpTypeSampledImage: "
- << spvOpcodeString(opcode);
+ << "Expected Sampled Image to be of type OpTypeSampledImage: "
+ << spvOpcodeString(opcode);
}
ImageTypeInfo info;
if (!GetImageTypeInfo(_, image_type, &info)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Corrupt image type definition";
+ << "Corrupt image type definition";
}
if (spv_result_t result = ValidateImageCommon(_, *inst, info))
@@ -675,8 +681,9 @@ spv_result_t ImagePass(ValidationState_t& _,
const uint32_t result_component_type = _.GetComponentType(result_type);
if (result_component_type != info.sampled_type) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image 'Sampled Type' to be the same as Result Type "
- << "components: " << spvOpcodeString(opcode);
+ << "Expected Image 'Sampled Type' to be the same as Result "
+ "Type "
+ << "components: " << spvOpcodeString(opcode);
}
}
@@ -686,14 +693,14 @@ spv_result_t ImagePass(ValidationState_t& _,
if (!_.IsFloatScalarOrVectorType(coord_type) &&
!_.IsIntScalarOrVectorType(coord_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Coordinate to be int or float scalar or vector: "
- << spvOpcodeString(opcode);
+ << "Expected Coordinate to be int or float scalar or vector: "
+ << spvOpcodeString(opcode);
}
} else {
if (!_.IsFloatScalarOrVectorType(coord_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Coordinate to be float scalar or vector: "
- << spvOpcodeString(opcode);
+ << "Expected Coordinate to be float scalar or vector: "
+ << spvOpcodeString(opcode);
}
}
@@ -701,9 +708,9 @@ spv_result_t ImagePass(ValidationState_t& _,
const uint32_t actual_coord_size = _.GetDimension(coord_type);
if (min_coord_size > actual_coord_size) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Coordinate to have at least " << min_coord_size
- << " components, but given only " << actual_coord_size << ": "
- << spvOpcodeString(opcode);
+ << "Expected Coordinate to have at least " << min_coord_size
+ << " components, but given only " << actual_coord_size << ": "
+ << spvOpcodeString(opcode);
}
if (inst->num_words <= 5) {
@@ -712,8 +719,8 @@ spv_result_t ImagePass(ValidationState_t& _,
}
const uint32_t mask = inst->words[5];
- if (spv_result_t result = ValidateImageOperands(
- _, *inst, info, mask, /* word_index = */ 6))
+ if (spv_result_t result =
+ ValidateImageOperands(_, *inst, info, mask, /* word_index = */ 6))
return result;
break;
@@ -726,21 +733,21 @@ spv_result_t ImagePass(ValidationState_t& _,
if (!_.IsIntScalarType(result_type) &&
!_.IsFloatScalarType(result_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Result Type to be int or float scalar type: "
- << spvOpcodeString(opcode);
+ << "Expected Result Type to be int or float scalar type: "
+ << spvOpcodeString(opcode);
}
const uint32_t image_type = _.GetOperandTypeId(inst, 2);
if (_.GetIdOpcode(image_type) != SpvOpTypeSampledImage) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Sampled Image to be of type OpTypeSampledImage: "
- << spvOpcodeString(opcode);
+ << "Expected Sampled Image to be of type OpTypeSampledImage: "
+ << spvOpcodeString(opcode);
}
ImageTypeInfo info;
if (!GetImageTypeInfo(_, image_type, &info)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Corrupt image type definition";
+ << "Corrupt image type definition";
}
if (spv_result_t result = ValidateImageCommon(_, *inst, info))
@@ -748,42 +755,42 @@ spv_result_t ImagePass(ValidationState_t& _,
if (result_type != info.sampled_type) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image 'Sampled Type' to be the same as Result Type: "
- << spvOpcodeString(opcode);
+ << "Expected Image 'Sampled Type' to be the same as Result "
+ "Type: "
+ << spvOpcodeString(opcode);
}
const uint32_t coord_type = _.GetOperandTypeId(inst, 3);
if (!_.IsFloatScalarOrVectorType(coord_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Coordinate to be float scalar or vector: "
- << spvOpcodeString(opcode);
+ << "Expected Coordinate to be float scalar or vector: "
+ << spvOpcodeString(opcode);
}
const uint32_t min_coord_size = GetMinCoordSize(opcode, info);
const uint32_t actual_coord_size = _.GetDimension(coord_type);
if (min_coord_size > actual_coord_size) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Coordinate to have at least " << min_coord_size
- << " components, but given only " << actual_coord_size << ": "
- << spvOpcodeString(opcode);
+ << "Expected Coordinate to have at least " << min_coord_size
+ << " components, but given only " << actual_coord_size << ": "
+ << spvOpcodeString(opcode);
}
const uint32_t dref_type = _.GetOperandTypeId(inst, 4);
if (dref_type != info.sampled_type) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Dref to be of Image 'Sampled Type': "
- << spvOpcodeString(opcode);
+ << "Expected Dref to be of Image 'Sampled Type': "
+ << spvOpcodeString(opcode);
}
-
if (inst->num_words <= 6) {
assert(IsImplicitLod(opcode));
break;
}
const uint32_t mask = inst->words[6];
- if (spv_result_t result = ValidateImageOperands(
- _, *inst, info, mask, /* word_index = */ 7))
+ if (spv_result_t result =
+ ValidateImageOperands(_, *inst, info, mask, /* word_index = */ 7))
return result;
break;
@@ -793,72 +800,71 @@ spv_result_t ImagePass(ValidationState_t& _,
if (!_.IsIntVectorType(result_type) &&
!_.IsFloatVectorType(result_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Result Type to be int or float vector type: "
- << spvOpcodeString(opcode);
+ << "Expected Result Type to be int or float vector type: "
+ << spvOpcodeString(opcode);
}
if (_.GetDimension(result_type) != 4) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Result Type to have 4 components: "
- << spvOpcodeString(opcode);
+ << "Expected Result Type to have 4 components: "
+ << spvOpcodeString(opcode);
}
const uint32_t image_type = _.GetOperandTypeId(inst, 2);
if (_.GetIdOpcode(image_type) != SpvOpTypeImage) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image to be of type OpTypeImage: "
- << spvOpcodeString(opcode);
+ << "Expected Image to be of type OpTypeImage: "
+ << spvOpcodeString(opcode);
}
ImageTypeInfo info;
if (!GetImageTypeInfo(_, image_type, &info)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Corrupt image type definition";
+ << "Corrupt image type definition";
}
if (_.GetIdOpcode(info.sampled_type) != SpvOpTypeVoid) {
const uint32_t result_component_type = _.GetComponentType(result_type);
if (result_component_type != info.sampled_type) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image 'Sampled Type' to be the same as Result Type "
- << "components: " << spvOpcodeString(opcode);
+ << "Expected Image 'Sampled Type' to be the same as Result "
+ "Type "
+ << "components: " << spvOpcodeString(opcode);
}
}
if (info.dim == SpvDimCube) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image 'Dim' cannot be Cube: "
- << spvOpcodeString(opcode);
+ << "Image 'Dim' cannot be Cube: " << spvOpcodeString(opcode);
}
if (info.sampled != 1) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image 'Sampled' parameter to be 1: "
- << spvOpcodeString(opcode);
+ << "Expected Image 'Sampled' parameter to be 1: "
+ << spvOpcodeString(opcode);
}
const uint32_t coord_type = _.GetOperandTypeId(inst, 3);
if (!_.IsIntScalarOrVectorType(coord_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Coordinate to be int scalar or vector: "
- << spvOpcodeString(opcode);
+ << "Expected Coordinate to be int scalar or vector: "
+ << spvOpcodeString(opcode);
}
const uint32_t min_coord_size = GetMinCoordSize(opcode, info);
const uint32_t actual_coord_size = _.GetDimension(coord_type);
if (min_coord_size > actual_coord_size) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Coordinate to have at least " << min_coord_size
- << " components, but given only " << actual_coord_size << ": "
- << spvOpcodeString(opcode);
+ << "Expected Coordinate to have at least " << min_coord_size
+ << " components, but given only " << actual_coord_size << ": "
+ << spvOpcodeString(opcode);
}
- if (inst->num_words <= 5)
- break;
+ if (inst->num_words <= 5) break;
const uint32_t mask = inst->words[5];
- if (spv_result_t result = ValidateImageOperands(
- _, *inst, info, mask, /* word_index = */ 6))
+ if (spv_result_t result =
+ ValidateImageOperands(_, *inst, info, mask, /* word_index = */ 6))
return result;
break;
@@ -869,27 +875,27 @@ spv_result_t ImagePass(ValidationState_t& _,
if (!_.IsIntVectorType(result_type) &&
!_.IsFloatVectorType(result_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Result Type to be int or float vector type: "
- << spvOpcodeString(opcode);
+ << "Expected Result Type to be int or float vector type: "
+ << spvOpcodeString(opcode);
}
if (_.GetDimension(result_type) != 4) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Result Type to have 4 components: "
- << spvOpcodeString(opcode);
+ << "Expected Result Type to have 4 components: "
+ << spvOpcodeString(opcode);
}
const uint32_t image_type = _.GetOperandTypeId(inst, 2);
if (_.GetIdOpcode(image_type) != SpvOpTypeSampledImage) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Sampled Image to be of type OpTypeSampledImage: "
- << spvOpcodeString(opcode);
+ << "Expected Sampled Image to be of type OpTypeSampledImage: "
+ << spvOpcodeString(opcode);
}
ImageTypeInfo info;
if (!GetImageTypeInfo(_, image_type, &info)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Corrupt image type definition";
+ << "Corrupt image type definition";
}
if (opcode == SpvOpImageDrefGather ||
@@ -897,57 +903,57 @@ spv_result_t ImagePass(ValidationState_t& _,
const uint32_t result_component_type = _.GetComponentType(result_type);
if (result_component_type != info.sampled_type) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image 'Sampled Type' to be the same as Result Type "
- << "components: " << spvOpcodeString(opcode);
+ << "Expected Image 'Sampled Type' to be the same as Result "
+ "Type "
+ << "components: " << spvOpcodeString(opcode);
}
}
if (info.dim != SpvDim2D && info.dim != SpvDimCube &&
info.dim != SpvDimRect) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image 'Dim' cannot be Cube: "
- << spvOpcodeString(opcode);
+ << "Expected Image 'Dim' cannot be Cube: "
+ << spvOpcodeString(opcode);
}
const uint32_t coord_type = _.GetOperandTypeId(inst, 3);
if (!_.IsFloatScalarOrVectorType(coord_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Coordinate to be float scalar or vector: "
- << spvOpcodeString(opcode);
+ << "Expected Coordinate to be float scalar or vector: "
+ << spvOpcodeString(opcode);
}
const uint32_t min_coord_size = GetMinCoordSize(opcode, info);
const uint32_t actual_coord_size = _.GetDimension(coord_type);
if (min_coord_size > actual_coord_size) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Coordinate to have at least " << min_coord_size
- << " components, but given only " << actual_coord_size << ": "
- << spvOpcodeString(opcode);
+ << "Expected Coordinate to have at least " << min_coord_size
+ << " components, but given only " << actual_coord_size << ": "
+ << spvOpcodeString(opcode);
}
if (opcode == SpvOpImageGather) {
const uint32_t component_index_type = _.GetOperandTypeId(inst, 4);
if (!_.IsIntScalarType(component_index_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Component to be int scalar: "
- << spvOpcodeString(opcode);
+ << "Expected Component to be int scalar: "
+ << spvOpcodeString(opcode);
}
} else {
assert(opcode == SpvOpImageDrefGather);
const uint32_t dref_type = _.GetOperandTypeId(inst, 4);
if (dref_type != info.sampled_type) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Dref to be of Image 'Sampled Type': "
- << spvOpcodeString(opcode);
+ << "Expected Dref to be of Image 'Sampled Type': "
+ << spvOpcodeString(opcode);
}
}
- if (inst->num_words <= 6)
- break;
+ if (inst->num_words <= 6) break;
const uint32_t mask = inst->words[6];
- if (spv_result_t result = ValidateImageOperands(
- _, *inst, info, mask, /* word_index = */ 7))
+ if (spv_result_t result =
+ ValidateImageOperands(_, *inst, info, mask, /* word_index = */ 7))
return result;
break;
@@ -957,8 +963,9 @@ spv_result_t ImagePass(ValidationState_t& _,
if (!_.IsIntScalarOrVectorType(result_type) &&
!_.IsFloatScalarOrVectorType(result_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Result Type to be int or float scalar or vector type: "
- << spvOpcodeString(opcode);
+ << "Expected Result Type to be int or float scalar or vector "
+ "type: "
+ << spvOpcodeString(opcode);
}
#if 0
@@ -973,22 +980,23 @@ spv_result_t ImagePass(ValidationState_t& _,
const uint32_t image_type = _.GetOperandTypeId(inst, 2);
if (_.GetIdOpcode(image_type) != SpvOpTypeImage) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image to be of type OpTypeImage: "
- << spvOpcodeString(opcode);
+ << "Expected Image to be of type OpTypeImage: "
+ << spvOpcodeString(opcode);
}
ImageTypeInfo info;
if (!GetImageTypeInfo(_, image_type, &info)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Corrupt image type definition";
+ << "Corrupt image type definition";
}
if (_.GetIdOpcode(info.sampled_type) != SpvOpTypeVoid) {
const uint32_t result_component_type = _.GetComponentType(result_type);
if (result_component_type != info.sampled_type) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image 'Sampled Type' to be the same as Result Type "
- << "components: " << spvOpcodeString(opcode);
+ << "Expected Image 'Sampled Type' to be the same as Result "
+ "Type "
+ << "components: " << spvOpcodeString(opcode);
}
}
@@ -998,33 +1006,33 @@ spv_result_t ImagePass(ValidationState_t& _,
const uint32_t coord_type = _.GetOperandTypeId(inst, 3);
if (!_.IsIntScalarOrVectorType(coord_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Coordinate to be int scalar or vector: "
- << spvOpcodeString(opcode);
+ << "Expected Coordinate to be int scalar or vector: "
+ << spvOpcodeString(opcode);
}
const uint32_t min_coord_size = GetMinCoordSize(opcode, info);
const uint32_t actual_coord_size = _.GetDimension(coord_type);
if (min_coord_size > actual_coord_size) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Coordinate to have at least " << min_coord_size
- << " components, but given only " << actual_coord_size << ": "
- << spvOpcodeString(opcode);
+ << "Expected Coordinate to have at least " << min_coord_size
+ << " components, but given only " << actual_coord_size << ": "
+ << spvOpcodeString(opcode);
}
if (info.format == SpvImageFormatUnknown &&
info.dim != SpvDimSubpassData &&
!_.HasCapability(SpvCapabilityStorageImageReadWithoutFormat)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Capability StorageImageReadWithoutFormat is required to read "
- << "storage image: " << spvOpcodeString(opcode);
+ << "Capability StorageImageReadWithoutFormat is required to "
+ "read "
+ << "storage image: " << spvOpcodeString(opcode);
}
- if (inst->num_words <= 5)
- break;
+ if (inst->num_words <= 5) break;
const uint32_t mask = inst->words[5];
- if (spv_result_t result = ValidateImageOperands(
- _, *inst, info, mask, /* word_index = */ 6))
+ if (spv_result_t result =
+ ValidateImageOperands(_, *inst, info, mask, /* word_index = */ 6))
return result;
break;
@@ -1034,19 +1042,20 @@ spv_result_t ImagePass(ValidationState_t& _,
const uint32_t image_type = _.GetOperandTypeId(inst, 0);
if (_.GetIdOpcode(image_type) != SpvOpTypeImage) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image to be of type OpTypeImage: "
- << spvOpcodeString(opcode);
+ << "Expected Image to be of type OpTypeImage: "
+ << spvOpcodeString(opcode);
}
ImageTypeInfo info;
if (!GetImageTypeInfo(_, image_type, &info)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Corrupt image type definition";
+ << "Corrupt image type definition";
}
if (info.dim == SpvDimSubpassData) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image 'Dim' cannot be SubpassData: " << spvOpcodeString(opcode);
+ << "Image 'Dim' cannot be SubpassData: "
+ << spvOpcodeString(opcode);
}
if (spv_result_t result = ValidateImageCommon(_, *inst, info))
@@ -1055,17 +1064,17 @@ spv_result_t ImagePass(ValidationState_t& _,
const uint32_t coord_type = _.GetOperandTypeId(inst, 1);
if (!_.IsIntScalarOrVectorType(coord_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Coordinate to be int scalar or vector: "
- << spvOpcodeString(opcode);
+ << "Expected Coordinate to be int scalar or vector: "
+ << spvOpcodeString(opcode);
}
const uint32_t min_coord_size = GetMinCoordSize(opcode, info);
const uint32_t actual_coord_size = _.GetDimension(coord_type);
if (min_coord_size > actual_coord_size) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Coordinate to have at least " << min_coord_size
- << " components, but given only " << actual_coord_size << ": "
- << spvOpcodeString(opcode);
+ << "Expected Coordinate to have at least " << min_coord_size
+ << " components, but given only " << actual_coord_size << ": "
+ << spvOpcodeString(opcode);
}
// TODO(atgoo@github.com) The spec doesn't explicitely say what the type
@@ -1074,8 +1083,8 @@ spv_result_t ImagePass(ValidationState_t& _,
if (!_.IsIntScalarOrVectorType(texel_type) &&
!_.IsFloatScalarOrVectorType(texel_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Texel to be int or float vector or scalar: "
- << spvOpcodeString(opcode);
+ << "Expected Texel to be int or float vector or scalar: "
+ << spvOpcodeString(opcode);
}
#if 0
@@ -1091,8 +1100,8 @@ spv_result_t ImagePass(ValidationState_t& _,
const uint32_t texel_component_type = _.GetComponentType(texel_type);
if (texel_component_type != info.sampled_type) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image 'Sampled Type' to be the same as Texel "
- << "components: " << spvOpcodeString(opcode);
+ << "Expected Image 'Sampled Type' to be the same as Texel "
+ << "components: " << spvOpcodeString(opcode);
}
}
@@ -1100,16 +1109,16 @@ spv_result_t ImagePass(ValidationState_t& _,
info.dim != SpvDimSubpassData &&
!_.HasCapability(SpvCapabilityStorageImageWriteWithoutFormat)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Capability StorageImageWriteWithoutFormat is required to write "
- << "to storage image: " << spvOpcodeString(opcode);
+ << "Capability StorageImageWriteWithoutFormat is required to "
+ "write "
+ << "to storage image: " << spvOpcodeString(opcode);
}
- if (inst->num_words <= 4)
- break;
+ if (inst->num_words <= 4) break;
const uint32_t mask = inst->words[4];
- if (spv_result_t result = ValidateImageOperands(
- _, *inst, info, mask, /* word_index = */ 5))
+ if (spv_result_t result =
+ ValidateImageOperands(_, *inst, info, mask, /* word_index = */ 5))
return result;
break;
@@ -1118,8 +1127,8 @@ spv_result_t ImagePass(ValidationState_t& _,
case SpvOpImage: {
if (_.GetIdOpcode(result_type) != SpvOpTypeImage) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Result Type to be OpTypeImage: "
- << spvOpcodeString(opcode);
+ << "Expected Result Type to be OpTypeImage: "
+ << spvOpcodeString(opcode);
}
const uint32_t sampled_image_type = _.GetOperandTypeId(inst, 2);
@@ -1129,14 +1138,15 @@ spv_result_t ImagePass(ValidationState_t& _,
if (sampled_image_type_inst->opcode() != SpvOpTypeSampledImage) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Sample Image to be of type OpTypeSampleImage: "
- << spvOpcodeString(opcode);
+ << "Expected Sample Image to be of type OpTypeSampleImage: "
+ << spvOpcodeString(opcode);
}
if (sampled_image_type_inst->word(2) != result_type) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Sample Image image type to be equal to Result Type: "
- << spvOpcodeString(opcode);
+ << "Expected Sample Image image type to be equal to Result "
+ "Type: "
+ << spvOpcodeString(opcode);
}
break;
@@ -1146,14 +1156,14 @@ spv_result_t ImagePass(ValidationState_t& _,
case SpvOpImageQueryOrder: {
if (!_.IsIntScalarType(result_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Result Type to be int scalar type: "
- << spvOpcodeString(opcode);
+ << "Expected Result Type to be int scalar type: "
+ << spvOpcodeString(opcode);
}
if (_.GetIdOpcode(_.GetOperandTypeId(inst, 2)) != SpvOpTypeImage) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected operand to be of type OpTypeImage: "
- << spvOpcodeString(opcode);
+ << "Expected operand to be of type OpTypeImage: "
+ << spvOpcodeString(opcode);
}
break;
}
@@ -1161,21 +1171,21 @@ spv_result_t ImagePass(ValidationState_t& _,
case SpvOpImageQuerySizeLod: {
if (!_.IsIntScalarOrVectorType(result_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Result Type to be int scalar or vector type: "
- << spvOpcodeString(opcode);
+ << "Expected Result Type to be int scalar or vector type: "
+ << spvOpcodeString(opcode);
}
const uint32_t image_type = _.GetOperandTypeId(inst, 2);
if (_.GetIdOpcode(image_type) != SpvOpTypeImage) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image to be of type OpTypeImage: "
- << spvOpcodeString(opcode);
+ << "Expected Image to be of type OpTypeImage: "
+ << spvOpcodeString(opcode);
}
ImageTypeInfo info;
if (!GetImageTypeInfo(_, image_type, &info)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Corrupt image type definition";
+ << "Corrupt image type definition";
}
uint32_t expected_num_components = info.arrayed;
@@ -1192,28 +1202,28 @@ spv_result_t ImagePass(ValidationState_t& _,
break;
default:
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image 'Dim' must be 1D, 2D, 3D or Cube: "
- << spvOpcodeString(opcode);
+ << "Image 'Dim' must be 1D, 2D, 3D or Cube: "
+ << spvOpcodeString(opcode);
};
if (info.multisampled != 0) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image 'MS' must be 0: " << spvOpcodeString(opcode);
+ << "Image 'MS' must be 0: " << spvOpcodeString(opcode);
}
uint32_t result_num_components = _.GetDimension(result_type);
if (result_num_components != expected_num_components) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Result Type has " << result_num_components << " components, "
- << "but " << expected_num_components << " expected: "
- << spvOpcodeString(opcode);
+ << "Result Type has " << result_num_components << " components, "
+ << "but " << expected_num_components
+ << " expected: " << spvOpcodeString(opcode);
}
const uint32_t lod_type = _.GetOperandTypeId(inst, 3);
if (!_.IsIntScalarType(lod_type) && !_.IsFloatScalarType(lod_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Level of Detail to be int or float scalar: "
- << spvOpcodeString(opcode);
+ << "Expected Level of Detail to be int or float scalar: "
+ << spvOpcodeString(opcode);
}
break;
@@ -1222,15 +1232,15 @@ spv_result_t ImagePass(ValidationState_t& _,
case SpvOpImageQuerySize: {
if (!_.IsIntScalarOrVectorType(result_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Result Type to be int scalar or vector type: "
- << spvOpcodeString(opcode);
+ << "Expected Result Type to be int scalar or vector type: "
+ << spvOpcodeString(opcode);
}
const uint32_t image_type = _.GetOperandTypeId(inst, 2);
if (_.GetIdOpcode(image_type) != SpvOpTypeImage) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image to be of type OpTypeImage: "
- << spvOpcodeString(opcode);
+ << "Expected Image to be of type OpTypeImage: "
+ << spvOpcodeString(opcode);
}
#if 0
@@ -1296,34 +1306,34 @@ spv_result_t ImagePass(ValidationState_t& _,
if (!_.IsFloatVectorType(result_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Result Type to be float vector type: "
- << spvOpcodeString(opcode);
+ << "Expected Result Type to be float vector type: "
+ << spvOpcodeString(opcode);
}
if (_.GetDimension(result_type) != 2) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Result Type to have 2 components: "
- << spvOpcodeString(opcode);
+ << "Expected Result Type to have 2 components: "
+ << spvOpcodeString(opcode);
}
const uint32_t image_type = _.GetOperandTypeId(inst, 2);
if (_.GetIdOpcode(image_type) != SpvOpTypeSampledImage) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image operand to be of type OpTypeSampledImage: "
- << spvOpcodeString(opcode);
+ << "Expected Image operand to be of type OpTypeSampledImage: "
+ << spvOpcodeString(opcode);
}
ImageTypeInfo info;
if (!GetImageTypeInfo(_, image_type, &info)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Corrupt image type definition";
+ << "Corrupt image type definition";
}
- if (info.dim != SpvDim1D && info.dim != SpvDim2D
- && info.dim != SpvDim3D && info.dim != SpvDimCube) {
+ if (info.dim != SpvDim1D && info.dim != SpvDim2D &&
+ info.dim != SpvDim3D && info.dim != SpvDimCube) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image 'Dim' must be 1D, 2D, 3D or Cube: "
- << spvOpcodeString(opcode);
+ << "Image 'Dim' must be 1D, 2D, 3D or Cube: "
+ << spvOpcodeString(opcode);
}
const uint32_t coord_type = _.GetOperandTypeId(inst, 3);
@@ -1331,14 +1341,14 @@ spv_result_t ImagePass(ValidationState_t& _,
if (!_.IsFloatScalarOrVectorType(coord_type) &&
!_.IsIntScalarOrVectorType(coord_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Coordinate to be int or float scalar or vector: "
- << spvOpcodeString(opcode);
+ << "Expected Coordinate to be int or float scalar or vector: "
+ << spvOpcodeString(opcode);
}
} else {
if (!_.IsFloatScalarOrVectorType(coord_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Coordinate to be float scalar or vector: "
- << spvOpcodeString(opcode);
+ << "Expected Coordinate to be float scalar or vector: "
+ << spvOpcodeString(opcode);
}
}
@@ -1346,9 +1356,9 @@ spv_result_t ImagePass(ValidationState_t& _,
const uint32_t actual_coord_size = _.GetDimension(coord_type);
if (min_coord_size > actual_coord_size) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Coordinate to have at least " << min_coord_size
- << " components, but given only " << actual_coord_size << ": "
- << spvOpcodeString(opcode);
+ << "Expected Coordinate to have at least " << min_coord_size
+ << " components, but given only " << actual_coord_size << ": "
+ << spvOpcodeString(opcode);
}
break;
}
@@ -1357,40 +1367,40 @@ spv_result_t ImagePass(ValidationState_t& _,
case SpvOpImageQuerySamples: {
if (!_.IsIntScalarType(result_type)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Result Type to be int scalar type: "
- << spvOpcodeString(opcode);
+ << "Expected Result Type to be int scalar type: "
+ << spvOpcodeString(opcode);
}
const uint32_t image_type = _.GetOperandTypeId(inst, 2);
if (_.GetIdOpcode(image_type) != SpvOpTypeImage) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Expected Image to be of type OpTypeImage: "
- << spvOpcodeString(opcode);
+ << "Expected Image to be of type OpTypeImage: "
+ << spvOpcodeString(opcode);
}
ImageTypeInfo info;
if (!GetImageTypeInfo(_, image_type, &info)) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Corrupt image type definition";
+ << "Corrupt image type definition";
}
if (opcode == SpvOpImageQueryLevels) {
- if (info.dim != SpvDim1D && info.dim != SpvDim2D
- && info.dim != SpvDim3D && info.dim != SpvDimCube) {
+ if (info.dim != SpvDim1D && info.dim != SpvDim2D &&
+ info.dim != SpvDim3D && info.dim != SpvDimCube) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image 'Dim' must be 1D, 2D, 3D or Cube: "
- << spvOpcodeString(opcode);
+ << "Image 'Dim' must be 1D, 2D, 3D or Cube: "
+ << spvOpcodeString(opcode);
}
} else {
assert(opcode == SpvOpImageQuerySamples);
if (info.dim != SpvDim2D) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image 'Dim' must be 2D: " << spvOpcodeString(opcode);
+ << "Image 'Dim' must be 2D: " << spvOpcodeString(opcode);
}
if (info.multisampled != 1) {
return _.diag(SPV_ERROR_INVALID_DATA)
- << "Image 'MS' must be 1: " << spvOpcodeString(opcode);
+ << "Image 'MS' must be 1: " << spvOpcodeString(opcode);
}
}
diff --git a/source/validate_layout.cpp b/source/validate_layout.cpp
index 4718b912..37c49be5 100644
--- a/source/validate_layout.cpp
+++ b/source/validate_layout.cpp
@@ -25,11 +25,11 @@
#include "val/function.h"
#include "val/validation_state.h"
-using libspirv::ValidationState_t;
-using libspirv::kLayoutMemoryModel;
+using libspirv::FunctionDecl;
using libspirv::kLayoutFunctionDeclarations;
using libspirv::kLayoutFunctionDefinitions;
-using libspirv::FunctionDecl;
+using libspirv::kLayoutMemoryModel;
+using libspirv::ValidationState_t;
namespace {
// Module scoped instructions are processed by determining if the opcode
@@ -170,7 +170,7 @@ spv_result_t FunctionScopedInstructions(ValidationState_t& _,
}
return SPV_SUCCESS;
}
-} /// namespace
+} // namespace
namespace libspirv {
// TODO(umar): Check linkage capabilities for function declarations
@@ -204,4 +204,4 @@ spv_result_t ModuleLayoutPass(ValidationState_t& _,
}
return SPV_SUCCESS;
}
-} /// namespace libspirv
+} // namespace libspirv
diff --git a/source/validate_logicals.cpp b/source/validate_logicals.cpp
index 766fd26a..5a6c034f 100644
--- a/source/validate_logicals.cpp
+++ b/source/validate_logicals.cpp
@@ -42,7 +42,7 @@ inline uint32_t GetOperandTypeId(ValidationState_t& _,
size_t operand_index) {
return _.GetTypeId(GetOperandWord(inst, operand_index));
}
-}
+} // namespace
// Validates correctness of logical instructions.
spv_result_t LogicalsPass(ValidationState_t& _,
diff --git a/test/assembly_context_test.cpp b/test/assembly_context_test.cpp
index 219a76ad..65a40aad 100644
--- a/test/assembly_context_test.cpp
+++ b/test/assembly_context_test.cpp
@@ -14,8 +14,8 @@
#include "unit_spirv.h"
-#include <vector>
#include <gmock/gmock.h>
+#include <vector>
#include "source/instruction.h"
diff --git a/test/binary_parse_test.cpp b/test/binary_parse_test.cpp
index d90e480a..c979751e 100644
--- a/test/binary_parse_test.cpp
+++ b/test/binary_parse_test.cpp
@@ -16,12 +16,12 @@
#include <string>
#include <vector>
-#include "test_fixture.h"
-#include "unit_spirv.h"
#include "gmock/gmock.h"
#include "source/message.h"
#include "source/table.h"
#include "spirv/1.0/OpenCL.std.h"
+#include "test_fixture.h"
+#include "unit_spirv.h"
// Returns true if two spv_parsed_operand_t values are equal.
// To use this operator, this definition must appear in the same namespace
@@ -40,11 +40,11 @@ using ::spvtest::Concatenate;
using ::spvtest::MakeInstruction;
using ::spvtest::MakeVector;
using ::spvtest::ScopedContext;
+using ::testing::_;
using ::testing::AnyOf;
using ::testing::Eq;
using ::testing::InSequence;
using ::testing::Return;
-using ::testing::_;
// An easily-constructible and comparable object for the contents of an
// spv_parsed_instruction_t. Unlike spv_parsed_instruction_t, owns the memory
@@ -818,7 +818,8 @@ INSTANTIATE_TEST_CASE_P(
}),
"Type Id 2 is not a type"},
{Concatenate({
- ExpectedHeaderForBound(3), MakeInstruction(SpvOpTypeBool, {1}),
+ ExpectedHeaderForBound(3),
+ MakeInstruction(SpvOpTypeBool, {1}),
MakeInstruction(SpvOpConstant, {1, 2, 42}),
}),
"Type Id 1 is not a scalar numeric type"},
diff --git a/test/binary_to_text_test.cpp b/test/binary_to_text_test.cpp
index fcbf8835..d7adae34 100644
--- a/test/binary_to_text_test.cpp
+++ b/test/binary_to_text_test.cpp
@@ -18,19 +18,19 @@
#include "gmock/gmock.h"
-#include "test_fixture.h"
#include "source/spirv_constant.h"
+#include "test_fixture.h"
namespace {
-using ::testing::Combine;
-using ::testing::Eq;
-using ::testing::HasSubstr;
using spvtest::AutoText;
using spvtest::ScopedContext;
using spvtest::TextToBinaryTest;
using std::get;
using std::tuple;
+using ::testing::Combine;
+using ::testing::Eq;
+using ::testing::HasSubstr;
class BinaryToText : public ::testing::Test {
public:
@@ -278,7 +278,8 @@ INSTANTIATE_TEST_CASE_P(
::testing::ValuesIn(std::vector<std::string>{
"OpStore %1 %2\n", // 3 words long.
"OpStore %1 %2 None\n", // 4 words long, explicit final 0.
- "OpStore %1 %2 Volatile\n", "OpStore %1 %2 Aligned 8\n",
+ "OpStore %1 %2 Volatile\n",
+ "OpStore %1 %2 Aligned 8\n",
"OpStore %1 %2 Nontemporal\n",
// Combinations show the names from LSB to MSB
"OpStore %1 %2 Volatile|Aligned 16\n",
@@ -304,15 +305,16 @@ INSTANTIATE_TEST_CASE_P(
"OpDecorate %1 FPFastMathMode NotNaN|NotInf|NSZ|AllowRecip|Fast\n",
})), );
-INSTANTIATE_TEST_CASE_P(
- LoopControlMasks, RoundTripInstructionsTest,
- Combine(::testing::Values(SPV_ENV_UNIVERSAL_1_0, SPV_ENV_UNIVERSAL_1_1,
- SPV_ENV_UNIVERSAL_1_2),
- ::testing::ValuesIn(std::vector<std::string>{
- "OpLoopMerge %1 %2 None\n", "OpLoopMerge %1 %2 Unroll\n",
- "OpLoopMerge %1 %2 DontUnroll\n",
- "OpLoopMerge %1 %2 Unroll|DontUnroll\n",
- })), );
+INSTANTIATE_TEST_CASE_P(LoopControlMasks, RoundTripInstructionsTest,
+ Combine(::testing::Values(SPV_ENV_UNIVERSAL_1_0,
+ SPV_ENV_UNIVERSAL_1_1,
+ SPV_ENV_UNIVERSAL_1_2),
+ ::testing::ValuesIn(std::vector<std::string>{
+ "OpLoopMerge %1 %2 None\n",
+ "OpLoopMerge %1 %2 Unroll\n",
+ "OpLoopMerge %1 %2 DontUnroll\n",
+ "OpLoopMerge %1 %2 Unroll|DontUnroll\n",
+ })), );
INSTANTIATE_TEST_CASE_P(LoopControlMasksV11, RoundTripInstructionsTest,
Combine(::testing::Values(SPV_ENV_UNIVERSAL_1_1,
@@ -322,28 +324,30 @@ INSTANTIATE_TEST_CASE_P(LoopControlMasksV11, RoundTripInstructionsTest,
"OpLoopMerge %1 %2 DependencyLength 8\n",
})), );
-INSTANTIATE_TEST_CASE_P(
- SelectionControlMasks, RoundTripInstructionsTest,
- Combine(::testing::Values(SPV_ENV_UNIVERSAL_1_0, SPV_ENV_UNIVERSAL_1_1,
- SPV_ENV_UNIVERSAL_1_2),
- ::testing::ValuesIn(std::vector<std::string>{
- "OpSelectionMerge %1 None\n", "OpSelectionMerge %1 Flatten\n",
- "OpSelectionMerge %1 DontFlatten\n",
- "OpSelectionMerge %1 Flatten|DontFlatten\n",
- })), );
+INSTANTIATE_TEST_CASE_P(SelectionControlMasks, RoundTripInstructionsTest,
+ Combine(::testing::Values(SPV_ENV_UNIVERSAL_1_0,
+ SPV_ENV_UNIVERSAL_1_1,
+ SPV_ENV_UNIVERSAL_1_2),
+ ::testing::ValuesIn(std::vector<std::string>{
+ "OpSelectionMerge %1 None\n",
+ "OpSelectionMerge %1 Flatten\n",
+ "OpSelectionMerge %1 DontFlatten\n",
+ "OpSelectionMerge %1 Flatten|DontFlatten\n",
+ })), );
-INSTANTIATE_TEST_CASE_P(
- FunctionControlMasks, RoundTripInstructionsTest,
- Combine(::testing::Values(SPV_ENV_UNIVERSAL_1_0, SPV_ENV_UNIVERSAL_1_1,
- SPV_ENV_UNIVERSAL_1_2),
- ::testing::ValuesIn(std::vector<std::string>{
- "%2 = OpFunction %1 None %3\n",
- "%2 = OpFunction %1 Inline %3\n",
- "%2 = OpFunction %1 DontInline %3\n",
- "%2 = OpFunction %1 Pure %3\n", "%2 = OpFunction %1 Const %3\n",
- "%2 = OpFunction %1 Inline|Pure|Const %3\n",
- "%2 = OpFunction %1 DontInline|Const %3\n",
- })), );
+INSTANTIATE_TEST_CASE_P(FunctionControlMasks, RoundTripInstructionsTest,
+ Combine(::testing::Values(SPV_ENV_UNIVERSAL_1_0,
+ SPV_ENV_UNIVERSAL_1_1,
+ SPV_ENV_UNIVERSAL_1_2),
+ ::testing::ValuesIn(std::vector<std::string>{
+ "%2 = OpFunction %1 None %3\n",
+ "%2 = OpFunction %1 Inline %3\n",
+ "%2 = OpFunction %1 DontInline %3\n",
+ "%2 = OpFunction %1 Pure %3\n",
+ "%2 = OpFunction %1 Const %3\n",
+ "%2 = OpFunction %1 Inline|Pure|Const %3\n",
+ "%2 = OpFunction %1 DontInline|Const %3\n",
+ })), );
INSTANTIATE_TEST_CASE_P(
ImageMasks, RoundTripInstructionsTest,
@@ -530,8 +534,7 @@ INSTANTIATE_TEST_CASE_P(GeneratorStrings, GeneratorStringTest,
{SPV_GENERATOR_KHRONOS, 12, "Khronos; 12"},
{SPV_GENERATOR_LUNARG, 99, "LunarG; 99"},
{SPV_GENERATOR_VALVE, 1, "Valve; 1"},
- {SPV_GENERATOR_CODEPLAY, 65535,
- "Codeplay; 65535"},
+ {SPV_GENERATOR_CODEPLAY, 65535, "Codeplay; 65535"},
{SPV_GENERATOR_NVIDIA, 19, "NVIDIA; 19"},
{SPV_GENERATOR_ARM, 1000, "ARM; 1000"},
{SPV_GENERATOR_KHRONOS_LLVM_TRANSLATOR, 38,
diff --git a/test/bit_stream.cpp b/test/bit_stream.cpp
index dfc6d187..d30a79f7 100644
--- a/test/bit_stream.cpp
+++ b/test/bit_stream.cpp
@@ -21,47 +21,41 @@
namespace {
-using spvutils::BitWriterInterface;
using spvutils::BitReaderInterface;
-using spvutils::BitWriterWord64;
using spvutils::BitReaderWord64;
-using spvutils::StreamToBuffer;
-using spvutils::BufferToStream;
-using spvutils::NumBitsToNumWords;
-using spvutils::PadToWord;
-using spvutils::StreamToBitset;
using spvutils::BitsetToStream;
using spvutils::BitsToStream;
-using spvutils::StreamToBits;
-using spvutils::GetLowerBits;
-using spvutils::EncodeZigZag;
+using spvutils::BitWriterInterface;
+using spvutils::BitWriterWord64;
+using spvutils::BufferToStream;
using spvutils::DecodeZigZag;
+using spvutils::EncodeZigZag;
+using spvutils::GetLowerBits;
using spvutils::Log2U64;
+using spvutils::NumBitsToNumWords;
+using spvutils::PadToWord;
+using spvutils::StreamToBits;
+using spvutils::StreamToBitset;
+using spvutils::StreamToBuffer;
// A simple and inefficient implementatition of BitWriterInterface,
// using std::stringstream. Intended for tests only.
class BitWriterStringStream : public BitWriterInterface {
public:
- void WriteStream(const std::string& bits) override {
- ss_ << bits;
- }
+ void WriteStream(const std::string& bits) override { ss_ << bits; }
void WriteBits(uint64_t bits, size_t num_bits) override {
assert(num_bits <= 64);
ss_ << BitsToStream(bits, num_bits);
}
- size_t GetNumBits() const override {
- return ss_.str().size();
- }
+ size_t GetNumBits() const override { return ss_.str().size(); }
std::vector<uint8_t> GetDataCopy() const override {
return StreamToBuffer<uint8_t>(ss_.str());
}
- std::string GetStreamRaw() const {
- return ss_.str();
- }
+ std::string GetStreamRaw() const { return ss_.str(); }
private:
std::stringstream ss_;
@@ -81,25 +75,18 @@ class BitReaderFromString : public BitReaderInterface {
: str_(PadToWord<64>(BufferToStream(buffer))), pos_(0) {}
size_t ReadBits(uint64_t* bits, size_t num_bits) override {
- if (ReachedEnd())
- return 0;
+ if (ReachedEnd()) return 0;
std::string sub = str_.substr(pos_, num_bits);
*bits = StreamToBits(sub);
pos_ += sub.length();
return sub.length();
}
- size_t GetNumReadBits() const override {
- return pos_;
- }
+ size_t GetNumReadBits() const override { return pos_; }
- bool ReachedEnd() const override {
- return pos_ >= str_.length();
- }
+ bool ReachedEnd() const override { return pos_ >= str_.length(); }
- const std::string& GetStreamPadded64() const {
- return str_;
- }
+ const std::string& GetStreamPadded64() const { return str_; }
private:
std::string str_;
@@ -325,7 +312,7 @@ TEST(ZigZagCoding, Encode63) {
EXPECT_EQ(0u, EncodeZigZag(0, 63));
for (int64_t i = 0; i < 0xFFFFFFFF; i += 1234567) {
- const int64_t positive_val = GetLowerBits(i * i * i + i * i, 63) | 1UL;
+ const int64_t positive_val = GetLowerBits(i * i * i + i * i, 63) | 1UL;
ASSERT_EQ(static_cast<uint64_t>(positive_val),
EncodeZigZag(positive_val, 63));
ASSERT_EQ((1ULL << 63) - 1 + positive_val, EncodeZigZag(-positive_val, 63));
@@ -350,24 +337,27 @@ TEST(BufToStream, UInt8_Empty) {
TEST(BufToStream, UInt8_OneWord) {
const std::string expected_bits = "00101100";
std::vector<uint8_t> buffer = StreamToBuffer<uint8_t>(expected_bits);
- EXPECT_EQ(
- std::vector<uint8_t>(
- {static_cast<uint8_t>(StreamToBitset<8>(expected_bits).to_ulong())}),
- buffer);
+ EXPECT_EQ(std::vector<uint8_t>({static_cast<uint8_t>(
+ StreamToBitset<8>(expected_bits).to_ulong())}),
+ buffer);
const std::string result_bits = BufferToStream(buffer);
EXPECT_EQ(expected_bits, result_bits);
}
TEST(BufToStream, UInt8_MultipleWords) {
- const std::string expected_bits = "00100010""01101010""01111101""00100010";
+ const std::string expected_bits =
+ "00100010"
+ "01101010"
+ "01111101"
+ "00100010";
std::vector<uint8_t> buffer = StreamToBuffer<uint8_t>(expected_bits);
- EXPECT_EQ(
- std::vector<uint8_t>({
- static_cast<uint8_t>(StreamToBitset<8>("00100010").to_ulong()),
- static_cast<uint8_t>(StreamToBitset<8>("01101010").to_ulong()),
- static_cast<uint8_t>(StreamToBitset<8>("01111101").to_ulong()),
- static_cast<uint8_t>(StreamToBitset<8>("00100010").to_ulong()),
- }), buffer);
+ EXPECT_EQ(std::vector<uint8_t>({
+ static_cast<uint8_t>(StreamToBitset<8>("00100010").to_ulong()),
+ static_cast<uint8_t>(StreamToBitset<8>("01101010").to_ulong()),
+ static_cast<uint8_t>(StreamToBitset<8>("01111101").to_ulong()),
+ static_cast<uint8_t>(StreamToBitset<8>("00100010").to_ulong()),
+ }),
+ buffer);
const std::string result_bits = BufferToStream(buffer);
EXPECT_EQ(expected_bits, result_bits);
}
@@ -396,9 +386,10 @@ TEST(BufToStream, UInt64_Unaligned) {
"0010001001101010011111111111111111111111";
std::vector<uint64_t> buffer = StreamToBuffer<uint64_t>(expected_bits);
EXPECT_EQ(std::vector<uint64_t>({
- StreamToBits(expected_bits.substr(0, 64)),
- StreamToBits(expected_bits.substr(64, 64)),
- }), buffer);
+ StreamToBits(expected_bits.substr(0, 64)),
+ StreamToBits(expected_bits.substr(64, 64)),
+ }),
+ buffer);
const std::string result_bits = BufferToStream(buffer);
EXPECT_EQ(PadToWord<64>(expected_bits), result_bits);
}
@@ -410,22 +401,37 @@ TEST(BufToStream, UInt64_MultipleWords) {
"0000000000000000000000000000000000000000000000000010010011111111";
std::vector<uint64_t> buffer = StreamToBuffer<uint64_t>(expected_bits);
EXPECT_EQ(std::vector<uint64_t>({
- StreamToBits(expected_bits.substr(0, 64)),
- StreamToBits(expected_bits.substr(64, 64)),
- StreamToBits(expected_bits.substr(128, 64)),
- }), buffer);
+ StreamToBits(expected_bits.substr(0, 64)),
+ StreamToBits(expected_bits.substr(64, 64)),
+ StreamToBits(expected_bits.substr(128, 64)),
+ }),
+ buffer);
const std::string result_bits = BufferToStream(buffer);
EXPECT_EQ(expected_bits, result_bits);
}
TEST(PadToWord, Test) {
EXPECT_EQ("10100000", PadToWord<8>("101"));
- EXPECT_EQ("10100000""00000000", PadToWord<16>("101"));
- EXPECT_EQ("10100000""00000000""00000000""00000000",
- PadToWord<32>("101"));
- EXPECT_EQ("10100000""00000000""00000000""00000000"
- "00000000""00000000""00000000""00000000",
- PadToWord<64>("101"));
+ EXPECT_EQ(
+ "10100000"
+ "00000000",
+ PadToWord<16>("101"));
+ EXPECT_EQ(
+ "10100000"
+ "00000000"
+ "00000000"
+ "00000000",
+ PadToWord<32>("101"));
+ EXPECT_EQ(
+ "10100000"
+ "00000000"
+ "00000000"
+ "00000000"
+ "00000000"
+ "00000000"
+ "00000000"
+ "00000000",
+ PadToWord<64>("101"));
}
TEST(BitWriterStringStream, Empty) {
@@ -578,10 +584,12 @@ TEST(BitWriterWord64, WriteZeroBits) {
writer.WriteBits(0, 0);
writer.WriteBits(7, 3);
writer.WriteBits(0, 0);
- EXPECT_EQ(PadToWord<64>(
+ EXPECT_EQ(
+ PadToWord<64>(
"1"
"000000000000000000000000000000000000000000000000000000000000000"
- "111"), writer.GetStreamPadded64());
+ "111"),
+ writer.GetStreamPadded64());
}
TEST(BitWriterWord64, ComparisonTestWriteLotsOfBits) {
@@ -594,8 +602,7 @@ TEST(BitWriterWord64, ComparisonTestWriteLotsOfBits) {
ASSERT_EQ(writer1.GetNumBits(), writer2.GetNumBits());
}
- EXPECT_EQ(PadToWord<64>(writer1.GetStreamRaw()),
- writer2.GetStreamPadded64());
+ EXPECT_EQ(PadToWord<64>(writer1.GetStreamRaw()), writer2.GetStreamPadded64());
}
TEST(BitWriterWord64, ComparisonTestWriteLotsOfStreams) {
@@ -604,19 +611,15 @@ TEST(BitWriterWord64, ComparisonTestWriteLotsOfStreams) {
for (int i = 0; i < 1000; ++i) {
std::string bits = "1111100000";
- if (i % 2)
- bits += "101010";
- if (i % 3)
- bits += "1110100";
- if (i % 5)
- bits += "1110100111111111111";
+ if (i % 2) bits += "101010";
+ if (i % 3) bits += "1110100";
+ if (i % 5) bits += "1110100111111111111";
writer1.WriteStream(bits);
writer2.WriteStream(bits);
ASSERT_EQ(writer1.GetNumBits(), writer2.GetNumBits());
}
- EXPECT_EQ(PadToWord<64>(writer1.GetStreamRaw()),
- writer2.GetStreamPadded64());
+ EXPECT_EQ(PadToWord<64>(writer1.GetStreamRaw()), writer2.GetStreamPadded64());
}
TEST(BitWriterWord64, ComparisonTestWriteLotsOfBitsets) {
@@ -633,8 +636,7 @@ TEST(BitWriterWord64, ComparisonTestWriteLotsOfBitsets) {
ASSERT_EQ(writer1.GetNumBits(), writer2.GetNumBits());
}
- EXPECT_EQ(PadToWord<64>(writer1.GetStreamRaw()),
- writer2.GetStreamPadded64());
+ EXPECT_EQ(PadToWord<64>(writer1.GetStreamRaw()), writer2.GetStreamPadded64());
}
TEST(GetLowerBits, Test) {
@@ -654,17 +656,22 @@ TEST(GetLowerBits, Test) {
EXPECT_EQ(0xFFFFFFFFFFFFFFFFu,
GetLowerBits<uint64_t>(0xFFFFFFFFFFFFFFFFu, 64));
EXPECT_EQ(StreamToBits("1010001110"),
- GetLowerBits<uint64_t>(
- StreamToBits("1010001110111101111111"), 10));
+ GetLowerBits<uint64_t>(StreamToBits("1010001110111101111111"), 10));
}
TEST(BitReaderFromString, FromU8) {
std::vector<uint8_t> buffer = {
- 0xAA, 0xBB, 0xCC, 0xDD,
+ 0xAA,
+ 0xBB,
+ 0xCC,
+ 0xDD,
};
const std::string total_stream =
- "01010101""11011101""00110011""10111011";
+ "01010101"
+ "11011101"
+ "00110011"
+ "10111011";
BitReaderFromString reader(buffer);
EXPECT_EQ(PadToWord<64>(total_stream), reader.GetStreamPadded64());
@@ -683,10 +690,10 @@ TEST(BitReaderFromString, FromU8) {
TEST(BitReaderFromString, FromU64) {
std::vector<uint64_t> buffer = {
- 0xAAAAAAAAAAAAAAAA,
- 0xBBBBBBBBBBBBBBBB,
- 0xCCCCCCCCCCCCCCCC,
- 0xDDDDDDDDDDDDDDDD,
+ 0xAAAAAAAAAAAAAAAA,
+ 0xBBBBBBBBBBBBBBBB,
+ 0xCCCCCCCCCCCCCCCC,
+ 0xDDDDDDDDDDDDDDDD,
};
const std::string total_stream =
@@ -769,10 +776,7 @@ TEST(BitReaderWord64, ReadStreamEmpty) {
}
TEST(BitReaderWord64, ReadBitsTwoWords) {
- std::vector<uint64_t> buffer = {
- 0x0000000000000001,
- 0x0000000000FFFFFF
- };
+ std::vector<uint64_t> buffer = {0x0000000000000001, 0x0000000000FFFFFF};
BitReaderWord64 reader(std::move(buffer));
@@ -820,7 +824,10 @@ TEST(BitReaderFromString, ReadUnencodedS64) {
TEST(BitReaderWord64, FromU8) {
std::vector<uint8_t> buffer = {
- 0xAA, 0xBB, 0xCC, 0xDD,
+ 0xAA,
+ 0xBB,
+ 0xCC,
+ 0xDD,
};
BitReaderWord64 reader(std::move(buffer));
@@ -839,10 +846,10 @@ TEST(BitReaderWord64, FromU8) {
TEST(BitReaderWord64, FromU64) {
std::vector<uint64_t> buffer = {
- 0xAAAAAAAAAAAAAAAA,
- 0xBBBBBBBBBBBBBBBB,
- 0xCCCCCCCCCCCCCCCC,
- 0xDDDDDDDDDDDDDDDD,
+ 0xAAAAAAAAAAAAAAAA,
+ 0xBBBBBBBBBBBBBBBB,
+ 0xCCCCCCCCCCCCCCCC,
+ 0xDDDDDDDDDDDDDDDD,
};
const std::string total_stream =
@@ -867,7 +874,7 @@ TEST(BitReaderWord64, FromU64) {
TEST(BitReaderWord64, ComparisonLotsOfU8) {
std::vector<uint8_t> buffer;
- for(uint32_t i = 0; i < 10003; ++i) {
+ for (uint32_t i = 0; i < 10003; ++i) {
buffer.push_back(static_cast<uint8_t>(i % 255));
}
@@ -887,7 +894,7 @@ TEST(BitReaderWord64, ComparisonLotsOfU8) {
TEST(BitReaderWord64, ComparisonLotsOfU64) {
std::vector<uint64_t> buffer;
- for(uint64_t i = 0; i < 1000; ++i) {
+ for (uint64_t i = 0; i < 1000; ++i) {
buffer.push_back(i);
}
@@ -928,126 +935,238 @@ TEST(ReadWriteWord64, ReadWriteLotsOfBits) {
TEST(VariableWidthWrite, Write0U) {
BitWriterStringStream writer;
writer.WriteVariableWidthU64(0, 2);
- EXPECT_EQ("000", writer.GetStreamRaw ());
+ EXPECT_EQ("000", writer.GetStreamRaw());
writer.WriteVariableWidthU32(0, 2);
- EXPECT_EQ("000""000", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "000"
+ "000",
+ writer.GetStreamRaw());
writer.WriteVariableWidthU16(0, 2);
- EXPECT_EQ("000""000""000", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "000"
+ "000"
+ "000",
+ writer.GetStreamRaw());
writer.WriteVariableWidthU8(0, 2);
- EXPECT_EQ("000""000""000""000", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "000"
+ "000"
+ "000"
+ "000",
+ writer.GetStreamRaw());
}
TEST(VariableWidthWrite, Write0S) {
BitWriterStringStream writer;
writer.WriteVariableWidthS64(0, 2, 0);
- EXPECT_EQ("000", writer.GetStreamRaw ());
+ EXPECT_EQ("000", writer.GetStreamRaw());
writer.WriteVariableWidthS32(0, 2, 0);
- EXPECT_EQ("000""000", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "000"
+ "000",
+ writer.GetStreamRaw());
writer.WriteVariableWidthS16(0, 2, 0);
- EXPECT_EQ("000""000""000", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "000"
+ "000"
+ "000",
+ writer.GetStreamRaw());
writer.WriteVariableWidthS8(0, 2, 0);
- EXPECT_EQ("000""000""000""000", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "000"
+ "000"
+ "000"
+ "000",
+ writer.GetStreamRaw());
}
TEST(VariableWidthWrite, WriteSmallUnsigned) {
BitWriterStringStream writer;
writer.WriteVariableWidthU64(1, 2);
- EXPECT_EQ("100", writer.GetStreamRaw ());
+ EXPECT_EQ("100", writer.GetStreamRaw());
writer.WriteVariableWidthU32(2, 2);
- EXPECT_EQ("100""010", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "100"
+ "010",
+ writer.GetStreamRaw());
writer.WriteVariableWidthU16(3, 2);
- EXPECT_EQ("100""010""110", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "100"
+ "010"
+ "110",
+ writer.GetStreamRaw());
writer.WriteVariableWidthU8(4, 2);
- EXPECT_EQ("100""010""110""001100", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "100"
+ "010"
+ "110"
+ "001100",
+ writer.GetStreamRaw());
}
TEST(VariableWidthWrite, WriteSmallSigned) {
BitWriterStringStream writer;
writer.WriteVariableWidthS64(1, 2, 0);
- EXPECT_EQ("010", writer.GetStreamRaw ());
+ EXPECT_EQ("010", writer.GetStreamRaw());
writer.WriteVariableWidthS64(-1, 2, 0);
- EXPECT_EQ("010""100", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "010"
+ "100",
+ writer.GetStreamRaw());
writer.WriteVariableWidthS16(3, 2, 0);
- EXPECT_EQ("010""100""011100", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "010"
+ "100"
+ "011100",
+ writer.GetStreamRaw());
writer.WriteVariableWidthS8(-4, 2, 0);
- EXPECT_EQ("010""100""011100""111100", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "010"
+ "100"
+ "011100"
+ "111100",
+ writer.GetStreamRaw());
}
TEST(VariableWidthWrite, U64Val127ChunkLength7) {
BitWriterStringStream writer;
writer.WriteVariableWidthU64(127, 7);
- EXPECT_EQ("1111111""0", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "1111111"
+ "0",
+ writer.GetStreamRaw());
}
TEST(VariableWidthWrite, U32Val255ChunkLength7) {
BitWriterStringStream writer;
writer.WriteVariableWidthU32(255, 7);
- EXPECT_EQ("1111111""1""1000000""0", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "1111111"
+ "1"
+ "1000000"
+ "0",
+ writer.GetStreamRaw());
}
TEST(VariableWidthWrite, U16Val2ChunkLength4) {
BitWriterStringStream writer;
writer.WriteVariableWidthU16(2, 4);
- EXPECT_EQ("0100""0", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "0100"
+ "0",
+ writer.GetStreamRaw());
}
TEST(VariableWidthWrite, U8Val128ChunkLength7) {
BitWriterStringStream writer;
writer.WriteVariableWidthU8(128, 7);
- EXPECT_EQ("0000000""1""1", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "0000000"
+ "1"
+ "1",
+ writer.GetStreamRaw());
}
TEST(VariableWidthWrite, U64ValAAAAChunkLength2) {
BitWriterStringStream writer;
writer.WriteVariableWidthU64(0xAAAA, 2);
- EXPECT_EQ("01""1""01""1""01""1""01""1"
- "01""1""01""1""01""1""01""0", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "01"
+ "1"
+ "01"
+ "1"
+ "01"
+ "1"
+ "01"
+ "1"
+ "01"
+ "1"
+ "01"
+ "1"
+ "01"
+ "1"
+ "01"
+ "0",
+ writer.GetStreamRaw());
}
TEST(VariableWidthWrite, S8ValM128ChunkLength7) {
BitWriterStringStream writer;
writer.WriteVariableWidthS8(-128, 7, 0);
- EXPECT_EQ("1111111""1""1", writer.GetStreamRaw());
+ EXPECT_EQ(
+ "1111111"
+ "1"
+ "1",
+ writer.GetStreamRaw());
}
TEST(VariableWidthRead, U64Val127ChunkLength7) {
- BitReaderFromString reader("1111111""0");
+ BitReaderFromString reader(
+ "1111111"
+ "0");
uint64_t val = 0;
ASSERT_TRUE(reader.ReadVariableWidthU64(&val, 7));
EXPECT_EQ(127u, val);
}
TEST(VariableWidthRead, U32Val255ChunkLength7) {
- BitReaderFromString reader("1111111""1""1000000""0");
+ BitReaderFromString reader(
+ "1111111"
+ "1"
+ "1000000"
+ "0");
uint32_t val = 0;
ASSERT_TRUE(reader.ReadVariableWidthU32(&val, 7));
EXPECT_EQ(255u, val);
}
TEST(VariableWidthRead, U16Val2ChunkLength4) {
- BitReaderFromString reader("0100""0");
+ BitReaderFromString reader(
+ "0100"
+ "0");
uint16_t val = 0;
ASSERT_TRUE(reader.ReadVariableWidthU16(&val, 4));
EXPECT_EQ(2u, val);
}
TEST(VariableWidthRead, U8Val128ChunkLength7) {
- BitReaderFromString reader("0000000""1""1");
+ BitReaderFromString reader(
+ "0000000"
+ "1"
+ "1");
uint8_t val = 0;
ASSERT_TRUE(reader.ReadVariableWidthU8(&val, 7));
EXPECT_EQ(128u, val);
}
TEST(VariableWidthRead, U64ValAAAAChunkLength2) {
- BitReaderFromString reader("01""1""01""1""01""1""01""1"
- "01""1""01""1""01""1""01""0");
+ BitReaderFromString reader(
+ "01"
+ "1"
+ "01"
+ "1"
+ "01"
+ "1"
+ "01"
+ "1"
+ "01"
+ "1"
+ "01"
+ "1"
+ "01"
+ "1"
+ "01"
+ "0");
uint64_t val = 0;
ASSERT_TRUE(reader.ReadVariableWidthU64(&val, 2));
EXPECT_EQ(0xAAAAu, val);
}
TEST(VariableWidthRead, S8ValM128ChunkLength7) {
- BitReaderFromString reader("1111111""1""1");
+ BitReaderFromString reader(
+ "1111111"
+ "1"
+ "1");
int8_t val = 0;
ASSERT_TRUE(reader.ReadVariableWidthS8(&val, 7, 0));
EXPECT_EQ(-128, val);
@@ -1086,8 +1205,8 @@ TEST(VariableWidthWriteRead, SingleWriteReadS64) {
BitReaderWord64 reader(writer.GetDataCopy());
int64_t read_val = 0;
- ASSERT_TRUE(reader.ReadVariableWidthS64(&read_val, chunk_length,
- zigzag_exponent));
+ ASSERT_TRUE(
+ reader.ReadVariableWidthS64(&read_val, chunk_length, zigzag_exponent));
ASSERT_EQ(val, read_val) << "Chunk length " << chunk_length;
}
@@ -1120,8 +1239,8 @@ TEST(VariableWidthWriteRead, SingleWriteReadS32) {
BitReaderWord64 reader(writer.GetDataCopy());
int32_t read_val = 0;
- ASSERT_TRUE(reader.ReadVariableWidthS32(
- &read_val, chunk_length, zigzag_exponent));
+ ASSERT_TRUE(
+ reader.ReadVariableWidthS32(&read_val, chunk_length, zigzag_exponent));
ASSERT_EQ(val, read_val) << "Chunk length " << chunk_length;
}
@@ -1154,8 +1273,8 @@ TEST(VariableWidthWriteRead, SingleWriteReadS16) {
BitReaderWord64 reader(writer.GetDataCopy());
int16_t read_val = 0;
- ASSERT_TRUE(reader.ReadVariableWidthS16(&read_val, chunk_length,
- zigzag_exponent));
+ ASSERT_TRUE(
+ reader.ReadVariableWidthS16(&read_val, chunk_length, zigzag_exponent));
ASSERT_EQ(val, read_val) << "Chunk length " << chunk_length;
}
@@ -1188,8 +1307,8 @@ TEST(VariableWidthWriteRead, SingleWriteReadS8) {
BitReaderWord64 reader(writer.GetDataCopy());
int8_t read_val = 0;
- ASSERT_TRUE(reader.ReadVariableWidthS8(&read_val, chunk_length,
- zigzag_exponent));
+ ASSERT_TRUE(
+ reader.ReadVariableWidthS8(&read_val, chunk_length, zigzag_exponent));
ASSERT_EQ(val, read_val) << "Chunk length " << chunk_length;
}
@@ -1207,7 +1326,7 @@ TEST(VariableWidthWriteRead, SmallNumbersChunkLength4) {
std::vector<uint64_t> actual_values;
BitReaderWord64 reader(writer.GetDataCopy());
- while(!reader.OnlyZeroesLeft()) {
+ while (!reader.OnlyZeroesLeft()) {
uint64_t val = 0;
ASSERT_TRUE(reader.ReadVariableWidthU64(&val, 4));
actual_values.push_back(val);
diff --git a/test/comp/markv_codec_test.cpp b/test/comp/markv_codec_test.cpp
index 1cb39da9..a313d6ee 100644
--- a/test/comp/markv_codec_test.cpp
+++ b/test/comp/markv_codec_test.cpp
@@ -27,8 +27,8 @@
namespace {
using libspirv::SetContextMessageConsumer;
-using spvtools::MarkvModelType;
using spvtest::ScopedContext;
+using spvtools::MarkvModelType;
using MarkvTest = ::testing::TestWithParam<MarkvModelType>;
void DiagnosticsMessageHandler(spv_message_level_t level, const char*,
@@ -38,8 +38,7 @@ void DiagnosticsMessageHandler(spv_message_level_t level, const char*,
case SPV_MSG_FATAL:
case SPV_MSG_INTERNAL_ERROR:
case SPV_MSG_ERROR:
- std::cerr << "error: " << position.index << ": " << message
- << std::endl;
+ std::cerr << "error: " << position.index << ": " << message << std::endl;
break;
case SPV_MSG_WARNING:
std::cout << "warning: " << position.index << ": " << message
@@ -61,18 +60,18 @@ void Compile(const std::string& code, std::vector<uint32_t>* words,
SetContextMessageConsumer(ctx.context, DiagnosticsMessageHandler);
spv_binary spirv_binary;
- ASSERT_EQ(SPV_SUCCESS, spvTextToBinaryWithOptions(
- ctx.context, code.c_str(), code.size(), options, &spirv_binary, nullptr));
+ ASSERT_EQ(SPV_SUCCESS,
+ spvTextToBinaryWithOptions(ctx.context, code.c_str(), code.size(),
+ options, &spirv_binary, nullptr));
- *words = std::vector<uint32_t>(
- spirv_binary->code, spirv_binary->code + spirv_binary->wordCount);
+ *words = std::vector<uint32_t>(spirv_binary->code,
+ spirv_binary->code + spirv_binary->wordCount);
spvBinaryDestroy(spirv_binary);
}
// Disassembles SPIR-V |words| to |out_text|.
-void Disassemble(const std::vector<uint32_t>& words,
- std::string* out_text,
+void Disassemble(const std::vector<uint32_t>& words, std::string* out_text,
spv_target_env env = SPV_ENV_UNIVERSAL_1_2) {
ScopedContext ctx(env);
SetContextMessageConsumer(ctx.context, DiagnosticsMessageHandler);
@@ -110,22 +109,21 @@ void TestEncodeDecode(MarkvModelType model_type,
std::stringstream encoder_comments;
const auto output_to_string_stream =
- [&encoder_comments](const std::string& str) {
- encoder_comments << str;
- };
+ [&encoder_comments](const std::string& str) { encoder_comments << str; };
std::vector<uint8_t> markv;
ASSERT_EQ(SPV_SUCCESS, spvtools::SpirvToMarkv(
- ctx.context, binary_to_encode, options, *model,
- DiagnosticsMessageHandler, output_to_string_stream,
- spvtools::MarkvDebugConsumer(), &markv));
+ ctx.context, binary_to_encode, options, *model,
+ DiagnosticsMessageHandler, output_to_string_stream,
+ spvtools::MarkvDebugConsumer(), &markv));
ASSERT_FALSE(markv.empty());
std::vector<uint32_t> decoded_binary;
- ASSERT_EQ(SPV_SUCCESS, spvtools::MarkvToSpirv(
- ctx.context, markv, options, *model,
- DiagnosticsMessageHandler, spvtools::MarkvLogConsumer(),
- spvtools::MarkvDebugConsumer(), &decoded_binary));
+ ASSERT_EQ(SPV_SUCCESS,
+ spvtools::MarkvToSpirv(
+ ctx.context, markv, options, *model, DiagnosticsMessageHandler,
+ spvtools::MarkvLogConsumer(), spvtools::MarkvDebugConsumer(),
+ &decoded_binary));
ASSERT_FALSE(decoded_binary.empty());
EXPECT_EQ(expected_binary, decoded_binary) << encoder_comments.str();
@@ -140,7 +138,7 @@ void TestEncodeDecode(MarkvModelType model_type,
void TestEncodeDecodeShaderMainBody(MarkvModelType model_type,
const std::string& body) {
const std::string prefix =
-R"(
+ R"(
OpCapability Shader
OpCapability Int64
OpCapability Float64
@@ -217,7 +215,7 @@ OpEntryPoint Fragment %main "main"
%main_entry = OpLabel)";
const std::string suffix =
-R"(
+ R"(
OpReturn
OpFunctionEnd)";
@@ -820,12 +818,11 @@ OpFunctionEnd
)");
}
-INSTANTIATE_TEST_CASE_P(
- AllMarkvModels, MarkvTest,
- ::testing::ValuesIn(std::vector<MarkvModelType>{
- spvtools::kMarkvModelShaderLite,
- spvtools::kMarkvModelShaderMid,
- spvtools::kMarkvModelShaderMax,
- }),);
+INSTANTIATE_TEST_CASE_P(AllMarkvModels, MarkvTest,
+ ::testing::ValuesIn(std::vector<MarkvModelType>{
+ spvtools::kMarkvModelShaderLite,
+ spvtools::kMarkvModelShaderMid,
+ spvtools::kMarkvModelShaderMax,
+ }), );
} // namespace
diff --git a/test/diagnostic_test.cpp b/test/diagnostic_test.cpp
index f0237304..8b8dbbe3 100644
--- a/test/diagnostic_test.cpp
+++ b/test/diagnostic_test.cpp
@@ -80,7 +80,9 @@ TEST(DiagnosticStream, ConversionToResultType) {
spv_result_t(DiagnosticStream({}, nullptr, SPV_FAILED_MATCH)));
}
-TEST(DiagnosticStream, MoveConstructorPreservesPreviousMessagesAndPreventsOutputFromExpiringValue) {
+TEST(
+ DiagnosticStream,
+ MoveConstructorPreservesPreviousMessagesAndPreventsOutputFromExpiringValue) {
std::ostringstream messages;
int message_count = 0;
auto consumer = [&messages, &message_count](spv_message_level_t, const char*,
diff --git a/test/enum_set_test.cpp b/test/enum_set_test.cpp
index 86207fee..81671e63 100644
--- a/test/enum_set_test.cpp
+++ b/test/enum_set_test.cpp
@@ -20,8 +20,8 @@
namespace {
-using libspirv::EnumSet;
using libspirv::CapabilitySet;
+using libspirv::EnumSet;
using spvtest::ElementsIn;
using ::testing::Eq;
using ::testing::ValuesIn;
diff --git a/test/enum_string_mapping_test.cpp b/test/enum_string_mapping_test.cpp
index 265a4836..01d32274 100644
--- a/test/enum_string_mapping_test.cpp
+++ b/test/enum_string_mapping_test.cpp
@@ -27,16 +27,19 @@ using ::libspirv::Extension;
using ::testing::Values;
using ::testing::ValuesIn;
-using ExtensionTest = ::testing::TestWithParam<std::pair<Extension, std::string>>;
+using ExtensionTest =
+ ::testing::TestWithParam<std::pair<Extension, std::string>>;
using UnknownExtensionTest = ::testing::TestWithParam<std::string>;
-using CapabilityTest = ::testing::TestWithParam<std::pair<SpvCapability, std::string>>;
+using CapabilityTest =
+ ::testing::TestWithParam<std::pair<SpvCapability, std::string>>;
TEST_P(ExtensionTest, TestExtensionFromString) {
const std::pair<Extension, std::string>& param = GetParam();
const Extension extension = param.first;
const std::string extension_str = param.second;
Extension result_extension;
- ASSERT_TRUE(libspirv::GetExtensionFromString(extension_str, &result_extension));
+ ASSERT_TRUE(
+ libspirv::GetExtensionFromString(extension_str, &result_extension));
EXPECT_EQ(extension, result_extension);
}
@@ -61,196 +64,124 @@ TEST_P(CapabilityTest, TestCapabilityToString) {
EXPECT_EQ(capability_str, result_str);
}
-INSTANTIATE_TEST_CASE_P(AllExtensions, ExtensionTest,
- ValuesIn(std::vector<std::pair<Extension, std::string>>({
- {Extension::kSPV_KHR_16bit_storage,
- "SPV_KHR_16bit_storage"},
- {Extension::kSPV_KHR_device_group,
- "SPV_KHR_device_group"},
- {Extension::kSPV_KHR_multiview,
- "SPV_KHR_multiview"},
- {Extension::kSPV_KHR_shader_ballot,
- "SPV_KHR_shader_ballot"},
- {Extension::kSPV_KHR_shader_draw_parameters,
- "SPV_KHR_shader_draw_parameters"},
- {Extension::kSPV_KHR_subgroup_vote,
- "SPV_KHR_subgroup_vote"},
- {Extension::kSPV_NVX_multiview_per_view_attributes,
- "SPV_NVX_multiview_per_view_attributes"},
- {Extension::kSPV_NV_geometry_shader_passthrough,
- "SPV_NV_geometry_shader_passthrough"},
- {Extension::kSPV_NV_sample_mask_override_coverage,
- "SPV_NV_sample_mask_override_coverage"},
- {Extension::kSPV_NV_stereo_view_rendering,
- "SPV_NV_stereo_view_rendering"},
- {Extension::kSPV_NV_viewport_array2,
- "SPV_NV_viewport_array2"}
- })));
+INSTANTIATE_TEST_CASE_P(
+ AllExtensions, ExtensionTest,
+ ValuesIn(std::vector<std::pair<Extension, std::string>>(
+ {{Extension::kSPV_KHR_16bit_storage, "SPV_KHR_16bit_storage"},
+ {Extension::kSPV_KHR_device_group, "SPV_KHR_device_group"},
+ {Extension::kSPV_KHR_multiview, "SPV_KHR_multiview"},
+ {Extension::kSPV_KHR_shader_ballot, "SPV_KHR_shader_ballot"},
+ {Extension::kSPV_KHR_shader_draw_parameters,
+ "SPV_KHR_shader_draw_parameters"},
+ {Extension::kSPV_KHR_subgroup_vote, "SPV_KHR_subgroup_vote"},
+ {Extension::kSPV_NVX_multiview_per_view_attributes,
+ "SPV_NVX_multiview_per_view_attributes"},
+ {Extension::kSPV_NV_geometry_shader_passthrough,
+ "SPV_NV_geometry_shader_passthrough"},
+ {Extension::kSPV_NV_sample_mask_override_coverage,
+ "SPV_NV_sample_mask_override_coverage"},
+ {Extension::kSPV_NV_stereo_view_rendering,
+ "SPV_NV_stereo_view_rendering"},
+ {Extension::kSPV_NV_viewport_array2, "SPV_NV_viewport_array2"}})));
-INSTANTIATE_TEST_CASE_P(UnknownExtensions, UnknownExtensionTest, Values(
- "",
- "SPV_KHR_",
- "SPV_KHR_device_group_ERROR",
- "SPV_ERROR_random_string_hfsdklhlktherh"
- ));
+INSTANTIATE_TEST_CASE_P(UnknownExtensions, UnknownExtensionTest,
+ Values("", "SPV_KHR_", "SPV_KHR_device_group_ERROR",
+ "SPV_ERROR_random_string_hfsdklhlktherh"));
-INSTANTIATE_TEST_CASE_P(AllCapabilities, CapabilityTest,
- ValuesIn(std::vector<std::pair<SpvCapability, std::string>>({
- {SpvCapabilityMatrix,
- "Matrix"},
- {SpvCapabilityShader,
- "Shader"},
- {SpvCapabilityGeometry,
- "Geometry"},
- {SpvCapabilityTessellation,
- "Tessellation"},
- {SpvCapabilityAddresses,
- "Addresses"},
- {SpvCapabilityLinkage,
- "Linkage"},
- {SpvCapabilityKernel,
- "Kernel"},
- {SpvCapabilityVector16,
- "Vector16"},
- {SpvCapabilityFloat16Buffer,
- "Float16Buffer"},
- {SpvCapabilityFloat16,
- "Float16"},
- {SpvCapabilityFloat64,
- "Float64"},
- {SpvCapabilityInt64,
- "Int64"},
- {SpvCapabilityInt64Atomics,
- "Int64Atomics"},
- {SpvCapabilityImageBasic,
- "ImageBasic"},
- {SpvCapabilityImageReadWrite,
- "ImageReadWrite"},
- {SpvCapabilityImageMipmap,
- "ImageMipmap"},
- {SpvCapabilityPipes,
- "Pipes"},
- {SpvCapabilityGroups,
- "Groups"},
- {SpvCapabilityDeviceEnqueue,
- "DeviceEnqueue"},
- {SpvCapabilityLiteralSampler,
- "LiteralSampler"},
- {SpvCapabilityAtomicStorage,
- "AtomicStorage"},
- {SpvCapabilityInt16,
- "Int16"},
- {SpvCapabilityTessellationPointSize,
- "TessellationPointSize"},
- {SpvCapabilityGeometryPointSize,
- "GeometryPointSize"},
- {SpvCapabilityImageGatherExtended,
- "ImageGatherExtended"},
- {SpvCapabilityStorageImageMultisample,
- "StorageImageMultisample"},
- {SpvCapabilityUniformBufferArrayDynamicIndexing,
- "UniformBufferArrayDynamicIndexing"},
- {SpvCapabilitySampledImageArrayDynamicIndexing,
- "SampledImageArrayDynamicIndexing"},
- {SpvCapabilityStorageBufferArrayDynamicIndexing,
- "StorageBufferArrayDynamicIndexing"},
- {SpvCapabilityStorageImageArrayDynamicIndexing,
- "StorageImageArrayDynamicIndexing"},
- {SpvCapabilityClipDistance,
- "ClipDistance"},
- {SpvCapabilityCullDistance,
- "CullDistance"},
- {SpvCapabilityImageCubeArray,
- "ImageCubeArray"},
- {SpvCapabilitySampleRateShading,
- "SampleRateShading"},
- {SpvCapabilityImageRect,
- "ImageRect"},
- {SpvCapabilitySampledRect,
- "SampledRect"},
- {SpvCapabilityGenericPointer,
- "GenericPointer"},
- {SpvCapabilityInt8,
- "Int8"},
- {SpvCapabilityInputAttachment,
- "InputAttachment"},
- {SpvCapabilitySparseResidency,
- "SparseResidency"},
- {SpvCapabilityMinLod,
- "MinLod"},
- {SpvCapabilitySampled1D,
- "Sampled1D"},
- {SpvCapabilityImage1D,
- "Image1D"},
- {SpvCapabilitySampledCubeArray,
- "SampledCubeArray"},
- {SpvCapabilitySampledBuffer,
- "SampledBuffer"},
- {SpvCapabilityImageBuffer,
- "ImageBuffer"},
- {SpvCapabilityImageMSArray,
- "ImageMSArray"},
- {SpvCapabilityStorageImageExtendedFormats,
- "StorageImageExtendedFormats"},
- {SpvCapabilityImageQuery,
- "ImageQuery"},
- {SpvCapabilityDerivativeControl,
- "DerivativeControl"},
- {SpvCapabilityInterpolationFunction,
- "InterpolationFunction"},
- {SpvCapabilityTransformFeedback,
- "TransformFeedback"},
- {SpvCapabilityGeometryStreams,
- "GeometryStreams"},
- {SpvCapabilityStorageImageReadWithoutFormat,
- "StorageImageReadWithoutFormat"},
- {SpvCapabilityStorageImageWriteWithoutFormat,
- "StorageImageWriteWithoutFormat"},
- {SpvCapabilityMultiViewport,
- "MultiViewport"},
- {SpvCapabilitySubgroupDispatch,
- "SubgroupDispatch"},
- {SpvCapabilityNamedBarrier,
- "NamedBarrier"},
- {SpvCapabilityPipeStorage,
- "PipeStorage"},
- {SpvCapabilitySubgroupBallotKHR,
- "SubgroupBallotKHR"},
- {SpvCapabilityDrawParameters,
- "DrawParameters"},
- {SpvCapabilitySubgroupVoteKHR,
- "SubgroupVoteKHR"},
- {SpvCapabilityStorageBuffer16BitAccess,
- "StorageBuffer16BitAccess"},
- {SpvCapabilityStorageUniformBufferBlock16,
- "StorageBuffer16BitAccess"}, // Preferred name
- {SpvCapabilityUniformAndStorageBuffer16BitAccess,
- "UniformAndStorageBuffer16BitAccess"},
- {SpvCapabilityStorageUniform16,
- "UniformAndStorageBuffer16BitAccess"}, // Preferred name
- {SpvCapabilityStoragePushConstant16,
- "StoragePushConstant16"},
- {SpvCapabilityStorageInputOutput16,
- "StorageInputOutput16"},
- {SpvCapabilityDeviceGroup,
- "DeviceGroup"},
- {SpvCapabilityMultiView,
- "MultiView"},
- {SpvCapabilitySampleMaskOverrideCoverageNV,
- "SampleMaskOverrideCoverageNV"},
- {SpvCapabilityGeometryShaderPassthroughNV,
- "GeometryShaderPassthroughNV"},
- // The next two are different names for the same token.
- {SpvCapabilityShaderViewportIndexLayerNV,
- "ShaderViewportIndexLayerEXT"},
- {SpvCapabilityShaderViewportIndexLayerEXT,
- "ShaderViewportIndexLayerEXT"},
- {SpvCapabilityShaderViewportMaskNV,
- "ShaderViewportMaskNV"},
- {SpvCapabilityShaderStereoViewNV,
- "ShaderStereoViewNV"},
- {SpvCapabilityPerViewAttributesNV,
- "PerViewAttributesNV"}
- })), );
+INSTANTIATE_TEST_CASE_P(
+ AllCapabilities, CapabilityTest,
+ ValuesIn(std::vector<std::pair<SpvCapability, std::string>>(
+ {{SpvCapabilityMatrix, "Matrix"},
+ {SpvCapabilityShader, "Shader"},
+ {SpvCapabilityGeometry, "Geometry"},
+ {SpvCapabilityTessellation, "Tessellation"},
+ {SpvCapabilityAddresses, "Addresses"},
+ {SpvCapabilityLinkage, "Linkage"},
+ {SpvCapabilityKernel, "Kernel"},
+ {SpvCapabilityVector16, "Vector16"},
+ {SpvCapabilityFloat16Buffer, "Float16Buffer"},
+ {SpvCapabilityFloat16, "Float16"},
+ {SpvCapabilityFloat64, "Float64"},
+ {SpvCapabilityInt64, "Int64"},
+ {SpvCapabilityInt64Atomics, "Int64Atomics"},
+ {SpvCapabilityImageBasic, "ImageBasic"},
+ {SpvCapabilityImageReadWrite, "ImageReadWrite"},
+ {SpvCapabilityImageMipmap, "ImageMipmap"},
+ {SpvCapabilityPipes, "Pipes"},
+ {SpvCapabilityGroups, "Groups"},
+ {SpvCapabilityDeviceEnqueue, "DeviceEnqueue"},
+ {SpvCapabilityLiteralSampler, "LiteralSampler"},
+ {SpvCapabilityAtomicStorage, "AtomicStorage"},
+ {SpvCapabilityInt16, "Int16"},
+ {SpvCapabilityTessellationPointSize, "TessellationPointSize"},
+ {SpvCapabilityGeometryPointSize, "GeometryPointSize"},
+ {SpvCapabilityImageGatherExtended, "ImageGatherExtended"},
+ {SpvCapabilityStorageImageMultisample, "StorageImageMultisample"},
+ {SpvCapabilityUniformBufferArrayDynamicIndexing,
+ "UniformBufferArrayDynamicIndexing"},
+ {SpvCapabilitySampledImageArrayDynamicIndexing,
+ "SampledImageArrayDynamicIndexing"},
+ {SpvCapabilityStorageBufferArrayDynamicIndexing,
+ "StorageBufferArrayDynamicIndexing"},
+ {SpvCapabilityStorageImageArrayDynamicIndexing,
+ "StorageImageArrayDynamicIndexing"},
+ {SpvCapabilityClipDistance, "ClipDistance"},
+ {SpvCapabilityCullDistance, "CullDistance"},
+ {SpvCapabilityImageCubeArray, "ImageCubeArray"},
+ {SpvCapabilitySampleRateShading, "SampleRateShading"},
+ {SpvCapabilityImageRect, "ImageRect"},
+ {SpvCapabilitySampledRect, "SampledRect"},
+ {SpvCapabilityGenericPointer, "GenericPointer"},
+ {SpvCapabilityInt8, "Int8"},
+ {SpvCapabilityInputAttachment, "InputAttachment"},
+ {SpvCapabilitySparseResidency, "SparseResidency"},
+ {SpvCapabilityMinLod, "MinLod"},
+ {SpvCapabilitySampled1D, "Sampled1D"},
+ {SpvCapabilityImage1D, "Image1D"},
+ {SpvCapabilitySampledCubeArray, "SampledCubeArray"},
+ {SpvCapabilitySampledBuffer, "SampledBuffer"},
+ {SpvCapabilityImageBuffer, "ImageBuffer"},
+ {SpvCapabilityImageMSArray, "ImageMSArray"},
+ {SpvCapabilityStorageImageExtendedFormats,
+ "StorageImageExtendedFormats"},
+ {SpvCapabilityImageQuery, "ImageQuery"},
+ {SpvCapabilityDerivativeControl, "DerivativeControl"},
+ {SpvCapabilityInterpolationFunction, "InterpolationFunction"},
+ {SpvCapabilityTransformFeedback, "TransformFeedback"},
+ {SpvCapabilityGeometryStreams, "GeometryStreams"},
+ {SpvCapabilityStorageImageReadWithoutFormat,
+ "StorageImageReadWithoutFormat"},
+ {SpvCapabilityStorageImageWriteWithoutFormat,
+ "StorageImageWriteWithoutFormat"},
+ {SpvCapabilityMultiViewport, "MultiViewport"},
+ {SpvCapabilitySubgroupDispatch, "SubgroupDispatch"},
+ {SpvCapabilityNamedBarrier, "NamedBarrier"},
+ {SpvCapabilityPipeStorage, "PipeStorage"},
+ {SpvCapabilitySubgroupBallotKHR, "SubgroupBallotKHR"},
+ {SpvCapabilityDrawParameters, "DrawParameters"},
+ {SpvCapabilitySubgroupVoteKHR, "SubgroupVoteKHR"},
+ {SpvCapabilityStorageBuffer16BitAccess, "StorageBuffer16BitAccess"},
+ {SpvCapabilityStorageUniformBufferBlock16,
+ "StorageBuffer16BitAccess"}, // Preferred name
+ {SpvCapabilityUniformAndStorageBuffer16BitAccess,
+ "UniformAndStorageBuffer16BitAccess"},
+ {SpvCapabilityStorageUniform16,
+ "UniformAndStorageBuffer16BitAccess"}, // Preferred name
+ {SpvCapabilityStoragePushConstant16, "StoragePushConstant16"},
+ {SpvCapabilityStorageInputOutput16, "StorageInputOutput16"},
+ {SpvCapabilityDeviceGroup, "DeviceGroup"},
+ {SpvCapabilityMultiView, "MultiView"},
+ {SpvCapabilitySampleMaskOverrideCoverageNV,
+ "SampleMaskOverrideCoverageNV"},
+ {SpvCapabilityGeometryShaderPassthroughNV,
+ "GeometryShaderPassthroughNV"},
+ // The next two are different names for the same token.
+ {SpvCapabilityShaderViewportIndexLayerNV,
+ "ShaderViewportIndexLayerEXT"},
+ {SpvCapabilityShaderViewportIndexLayerEXT,
+ "ShaderViewportIndexLayerEXT"},
+ {SpvCapabilityShaderViewportMaskNV, "ShaderViewportMaskNV"},
+ {SpvCapabilityShaderStereoViewNV, "ShaderStereoViewNV"},
+ {SpvCapabilityPerViewAttributesNV, "PerViewAttributesNV"}})), );
} // anonymous namespace
diff --git a/test/ext_inst.glsl_test.cpp b/test/ext_inst.glsl_test.cpp
index 8502cfdb..e1da2f95 100644
--- a/test/ext_inst.glsl_test.cpp
+++ b/test/ext_inst.glsl_test.cpp
@@ -15,8 +15,8 @@
#include <algorithm>
#include <vector>
-#include "unit_spirv.h"
#include "spirv/1.0/GLSL.std.450.h"
+#include "unit_spirv.h"
namespace {
diff --git a/test/ext_inst.opencl_test.cpp b/test/ext_inst.opencl_test.cpp
index 36854153..af739f6d 100644
--- a/test/ext_inst.opencl_test.cpp
+++ b/test/ext_inst.opencl_test.cpp
@@ -15,8 +15,8 @@
#include "unit_spirv.h"
#include <gmock/gmock.h>
-#include "test_fixture.h"
#include "spirv/1.0/OpenCL.std.h"
+#include "test_fixture.h"
namespace {
diff --git a/test/generator_magic_number_test.cpp b/test/generator_magic_number_test.cpp
index c78c7b0e..c8802289 100644
--- a/test/generator_magic_number_test.cpp
+++ b/test/generator_magic_number_test.cpp
@@ -44,7 +44,7 @@ INSTANTIATE_TEST_CASE_P(
"Khronos LLVM/SPIR-V Translator"},
{SPV_GENERATOR_KHRONOS_ASSEMBLER, "Khronos SPIR-V Tools Assembler"},
{SPV_GENERATOR_KHRONOS_GLSLANG, "Khronos Glslang Reference Front End"},
- }),);
+ }), );
INSTANTIATE_TEST_CASE_P(
Unregistered, GeneratorMagicNumberTest,
@@ -53,5 +53,5 @@ INSTANTIATE_TEST_CASE_P(
// which can change over time.
{spv_generator_t(1000), "Unknown"},
{spv_generator_t(9999), "Unknown"},
- }),);
+ }), );
} // anonymous namespace
diff --git a/test/hex_float_test.cpp b/test/hex_float_test.cpp
index 33933df9..c537a28f 100644
--- a/test/hex_float_test.cpp
+++ b/test/hex_float_test.cpp
@@ -25,12 +25,12 @@
#include "unit_spirv.h"
namespace {
-using ::testing::Eq;
using spvutils::BitwiseCast;
using spvutils::Float16;
using spvutils::FloatProxy;
using spvutils::HexFloat;
using spvutils::ParseNormalFloat;
+using ::testing::Eq;
// In this file "encode" means converting a number into a string,
// and "decode" means converting a string into a number.
@@ -129,7 +129,7 @@ INSTANTIATE_TEST_CASE_P(
{float(ldexp(1.0, -127) / 2.0 + (ldexp(1.0, -127) / 4.0f)),
"0x1.8p-128"},
- })),);
+ })), );
INSTANTIATE_TEST_CASE_P(
Float32NanTests, HexFloatTest,
@@ -147,7 +147,7 @@ INSTANTIATE_TEST_CASE_P(
{uint32_t(0x7f800c00), "0x1.0018p+128"}, // +nan
{uint32_t(0x7F80F000), "0x1.01ep+128"}, // +nan
{uint32_t(0x7FFFFFFF), "0x1.fffffep+128"}, // +nan
- })),);
+ })), );
INSTANTIATE_TEST_CASE_P(
Float64Tests, HexDoubleTest,
@@ -220,7 +220,7 @@ INSTANTIATE_TEST_CASE_P(
{ldexp(1.0, -1023) / 2.0 + (ldexp(1.0, -1023) / 4.0),
"0x1.8p-1024"},
- })),);
+ })), );
INSTANTIATE_TEST_CASE_P(
Float64NanTests, HexDoubleTest,
@@ -239,7 +239,7 @@ INSTANTIATE_TEST_CASE_P(
{uint64_t(0x7FF0000000000001LL), "0x1.0000000000001p+1024"}, // -nan
{uint64_t(0x7FF0000300000000LL), "0x1.00003p+1024"}, // -nan
{uint64_t(0x7FFFFFFFFFFFFFFFLL), "0x1.fffffffffffffp+1024"}, // -nan
- })),);
+ })), );
TEST(HexFloatStreamTest, OperatorLeftShiftPreservesFloatAndFill) {
std::stringstream s;
@@ -284,7 +284,7 @@ INSTANTIATE_TEST_CASE_P(
{"0xFFp+0", 255.f},
{"0x0.8p+0", 0.5f},
{"0x0.4p+0", 0.25f},
- })),);
+ })), );
INSTANTIATE_TEST_CASE_P(
Float32DecodeInfTests, DecodeHexFloatTest,
@@ -294,7 +294,7 @@ INSTANTIATE_TEST_CASE_P(
{"0x32p+127", uint32_t(0x7F800000)}, // inf
{"0x32p+500", uint32_t(0x7F800000)}, // inf
{"-0x32p+127", uint32_t(0xFF800000)}, // -inf
- })),);
+ })), );
INSTANTIATE_TEST_CASE_P(
Float64DecodeTests, DecodeHexDoubleTest,
@@ -317,7 +317,7 @@ INSTANTIATE_TEST_CASE_P(
{"0xFFp+0", 255.},
{"0x0.8p+0", 0.5},
{"0x0.4p+0", 0.25},
- })),);
+ })), );
INSTANTIATE_TEST_CASE_P(
Float64DecodeInfTests, DecodeHexDoubleTest,
@@ -328,7 +328,7 @@ INSTANTIATE_TEST_CASE_P(
{"0x32p+1023", uint64_t(0x7FF0000000000000)}, // inf
{"0x32p+5000", uint64_t(0x7FF0000000000000)}, // inf
{"-0x32p+1023", uint64_t(0xFFF0000000000000)}, // -inf
- })),);
+ })), );
TEST(FloatProxy, ValidConversion) {
EXPECT_THAT(FloatProxy<float>(1.f).getAsFloat(), Eq(1.0f));
@@ -497,7 +497,7 @@ INSTANTIATE_TEST_CASE_P(
{std::numeric_limits<float>::infinity(), "0x1p+128"},
{-std::numeric_limits<float>::infinity(), "-0x1p+128"},
- })),);
+ })), );
INSTANTIATE_TEST_CASE_P(
Float64Tests, FloatProxyDoubleTest,
@@ -534,13 +534,13 @@ INSTANTIATE_TEST_CASE_P(
{std::numeric_limits<double>::infinity(), "0x1p+1024"},
{-std::numeric_limits<double>::infinity(), "-0x1p+1024"},
- })),);
+ })), );
// double is used so that unbiased_exponent can be used with the output
// of ldexp directly.
int32_t unbiased_exponent(double f) {
- return spvutils::HexFloat<spvutils::FloatProxy<float>>(
- static_cast<float>(f)).getUnbiasedNormalizedExponent();
+ return spvutils::HexFloat<spvutils::FloatProxy<float>>(static_cast<float>(f))
+ .getUnbiasedNormalizedExponent();
}
int16_t unbiased_half_exponent(uint16_t f) {
@@ -558,7 +558,7 @@ TEST(HexFloatOperationTest, UnbiasedExponent) {
EXPECT_EQ(128, unbiased_exponent(ldexp(1.0f, 256)));
EXPECT_EQ(-100, unbiased_exponent(ldexp(1.0f, -100)));
- EXPECT_EQ(-127, unbiased_exponent(ldexp(1.0f, -127))); // First denorm
+ EXPECT_EQ(-127, unbiased_exponent(ldexp(1.0f, -127))); // First denorm
EXPECT_EQ(-128, unbiased_exponent(ldexp(1.0f, -128)));
EXPECT_EQ(-129, unbiased_exponent(ldexp(1.0f, -129)));
EXPECT_EQ(-140, unbiased_exponent(ldexp(1.0f, -140)));
@@ -584,7 +584,7 @@ TEST(HexFloatOperationTest, UnbiasedExponent) {
// Creates a float that is the sum of 1/(2 ^ fractions[i]) for i in factions
float float_fractions(const std::vector<uint32_t>& fractions) {
float f = 0;
- for(int32_t i: fractions) {
+ for (int32_t i : fractions) {
f += std::ldexp(1.0f, -i);
}
return f;
@@ -593,7 +593,8 @@ float float_fractions(const std::vector<uint32_t>& fractions) {
// Returns the normalized significand of a HexFloat<FloatProxy<float>>
// that was created by calling float_fractions with the input fractions,
// raised to the power of exp.
-uint32_t normalized_significand(const std::vector<uint32_t>& fractions, uint32_t exp) {
+uint32_t normalized_significand(const std::vector<uint32_t>& fractions,
+ uint32_t exp) {
return spvutils::HexFloat<spvutils::FloatProxy<float>>(
static_cast<float>(ldexp(float_fractions(fractions), exp)))
.getNormalizedSignificand();
@@ -604,8 +605,8 @@ uint32_t normalized_significand(const std::vector<uint32_t>& fractions, uint32_t
// and 1 would set the 22nd bit.
uint32_t bits_set(const std::vector<uint32_t>& bits) {
const uint32_t top_bit = 1u << 22u;
- uint32_t val= 0;
- for(uint32_t i: bits) {
+ uint32_t val = 0;
+ for (uint32_t i : bits) {
val |= top_bit >> i;
}
return val;
@@ -615,8 +616,8 @@ uint32_t bits_set(const std::vector<uint32_t>& bits) {
// point.
uint16_t half_bits_set(const std::vector<uint32_t>& bits) {
const uint32_t top_bit = 1u << 9u;
- uint32_t val= 0;
- for(uint32_t i: bits) {
+ uint32_t val = 0;
+ for (uint32_t i : bits) {
val |= top_bit >> i;
}
return static_cast<uint16_t>(val);
@@ -646,8 +647,8 @@ TEST(HexFloatOperationTest, NormalizedSignificand) {
// calling setFromSignUnbiasedExponentAndNormalizedSignificand
// on a HexFloat<FloatProxy<float>>
float set_from_sign(bool negative, int32_t unbiased_exponent,
- uint32_t significand, bool round_denorm_up) {
- spvutils::HexFloat<spvutils::FloatProxy<float>> f(0.f);
+ uint32_t significand, bool round_denorm_up) {
+ spvutils::HexFloat<spvutils::FloatProxy<float>> f(0.f);
f.setFromSignUnbiasedExponentAndNormalizedSignificand(
negative, unbiased_exponent, significand, round_denorm_up);
return f.value().getAsFloat();
@@ -655,14 +656,16 @@ float set_from_sign(bool negative, int32_t unbiased_exponent,
TEST(HexFloatOperationTests,
SetFromSignUnbiasedExponentAndNormalizedSignificand) {
-
EXPECT_EQ(1.f, set_from_sign(false, 0, 0, false));
// Tests insertion of various denormalized numbers with and without round up.
- EXPECT_EQ(static_cast<float>(ldexp(1.f, -149)), set_from_sign(false, -149, 0, false));
- EXPECT_EQ(static_cast<float>(ldexp(1.f, -149)), set_from_sign(false, -149, 0, true));
+ EXPECT_EQ(static_cast<float>(ldexp(1.f, -149)),
+ set_from_sign(false, -149, 0, false));
+ EXPECT_EQ(static_cast<float>(ldexp(1.f, -149)),
+ set_from_sign(false, -149, 0, true));
EXPECT_EQ(0.f, set_from_sign(false, -150, 1, false));
- EXPECT_EQ(static_cast<float>(ldexp(1.f, -149)), set_from_sign(false, -150, 1, true));
+ EXPECT_EQ(static_cast<float>(ldexp(1.f, -149)),
+ set_from_sign(false, -150, 1, true));
EXPECT_EQ(ldexp(1.0f, -127), set_from_sign(false, -127, 0, false));
EXPECT_EQ(ldexp(1.0f, -128), set_from_sign(false, -128, 0, false));
@@ -699,8 +702,8 @@ TEST(HexFloatOperationTests, NonRounding) {
// Everything fits, so this should be straight-forward
for (spvutils::round_direction round : rounding) {
- EXPECT_EQ(bits_set({}), HF(0.f).getRoundedNormalizedSignificand<HF>(
- round, &carry_bit));
+ EXPECT_EQ(bits_set({}),
+ HF(0.f).getRoundedNormalizedSignificand<HF>(round, &carry_bit));
EXPECT_FALSE(carry_bit);
EXPECT_EQ(bits_set({0}),
@@ -719,10 +722,9 @@ TEST(HexFloatOperationTests, NonRounding) {
.getRoundedNormalizedSignificand<HF>(round, &carry_bit));
EXPECT_FALSE(carry_bit);
- EXPECT_EQ(
- bits_set({0, 1, 4, 22}),
- HF(static_cast<float>(float_fractions({0, 1, 2, 5, 23})))
- .getRoundedNormalizedSignificand<HF>(round, &carry_bit));
+ EXPECT_EQ(bits_set({0, 1, 4, 22}),
+ HF(static_cast<float>(float_fractions({0, 1, 2, 5, 23})))
+ .getRoundedNormalizedSignificand<HF>(round, &carry_bit));
EXPECT_FALSE(carry_bit);
}
}
@@ -734,8 +736,7 @@ struct RoundSignificandCase {
spvutils::round_direction round;
};
-using HexFloatRoundTest =
- ::testing::TestWithParam<RoundSignificandCase>;
+using HexFloatRoundTest = ::testing::TestWithParam<RoundSignificandCase>;
TEST_P(HexFloatRoundTest, RoundDownToFP16) {
using HF = spvutils::HexFloat<spvutils::FloatProxy<float>>;
@@ -744,8 +745,8 @@ TEST_P(HexFloatRoundTest, RoundDownToFP16) {
HF input_value(GetParam().source_float);
bool carry_bit = false;
EXPECT_EQ(GetParam().expected_results.first,
- input_value.getRoundedNormalizedSignificand<HF16>(
- GetParam().round, &carry_bit));
+ input_value.getRoundedNormalizedSignificand<HF16>(GetParam().round,
+ &carry_bit));
EXPECT_EQ(carry_bit, GetParam().expected_results.second);
}
@@ -831,16 +832,16 @@ TEST_P(HexFloatRoundUpSignificandTest, Widening) {
}
}
-INSTANTIATE_TEST_CASE_P(F16toF32, HexFloatRoundUpSignificandTest,
- // 0xFC00 of the source 16-bit hex value cover the sign and the exponent.
- // They are ignored for this test.
- ::testing::ValuesIn(std::vector<UpCastSignificandCase>(
- {
- {0x3F00, 0x600000},
- {0x0F00, 0x600000},
- {0x0F01, 0x602000},
- {0x0FFF, 0x7FE000},
- })),);
+INSTANTIATE_TEST_CASE_P(
+ F16toF32, HexFloatRoundUpSignificandTest,
+ // 0xFC00 of the source 16-bit hex value cover the sign and the exponent.
+ // They are ignored for this test.
+ ::testing::ValuesIn(std::vector<UpCastSignificandCase>({
+ {0x3F00, 0x600000},
+ {0x0F00, 0x600000},
+ {0x0F01, 0x602000},
+ {0x0FFF, 0x7FE000},
+ })), );
struct DownCastTest {
float source_float;
@@ -850,7 +851,7 @@ struct DownCastTest {
std::string get_round_text(spvutils::round_direction direction) {
#define CASE(round_direction) \
- case round_direction: \
+ case round_direction: \
return #round_direction
switch (direction) {
@@ -882,44 +883,100 @@ TEST_P(HexFloatFP32To16Tests, NarrowingCasts) {
const uint16_t positive_infinity = 0x7C00;
const uint16_t negative_infinity = 0xFC00;
-INSTANTIATE_TEST_CASE_P(F32ToF16, HexFloatFP32To16Tests,
- ::testing::ValuesIn(std::vector<DownCastTest>(
- {
- // Exactly representable as half.
- {0.f, 0x0, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {-0.f, 0x8000, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {1.0f, 0x3C00, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {-1.0f, 0xBC00, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
-
- {float_fractions({0, 1, 10}) , 0x3E01, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {-float_fractions({0, 1, 10}) , 0xBE01, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {static_cast<float>(ldexp(float_fractions({0, 1, 10}), 3)), 0x4A01, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {static_cast<float>(-ldexp(float_fractions({0, 1, 10}), 3)), 0xCA01, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
-
-
- // Underflow
- {static_cast<float>(ldexp(1.0f, -25)), 0x0, {RD::kToZero, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {static_cast<float>(ldexp(1.0f, -25)), 0x1, {RD::kToPositiveInfinity}},
- {static_cast<float>(-ldexp(1.0f, -25)), 0x8000, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNearestEven}},
- {static_cast<float>(-ldexp(1.0f, -25)), 0x8001, {RD::kToNegativeInfinity}},
- {static_cast<float>(ldexp(1.0f, -24)), 0x1, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
-
- // Overflow
- {static_cast<float>(ldexp(1.0f, 16)), positive_infinity, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {static_cast<float>(ldexp(1.0f, 18)), positive_infinity, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {static_cast<float>(ldexp(1.3f, 16)), positive_infinity, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {static_cast<float>(-ldexp(1.0f, 16)), negative_infinity, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {static_cast<float>(-ldexp(1.0f, 18)), negative_infinity, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {static_cast<float>(-ldexp(1.3f, 16)), negative_infinity, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
-
- // Transfer of Infinities
- {std::numeric_limits<float>::infinity(), positive_infinity, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
- {-std::numeric_limits<float>::infinity(), negative_infinity, {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity, RD::kToNearestEven}},
-
- // Nans are below because we cannot test for equality.
- })),);
-
-struct UpCastCase{
+INSTANTIATE_TEST_CASE_P(
+ F32ToF16, HexFloatFP32To16Tests,
+ ::testing::ValuesIn(std::vector<DownCastTest>({
+ // Exactly representable as half.
+ {0.f,
+ 0x0,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity,
+ RD::kToNearestEven}},
+ {-0.f,
+ 0x8000,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity,
+ RD::kToNearestEven}},
+ {1.0f,
+ 0x3C00,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity,
+ RD::kToNearestEven}},
+ {-1.0f,
+ 0xBC00,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity,
+ RD::kToNearestEven}},
+
+ {float_fractions({0, 1, 10}),
+ 0x3E01,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity,
+ RD::kToNearestEven}},
+ {-float_fractions({0, 1, 10}),
+ 0xBE01,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity,
+ RD::kToNearestEven}},
+ {static_cast<float>(ldexp(float_fractions({0, 1, 10}), 3)),
+ 0x4A01,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity,
+ RD::kToNearestEven}},
+ {static_cast<float>(-ldexp(float_fractions({0, 1, 10}), 3)),
+ 0xCA01,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity,
+ RD::kToNearestEven}},
+
+ // Underflow
+ {static_cast<float>(ldexp(1.0f, -25)),
+ 0x0,
+ {RD::kToZero, RD::kToNegativeInfinity, RD::kToNearestEven}},
+ {static_cast<float>(ldexp(1.0f, -25)), 0x1, {RD::kToPositiveInfinity}},
+ {static_cast<float>(-ldexp(1.0f, -25)),
+ 0x8000,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNearestEven}},
+ {static_cast<float>(-ldexp(1.0f, -25)),
+ 0x8001,
+ {RD::kToNegativeInfinity}},
+ {static_cast<float>(ldexp(1.0f, -24)),
+ 0x1,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity,
+ RD::kToNearestEven}},
+
+ // Overflow
+ {static_cast<float>(ldexp(1.0f, 16)),
+ positive_infinity,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity,
+ RD::kToNearestEven}},
+ {static_cast<float>(ldexp(1.0f, 18)),
+ positive_infinity,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity,
+ RD::kToNearestEven}},
+ {static_cast<float>(ldexp(1.3f, 16)),
+ positive_infinity,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity,
+ RD::kToNearestEven}},
+ {static_cast<float>(-ldexp(1.0f, 16)),
+ negative_infinity,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity,
+ RD::kToNearestEven}},
+ {static_cast<float>(-ldexp(1.0f, 18)),
+ negative_infinity,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity,
+ RD::kToNearestEven}},
+ {static_cast<float>(-ldexp(1.3f, 16)),
+ negative_infinity,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity,
+ RD::kToNearestEven}},
+
+ // Transfer of Infinities
+ {std::numeric_limits<float>::infinity(),
+ positive_infinity,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity,
+ RD::kToNearestEven}},
+ {-std::numeric_limits<float>::infinity(),
+ negative_infinity,
+ {RD::kToZero, RD::kToPositiveInfinity, RD::kToNegativeInfinity,
+ RD::kToNearestEven}},
+
+ // Nans are below because we cannot test for equality.
+ })), );
+
+struct UpCastCase {
uint16_t source_half;
float expected_float;
};
@@ -947,28 +1004,28 @@ TEST_P(HexFloatFP16To32Tests, WideningCasts) {
}
}
-INSTANTIATE_TEST_CASE_P(F16ToF32, HexFloatFP16To32Tests,
- ::testing::ValuesIn(std::vector<UpCastCase>(
- {
- {0x0000, 0.f},
- {0x8000, -0.f},
- {0x3C00, 1.0f},
- {0xBC00, -1.0f},
- {0x3F00, float_fractions({0, 1, 2})},
- {0xBF00, -float_fractions({0, 1, 2})},
- {0x3F01, float_fractions({0, 1, 2, 10})},
- {0xBF01, -float_fractions({0, 1, 2, 10})},
-
- // denorm
- {0x0001, static_cast<float>(ldexp(1.0, -24))},
- {0x0002, static_cast<float>(ldexp(1.0, -23))},
- {0x8001, static_cast<float>(-ldexp(1.0, -24))},
- {0x8011, static_cast<float>(-ldexp(1.0, -20) + -ldexp(1.0, -24))},
-
- // inf
- {0x7C00, std::numeric_limits<float>::infinity()},
- {0xFC00, -std::numeric_limits<float>::infinity()},
- })),);
+INSTANTIATE_TEST_CASE_P(
+ F16ToF32, HexFloatFP16To32Tests,
+ ::testing::ValuesIn(std::vector<UpCastCase>({
+ {0x0000, 0.f},
+ {0x8000, -0.f},
+ {0x3C00, 1.0f},
+ {0xBC00, -1.0f},
+ {0x3F00, float_fractions({0, 1, 2})},
+ {0xBF00, -float_fractions({0, 1, 2})},
+ {0x3F01, float_fractions({0, 1, 2, 10})},
+ {0xBF01, -float_fractions({0, 1, 2, 10})},
+
+ // denorm
+ {0x0001, static_cast<float>(ldexp(1.0, -24))},
+ {0x0002, static_cast<float>(ldexp(1.0, -23))},
+ {0x8001, static_cast<float>(-ldexp(1.0, -24))},
+ {0x8011, static_cast<float>(-ldexp(1.0, -20) + -ldexp(1.0, -24))},
+
+ // inf
+ {0x7C00, std::numeric_limits<float>::infinity()},
+ {0xFC00, -std::numeric_limits<float>::infinity()},
+ })), );
TEST(HexFloatOperationTests, NanTests) {
using HF = spvutils::HexFloat<spvutils::FloatProxy<float>>;
@@ -1074,7 +1131,7 @@ INSTANTIATE_TEST_CASE_P(
// We can't have -1e40 and negate_value == true since
// that represents an original case of "--1e40" which
// is invalid.
- }),);
+ }), );
using ParseNormalFloat16Test =
::testing::TestWithParam<FloatParseCase<Float16>>;
@@ -1117,7 +1174,7 @@ INSTANTIATE_TEST_CASE_P(
BadFloatParseCase<Float16>("-2.0", true, uint16_t{0}),
BadFloatParseCase<Float16>("+0.0", true, uint16_t{0}),
BadFloatParseCase<Float16>("+2.0", true, uint16_t{0}),
- }),);
+ }), );
// A test case for detecting infinities.
template <typename T>
@@ -1152,7 +1209,7 @@ INSTANTIATE_TEST_CASE_P(
{"-1e40", false, -FLT_MAX},
{"1e400", false, FLT_MAX},
{"-1e400", false, -FLT_MAX},
- })),);
+ })), );
using FloatProxyParseOverflowDoubleTest =
::testing::TestWithParam<OverflowParseCase<double>>;
@@ -1179,7 +1236,7 @@ INSTANTIATE_TEST_CASE_P(
{"-1e40", true, -1e40},
{"1e400", false, DBL_MAX},
{"-1e400", false, -DBL_MAX},
- })),);
+ })), );
using FloatProxyParseOverflowFloat16Test =
::testing::TestWithParam<OverflowParseCase<uint16_t>>;
@@ -1188,8 +1245,8 @@ TEST_P(FloatProxyParseOverflowFloat16Test, Sample) {
std::istringstream input(GetParam().input);
HexFloat<FloatProxy<Float16>> value(0);
input >> value;
- EXPECT_NE(GetParam().expect_success, input.fail()) << " literal: "
- << GetParam().input;
+ EXPECT_NE(GetParam().expect_success, input.fail())
+ << " literal: " << GetParam().input;
if (GetParam().expect_success) {
EXPECT_THAT(value.value().data(), Eq(GetParam().expected_value))
<< " literal: " << GetParam().input;
@@ -1210,7 +1267,7 @@ INSTANTIATE_TEST_CASE_P(
{"-1e38", false, uint16_t{0xfbff}},
{"-1e40", false, uint16_t{0xfbff}},
{"-1e400", false, uint16_t{0xfbff}},
- })),);
+ })), );
TEST(FloatProxy, Max) {
EXPECT_THAT(FloatProxy<Float16>::max().getAsFloat().get_value(),
diff --git a/test/huffman_codec.cpp b/test/huffman_codec.cpp
index abad1c09..3d5d293e 100644
--- a/test/huffman_codec.cpp
+++ b/test/huffman_codec.cpp
@@ -19,32 +19,20 @@
#include <string>
#include <unordered_map>
-#include "util/huffman_codec.h"
-#include "util/bit_stream.h"
#include "gmock/gmock.h"
+#include "util/bit_stream.h"
+#include "util/huffman_codec.h"
namespace {
-using spvutils::HuffmanCodec;
using spvutils::BitsToStream;
+using spvutils::HuffmanCodec;
const std::map<std::string, uint32_t>& GetTestSet() {
static const std::map<std::string, uint32_t> hist = {
- {"a", 4},
- {"e", 7},
- {"f", 3},
- {"h", 2},
- {"i", 3},
- {"m", 2},
- {"n", 2},
- {"s", 2},
- {"t", 2},
- {"l", 1},
- {"o", 2},
- {"p", 1},
- {"r", 1},
- {"u", 1},
- {"x", 1},
+ {"a", 4}, {"e", 7}, {"f", 3}, {"h", 2}, {"i", 3},
+ {"m", 2}, {"n", 2}, {"s", 2}, {"t", 2}, {"l", 1},
+ {"o", 2}, {"p", 1}, {"r", 1}, {"u", 1}, {"x", 1},
};
return hist;
@@ -72,6 +60,7 @@ TEST(Huffman, PrintTree) {
std::stringstream ss;
huffman.PrintTree(ss);
+ // clang-format off
const std::string expected = std::string(R"(
15-----7------e
8------4------a
@@ -89,6 +78,7 @@ TEST(Huffman, PrintTree) {
3------1------x
2------h
)").substr(1);
+ // clang-format on
EXPECT_EQ(expected, ss.str());
}
@@ -114,7 +104,8 @@ u 1 00110
r 1 00111
p 1 01000
l 1 01001
-)").substr(1);
+)")
+ .substr(1);
EXPECT_EQ(expected, ss.str());
}
@@ -162,10 +153,14 @@ TEST(Huffman, TestEncode) {
TEST(Huffman, TestDecode) {
HuffmanCodec<std::string> huffman(GetTestSet());
- TestBitReader bit_reader("01001""0001""1000""00110""00001""00");
- auto read_bit = [&bit_reader](bool* bit) {
- return bit_reader.ReadBit(bit);
- };
+ TestBitReader bit_reader(
+ "01001"
+ "0001"
+ "1000"
+ "00110"
+ "00001"
+ "00");
+ auto read_bit = [&bit_reader](bool* bit) { return bit_reader.ReadBit(bit); };
std::string decoded;
@@ -188,13 +183,17 @@ TEST(Huffman, TestDecode) {
}
TEST(Huffman, TestDecodeNumbers) {
- const std::map<uint32_t, uint32_t> hist = { {1, 10}, {2, 5}, {3, 15} };
+ const std::map<uint32_t, uint32_t> hist = {{1, 10}, {2, 5}, {3, 15}};
HuffmanCodec<uint32_t> huffman(hist);
- TestBitReader bit_reader("1""1""01""00""01""1");
- auto read_bit = [&bit_reader](bool* bit) {
- return bit_reader.ReadBit(bit);
- };
+ TestBitReader bit_reader(
+ "1"
+ "1"
+ "01"
+ "00"
+ "01"
+ "1");
+ auto read_bit = [&bit_reader](bool* bit) { return bit_reader.ReadBit(bit); };
uint32_t decoded;
@@ -218,8 +217,7 @@ TEST(Huffman, TestDecodeNumbers) {
}
TEST(Huffman, SerializeToTextU64) {
- const std::map<uint64_t, uint32_t> hist =
- { {1001, 10}, {1002, 5}, {1003, 15} };
+ const std::map<uint64_t, uint32_t> hist = {{1001, 10}, {1002, 5}, {1003, 15}};
HuffmanCodec<uint64_t> huffman(hist);
const std::string code = huffman.SerializeToText(2);
@@ -233,13 +231,12 @@ TEST(Huffman, SerializeToTextU64) {
{0, 4, 3},
}))";
-
ASSERT_EQ(expected, code);
}
TEST(Huffman, SerializeToTextString) {
- const std::map<std::string, uint32_t> hist =
- { {"aaa", 10}, {"bbb", 20}, {"ccc", 15} };
+ const std::map<std::string, uint32_t> hist = {
+ {"aaa", 10}, {"bbb", 20}, {"ccc", 15}};
HuffmanCodec<std::string> huffman(hist);
const std::string code = huffman.SerializeToText(4);
@@ -258,10 +255,10 @@ TEST(Huffman, SerializeToTextString) {
TEST(Huffman, CreateFromTextString) {
std::vector<HuffmanCodec<std::string>::Node> nodes = {
- {},
- {"root", 2, 3},
- {"left", 0, 0},
- {"right", 0, 0},
+ {},
+ {"root", 2, 3},
+ {"left", 0, 0},
+ {"right", 0, 0},
};
HuffmanCodec<std::string> huffman(1, std::move(nodes));
@@ -272,20 +269,21 @@ TEST(Huffman, CreateFromTextString) {
const std::string expected = std::string(R"(
0------right
0------left
-)").substr(1);
+)")
+ .substr(1);
EXPECT_EQ(expected, ss.str());
}
TEST(Huffman, CreateFromTextU64) {
HuffmanCodec<uint64_t> huffman(5, {
- {0, 0, 0},
- {1001, 0, 0},
- {1002, 0, 0},
- {1003, 0, 0},
- {0, 1, 2},
- {0, 4, 3},
- });
+ {0, 0, 0},
+ {1001, 0, 0},
+ {1002, 0, 0},
+ {1003, 0, 0},
+ {0, 1, 2},
+ {0, 4, 3},
+ });
std::stringstream ss;
huffman.PrintTree(ss);
@@ -294,14 +292,13 @@ TEST(Huffman, CreateFromTextU64) {
0------1003
0------0------1002
0------1001
-)").substr(1);
+)")
+ .substr(1);
EXPECT_EQ(expected, ss.str());
TestBitReader bit_reader("01");
- auto read_bit = [&bit_reader](bool* bit) {
- return bit_reader.ReadBit(bit);
- };
+ auto read_bit = [&bit_reader](bool* bit) { return bit_reader.ReadBit(bit); };
uint64_t decoded = 0;
ASSERT_TRUE(huffman.DecodeFromStream(read_bit, &decoded));
diff --git a/test/immediate_int_test.cpp b/test/immediate_int_test.cpp
index 30a8fb03..3e95d0c6 100644
--- a/test/immediate_int_test.cpp
+++ b/test/immediate_int_test.cpp
@@ -18,8 +18,8 @@
#include <gmock/gmock.h>
-#include "test_fixture.h"
#include "source/util/bitutils.h"
+#include "test_fixture.h"
namespace {
diff --git a/test/link/binary_version_test.cpp b/test/link/binary_version_test.cpp
index b78440de..bde786a4 100644
--- a/test/link/binary_version_test.cpp
+++ b/test/link/binary_version_test.cpp
@@ -20,6 +20,7 @@ namespace {
using BinaryVersion = spvtest::LinkerTest;
TEST_F(BinaryVersion, LinkerChoosesMaxSpirvVersion) {
+ // clang-format off
spvtest::Binaries binaries = {
{
SpvMagicNumber,
@@ -43,6 +44,7 @@ TEST_F(BinaryVersion, LinkerChoosesMaxSpirvVersion) {
0u // NOTE: Schema; reserved
}
};
+ // clang-format on
spvtest::Binary linked_binary;
ASSERT_EQ(SPV_SUCCESS, Link(binaries, &linked_binary));
diff --git a/test/link/ids_limit_test.cpp b/test/link/ids_limit_test.cpp
index 0d1bf21f..c242f4bc 100644
--- a/test/link/ids_limit_test.cpp
+++ b/test/link/ids_limit_test.cpp
@@ -24,20 +24,15 @@ using IdsLimit = spvtest::LinkerTest;
TEST_F(IdsLimit, UnderLimit) {
spvtest::Binaries binaries = {
{
- SpvMagicNumber,
- SpvVersion,
- SPV_GENERATOR_CODEPLAY,
- 0x2FFFFFu, // NOTE: Bound
- 0u, // NOTE: Schema; reserved
+ SpvMagicNumber, SpvVersion, SPV_GENERATOR_CODEPLAY,
+ 0x2FFFFFu, // NOTE: Bound
+ 0u, // NOTE: Schema; reserved
},
{
- SpvMagicNumber,
- SpvVersion,
- SPV_GENERATOR_CODEPLAY,
- 0x100000u, // NOTE: Bound
- 0u, // NOTE: Schema; reserved
- }
- };
+ SpvMagicNumber, SpvVersion, SPV_GENERATOR_CODEPLAY,
+ 0x100000u, // NOTE: Bound
+ 0u, // NOTE: Schema; reserved
+ }};
spvtest::Binary linked_binary;
ASSERT_EQ(SPV_SUCCESS, Link(binaries, &linked_binary));
@@ -48,27 +43,20 @@ TEST_F(IdsLimit, UnderLimit) {
TEST_F(IdsLimit, OverLimit) {
spvtest::Binaries binaries = {
{
- SpvMagicNumber,
- SpvVersion,
- SPV_GENERATOR_CODEPLAY,
- 0x2FFFFFu, // NOTE: Bound
- 0u, // NOTE: Schema; reserved
+ SpvMagicNumber, SpvVersion, SPV_GENERATOR_CODEPLAY,
+ 0x2FFFFFu, // NOTE: Bound
+ 0u, // NOTE: Schema; reserved
},
{
- SpvMagicNumber,
- SpvVersion,
- SPV_GENERATOR_CODEPLAY,
- 0x100000u, // NOTE: Bound
- 0u, // NOTE: Schema; reserved
+ SpvMagicNumber, SpvVersion, SPV_GENERATOR_CODEPLAY,
+ 0x100000u, // NOTE: Bound
+ 0u, // NOTE: Schema; reserved
},
{
- SpvMagicNumber,
- SpvVersion,
- SPV_GENERATOR_CODEPLAY,
+ SpvMagicNumber, SpvVersion, SPV_GENERATOR_CODEPLAY,
3u, // NOTE: Bound
0u, // NOTE: Schema; reserved
- }
- };
+ }};
spvtest::Binary linked_binary;
diff --git a/test/link/unique_ids_test.cpp b/test/link/unique_ids_test.cpp
index 8b67d34a..c926f0e6 100644
--- a/test/link/unique_ids_test.cpp
+++ b/test/link/unique_ids_test.cpp
@@ -134,4 +134,4 @@ TEST_F(UniqueIds, UniquelyMerged) {
EXPECT_EQ(SPV_SUCCESS, res);
}
-} // anonymous namespace
+} // anonymous namespace
diff --git a/test/move_to_front_test.cpp b/test/move_to_front_test.cpp
index 95f2b087..08c29212 100644
--- a/test/move_to_front_test.cpp
+++ b/test/move_to_front_test.cpp
@@ -28,9 +28,7 @@ using spvutils::MultiMoveToFront;
class MoveToFrontTester : public MoveToFront<uint32_t> {
public:
// Inserts the value in the internal tree data structure. For testing only.
- void TestInsert(uint32_t val) {
- InsertNode(CreateNode(val, val));
- }
+ void TestInsert(uint32_t val) { InsertNode(CreateNode(val, val)); }
// Removes the value from the internal tree data structure. For testing only.
void TestRemove(uint32_t val) {
@@ -41,15 +39,14 @@ class MoveToFrontTester : public MoveToFront<uint32_t> {
// Prints the internal tree data structure to |out|. For testing only.
void PrintTree(std::ostream& out, bool print_timestamp = false) const {
- if (root_)
- PrintTreeInternal(out, root_, 1, print_timestamp);
+ if (root_) PrintTreeInternal(out, root_, 1, print_timestamp);
}
- // Returns node handle corresponding to the value. The value may not be in the tree.
+ // Returns node handle corresponding to the value. The value may not be in the
+ // tree.
uint32_t GetNodeHandle(uint32_t value) const {
const auto it = value_to_node_.find(value);
- if (it == value_to_node_.end())
- return 0;
+ if (it == value_to_node_.end()) return 0;
return it->second;
}
@@ -61,9 +58,7 @@ class MoveToFrontTester : public MoveToFront<uint32_t> {
return nodes_.size() - 1;
}
- uint32_t GetLastAccessedValue() const {
- return last_accessed_value_;
- }
+ uint32_t GetLastAccessedValue() const { return last_accessed_value_; }
private:
// Prints the internal tree data structure for debug purposes in the following
@@ -77,9 +72,9 @@ class MoveToFrontTester : public MoveToFront<uint32_t> {
bool print_timestamp) const;
};
-void MoveToFrontTester::PrintTreeInternal(
- std::ostream& out, uint32_t node,
- size_t depth, bool print_timestamp) const {
+void MoveToFrontTester::PrintTreeInternal(std::ostream& out, uint32_t node,
+ size_t depth,
+ bool print_timestamp) const {
if (!node) {
out << "D" << depth - 1 << std::endl;
return;
@@ -87,13 +82,13 @@ void MoveToFrontTester::PrintTreeInternal(
const size_t kTextFieldWvaluethWithoutTimestamp = 10;
const size_t kTextFieldWvaluethWithTimestamp = 14;
- const size_t text_field_wvalueth = print_timestamp ?
- kTextFieldWvaluethWithTimestamp : kTextFieldWvaluethWithoutTimestamp;
+ const size_t text_field_wvalueth = print_timestamp
+ ? kTextFieldWvaluethWithTimestamp
+ : kTextFieldWvaluethWithoutTimestamp;
std::stringstream label;
label << ValueOf(node) << "H" << HeightOf(node) << "S" << SizeOf(node);
- if (print_timestamp)
- label << "T" << TimestampOf(node);
+ if (print_timestamp) label << "T" << TimestampOf(node);
const size_t label_length = label.str().length();
if (label_length < text_field_wvalueth)
label << std::string(text_field_wvalueth - label_length, '-');
@@ -128,13 +123,15 @@ TEST(MoveToFront, InsertLeftRotation) {
CheckTree(mtf, std::string(R"(
30H2S2----20H1S1----D2
-)").substr(1));
+)")
+ .substr(1));
mtf.TestInsert(10);
CheckTree(mtf, std::string(R"(
20H2S3----10H1S1----D2
30H1S1----D2
-)").substr(1));
+)")
+ .substr(1));
}
TEST(MoveToFront, InsertRightRotation) {
@@ -146,13 +143,15 @@ TEST(MoveToFront, InsertRightRotation) {
CheckTree(mtf, std::string(R"(
10H2S2----D1
20H1S1----D2
-)").substr(1));
+)")
+ .substr(1));
mtf.TestInsert(30);
CheckTree(mtf, std::string(R"(
20H2S3----10H1S1----D2
30H1S1----D2
-)").substr(1));
+)")
+ .substr(1));
}
TEST(MoveToFront, InsertRightLeftRotation) {
@@ -163,13 +162,15 @@ TEST(MoveToFront, InsertRightLeftRotation) {
CheckTree(mtf, std::string(R"(
30H2S2----20H1S1----D2
-)").substr(1));
+)")
+ .substr(1));
mtf.TestInsert(25);
CheckTree(mtf, std::string(R"(
25H2S3----20H1S1----D2
30H1S1----D2
-)").substr(1));
+)")
+ .substr(1));
}
TEST(MoveToFront, InsertLeftRightRotation) {
@@ -181,13 +182,15 @@ TEST(MoveToFront, InsertLeftRightRotation) {
CheckTree(mtf, std::string(R"(
10H2S2----D1
20H1S1----D2
-)").substr(1));
+)")
+ .substr(1));
mtf.TestInsert(15);
CheckTree(mtf, std::string(R"(
15H2S3----10H1S1----D2
20H1S1----D2
-)").substr(1));
+)")
+ .substr(1));
}
TEST(MoveToFront, RemoveSingleton) {
@@ -196,7 +199,8 @@ TEST(MoveToFront, RemoveSingleton) {
mtf.TestInsert(10);
CheckTree(mtf, std::string(R"(
10H1S1----D1
-)").substr(1));
+)")
+ .substr(1));
mtf.TestRemove(10);
CheckTree(mtf, "");
@@ -211,12 +215,14 @@ TEST(MoveToFront, RemoveRootWithScapegoat) {
CheckTree(mtf, std::string(R"(
10H2S3----5H1S1-----D2
15H1S1----D2
-)").substr(1));
+)")
+ .substr(1));
mtf.TestRemove(10);
CheckTree(mtf, std::string(R"(
15H2S2----5H1S1-----D2
-)").substr(1));
+)")
+ .substr(1));
}
TEST(MoveToFront, RemoveRightRotation) {
@@ -230,14 +236,16 @@ TEST(MoveToFront, RemoveRightRotation) {
10H3S4----5H1S1-----D2
15H2S2----D2
20H1S1----D3
-)").substr(1));
+)")
+ .substr(1));
mtf.TestRemove(5);
CheckTree(mtf, std::string(R"(
15H2S3----10H1S1----D2
20H1S1----D2
-)").substr(1));
+)")
+ .substr(1));
}
TEST(MoveToFront, RemoveLeftRotation) {
@@ -250,14 +258,16 @@ TEST(MoveToFront, RemoveLeftRotation) {
CheckTree(mtf, std::string(R"(
10H3S4----5H2S2-----1H1S1-----D3
15H1S1----D2
-)").substr(1));
+)")
+ .substr(1));
mtf.TestRemove(15);
CheckTree(mtf, std::string(R"(
5H2S3-----1H1S1-----D2
10H1S1----D2
-)").substr(1));
+)")
+ .substr(1));
}
TEST(MoveToFront, RemoveLeftRightRotation) {
@@ -270,14 +280,16 @@ TEST(MoveToFront, RemoveLeftRightRotation) {
CheckTree(mtf, std::string(R"(
10H3S4----5H1S1-----D2
15H2S2----12H1S1----D3
-)").substr(1));
+)")
+ .substr(1));
mtf.TestRemove(5);
CheckTree(mtf, std::string(R"(
12H2S3----10H1S1----D2
15H1S1----D2
-)").substr(1));
+)")
+ .substr(1));
}
TEST(MoveToFront, RemoveRightLeftRotation) {
@@ -291,20 +303,22 @@ TEST(MoveToFront, RemoveRightLeftRotation) {
10H3S4----5H2S2-----D2
8H1S1-----D3
15H1S1----D2
-)").substr(1));
+)")
+ .substr(1));
mtf.TestRemove(15);
CheckTree(mtf, std::string(R"(
8H2S3-----5H1S1-----D2
10H1S1----D2
-)").substr(1));
+)")
+ .substr(1));
}
TEST(MoveToFront, MultipleOperations) {
MoveToFrontTester mtf;
- std::vector<uint32_t> vals =
- { 5, 11, 12, 16, 15, 6, 14, 2, 7, 10, 4, 8, 9, 3, 1, 13 };
+ std::vector<uint32_t> vals = {5, 11, 12, 16, 15, 6, 14, 2,
+ 7, 10, 4, 8, 9, 3, 1, 13};
for (uint32_t i : vals) {
mtf.TestInsert(i);
@@ -319,7 +333,8 @@ TEST(MoveToFront, MultipleOperations) {
15H3S5----13H2S3----12H1S1----D4
14H1S1----D4
16H1S1----D3
-)").substr(1));
+)")
+ .substr(1));
mtf.TestRemove(11);
@@ -331,7 +346,8 @@ TEST(MoveToFront, MultipleOperations) {
15H3S5----13H2S3----12H1S1----D4
14H1S1----D4
16H1S1----D3
-)").substr(1));
+)")
+ .substr(1));
mtf.TestInsert(11);
@@ -343,7 +359,8 @@ TEST(MoveToFront, MultipleOperations) {
13H3S6----12H2S2----11H1S1----D4
15H2S3----14H1S1----D4
16H1S1----D4
-)").substr(1));
+)")
+ .substr(1));
mtf.TestRemove(5);
@@ -355,7 +372,8 @@ TEST(MoveToFront, MultipleOperations) {
13H3S6----12H2S2----11H1S1----D4
15H2S3----14H1S1----D4
16H1S1----D4
-)").substr(1));
+)")
+ .substr(1));
mtf.TestInsert(5);
@@ -368,7 +386,8 @@ TEST(MoveToFront, MultipleOperations) {
13H3S6----12H2S2----11H1S1----D4
15H2S3----14H1S1----D4
16H1S1----D4
-)").substr(1));
+)")
+ .substr(1));
mtf.TestRemove(2);
mtf.TestRemove(1);
@@ -384,7 +403,8 @@ TEST(MoveToFront, MultipleOperations) {
12H2S2----11H1S1----D4
15H2S3----14H1S1----D3
16H1S1----D3
-)").substr(1));
+)")
+ .substr(1));
}
TEST(MoveToFront, BiggerScaleTreeTest) {
@@ -435,7 +455,8 @@ TEST(MoveToFront, BiggerScaleTreeTest) {
24H1S1----D4
37H2S3----35H1S1----D3
46H1S1----D3
-)").substr(1));
+)")
+ .substr(1));
}
TEST(MoveToFront, RankFromValue) {
@@ -448,20 +469,26 @@ TEST(MoveToFront, RankFromValue) {
EXPECT_TRUE(mtf.Insert(2));
EXPECT_TRUE(mtf.Insert(3));
EXPECT_FALSE(mtf.Insert(2));
- CheckTree(mtf, std::string(R"(
+ CheckTree(mtf,
+ std::string(R"(
2H2S3T2-------1H1S1T1-------D2
3H1S1T3-------D2
-)").substr(1), /* print_timestamp = */ true);
+)")
+ .substr(1),
+ /* print_timestamp = */ true);
EXPECT_FALSE(mtf.RankFromValue(4, &rank));
EXPECT_TRUE(mtf.RankFromValue(1, &rank));
EXPECT_EQ(3u, rank);
- CheckTree(mtf, std::string(R"(
+ CheckTree(mtf,
+ std::string(R"(
3H2S3T3-------2H1S1T2-------D2
1H1S1T4-------D2
-)").substr(1), /* print_timestamp = */ true);
+)")
+ .substr(1),
+ /* print_timestamp = */ true);
EXPECT_TRUE(mtf.RankFromValue(1, &rank));
EXPECT_EQ(1u, rank);
@@ -482,21 +509,27 @@ TEST(MoveToFront, RankFromValue) {
EXPECT_TRUE(mtf.RankFromValue(1, &rank));
EXPECT_EQ(2u, rank);
- CheckTree(mtf, std::string(R"(
+ CheckTree(mtf,
+ std::string(R"(
2H3S5T6-------3H1S1T5-------D2
50H2S3T9------40H1S1T7------D3
1H1S1T10------D3
-)").substr(1), /* print_timestamp = */ true);
+)")
+ .substr(1),
+ /* print_timestamp = */ true);
EXPECT_TRUE(mtf.RankFromValue(50, &rank));
EXPECT_EQ(2u, rank);
EXPECT_EQ(5u, mtf.GetSize());
- CheckTree(mtf, std::string(R"(
+ CheckTree(mtf,
+ std::string(R"(
2H3S5T6-------3H1S1T5-------D2
1H2S3T10------40H1S1T7------D3
50H1S1T11-----D3
-)").substr(1), /* print_timestamp = */ true);
+)")
+ .substr(1),
+ /* print_timestamp = */ true);
EXPECT_FALSE(mtf.RankFromValue(0, &rank));
EXPECT_FALSE(mtf.RankFromValue(20, &rank));
@@ -524,35 +557,47 @@ TEST(MoveToFront, ValueFromRank) {
EXPECT_EQ(1u, value);
EXPECT_EQ(1u, mtf.GetLastAccessedValue());
- CheckTree(mtf, std::string(R"(
+ CheckTree(mtf,
+ std::string(R"(
3H2S3T3-------2H1S1T2-------D2
1H1S1T4-------D2
-)").substr(1), /* print_timestamp = */ true);
+)")
+ .substr(1),
+ /* print_timestamp = */ true);
EXPECT_TRUE(mtf.ValueFromRank(2, &value));
EXPECT_EQ(3u, value);
EXPECT_EQ(3u, mtf.GetSize());
- CheckTree(mtf, std::string(R"(
+ CheckTree(mtf,
+ std::string(R"(
1H2S3T4-------2H1S1T2-------D2
3H1S1T5-------D2
-)").substr(1), /* print_timestamp = */ true);
+)")
+ .substr(1),
+ /* print_timestamp = */ true);
EXPECT_TRUE(mtf.ValueFromRank(3, &value));
EXPECT_EQ(2u, value);
- CheckTree(mtf, std::string(R"(
+ CheckTree(mtf,
+ std::string(R"(
3H2S3T5-------1H1S1T4-------D2
2H1S1T6-------D2
-)").substr(1), /* print_timestamp = */ true);
+)")
+ .substr(1),
+ /* print_timestamp = */ true);
EXPECT_TRUE(mtf.Insert(10));
- CheckTree(mtf, std::string(R"(
+ CheckTree(mtf,
+ std::string(R"(
3H3S4T5-------1H1S1T4-------D2
2H2S2T6-------D2
10H1S1T7------D3
-)").substr(1), /* print_timestamp = */ true);
+)")
+ .substr(1),
+ /* print_timestamp = */ true);
EXPECT_TRUE(mtf.ValueFromRank(1, &value));
EXPECT_EQ(10u, value);
@@ -568,29 +613,38 @@ TEST(MoveToFront, Remove) {
EXPECT_TRUE(mtf.Insert(2));
EXPECT_TRUE(mtf.Insert(3));
- CheckTree(mtf, std::string(R"(
+ CheckTree(mtf,
+ std::string(R"(
2H2S3T2-------1H1S1T1-------D2
3H1S1T3-------D2
-)").substr(1), /* print_timestamp = */ true);
+)")
+ .substr(1),
+ /* print_timestamp = */ true);
EXPECT_EQ(1u, mtf.GetNodeHandle(1));
EXPECT_EQ(3u, mtf.GetTotalNodeCount());
EXPECT_TRUE(mtf.Remove(1));
EXPECT_EQ(3u, mtf.GetTotalNodeCount());
- CheckTree(mtf, std::string(R"(
+ CheckTree(mtf,
+ std::string(R"(
2H2S2T2-------D1
3H1S1T3-------D2
-)").substr(1), /* print_timestamp = */ true);
+)")
+ .substr(1),
+ /* print_timestamp = */ true);
uint32_t value = 0;
EXPECT_TRUE(mtf.ValueFromRank(2, &value));
EXPECT_EQ(2u, value);
- CheckTree(mtf, std::string(R"(
+ CheckTree(mtf,
+ std::string(R"(
3H2S2T3-------D1
2H1S1T4-------D2
-)").substr(1), /* print_timestamp = */ true);
+)")
+ .substr(1),
+ /* print_timestamp = */ true);
EXPECT_TRUE(mtf.Insert(1));
EXPECT_EQ(1u, mtf.GetNodeHandle(1));
@@ -752,13 +806,16 @@ TEST(MoveToFront, LargerScale) {
}
}
- CheckTree(mtf, std::string(R"(
+ CheckTree(mtf,
+ std::string(R"(
6H4S9T1029----8H2S3T8-------7H1S1T7-------D3
9H1S1T9-------D3
2H3S5T1033----4H2S3T1031----5H1S1T1030----D4
3H1S1T1032----D4
1H1S1T1034----D3
-)").substr(1), /* print_timestamp = */ true);
+)")
+ .substr(1),
+ /* print_timestamp = */ true);
ASSERT_TRUE(mtf.Insert(1000));
ASSERT_TRUE(mtf.ValueFromRank(1, &value));
@@ -817,7 +874,6 @@ TEST(MultiMoveToFront, Empty) {
EXPECT_FALSE(multi_mtf.Remove(1001, "AAA"));
}
-
TEST(MultiMoveToFront, TwoSequences) {
MultiMoveToFront<std::string> multi_mtf;
diff --git a/test/name_mapper_test.cpp b/test/name_mapper_test.cpp
index 61b6ca8d..c868e722 100644
--- a/test/name_mapper_test.cpp
+++ b/test/name_mapper_test.cpp
@@ -19,8 +19,8 @@
#include "source/name_mapper.h"
-using libspirv::NameMapper;
using libspirv::FriendlyNameMapper;
+using libspirv::NameMapper;
using spvtest::ScopedContext;
using ::testing::Eq;
@@ -197,7 +197,8 @@ INSTANTIATE_TEST_CASE_P(ExoticTypes, FriendlyNameTest,
{"%1 = OpTypeDeviceEvent", 1, "DeviceEvent"},
{"%1 = OpTypeReserveId", 1, "ReserveId"},
{"%1 = OpTypeQueue", 1, "Queue"},
- {"%1 = OpTypeOpaque \"hello world!\"", 1, "Opaque_hello_world_"},
+ {"%1 = OpTypeOpaque \"hello world!\"", 1,
+ "Opaque_hello_world_"},
{"%1 = OpTypePipe ReadOnly", 1, "PipeReadOnly"},
{"%1 = OpTypePipe WriteOnly", 1, "PipeWriteOnly"},
{"%1 = OpTypePipe ReadWrite", 1, "PipeReadWrite"},
diff --git a/test/named_id_test.cpp b/test/named_id_test.cpp
index 68946bb3..f83f5e86 100644
--- a/test/named_id_test.cpp
+++ b/test/named_id_test.cpp
@@ -65,38 +65,20 @@ TEST_P(IdValidityTest, IdTypes) {
INSTANTIATE_TEST_CASE_P(
ValidAndInvalidIds, IdValidityTest,
- ::testing::ValuesIn(std::vector<IdCheckCase>({{"%1", true},
- {"%2abc", true},
- {"%3Def", true},
- {"%4GHI", true},
- {"%5_j_k", true},
- {"%6J_M", true},
- {"%n", true},
- {"%O", true},
- {"%p7", true},
- {"%Q8", true},
- {"%R_S", true},
- {"%T_10_U", true},
- {"%V_11", true},
- {"%W_X_13", true},
- {"%_A", true},
- {"%_", true},
- {"%__", true},
- {"%A_", true},
- {"%_A_", true},
+ ::testing::ValuesIn(std::vector<IdCheckCase>(
+ {{"%1", true}, {"%2abc", true}, {"%3Def", true},
+ {"%4GHI", true}, {"%5_j_k", true}, {"%6J_M", true},
+ {"%n", true}, {"%O", true}, {"%p7", true},
+ {"%Q8", true}, {"%R_S", true}, {"%T_10_U", true},
+ {"%V_11", true}, {"%W_X_13", true}, {"%_A", true},
+ {"%_", true}, {"%__", true}, {"%A_", true},
+ {"%_A_", true},
- {"%@", false},
- {"%!", false},
- {"%ABC!", false},
- {"%__A__@", false},
- {"%%", false},
- {"%-", false},
- {"%foo_@_bar", false},
- {"%", false},
+ {"%@", false}, {"%!", false}, {"%ABC!", false},
+ {"%__A__@", false}, {"%%", false}, {"%-", false},
+ {"%foo_@_bar", false}, {"%", false},
- {"5", false},
- {"32", false},
- {"foo", false},
- {"a%bar", false}})),);
+ {"5", false}, {"32", false}, {"foo", false},
+ {"a%bar", false}})), );
} // anonymous namespace
diff --git a/test/operand_capabilities_test.cpp b/test/operand_capabilities_test.cpp
index 850a5eff..80d805e6 100644
--- a/test/operand_capabilities_test.cpp
+++ b/test/operand_capabilities_test.cpp
@@ -197,7 +197,8 @@ INSTANTIATE_TEST_CASE_P(
Combine(Values(SPV_ENV_UNIVERSAL_1_0, SPV_ENV_UNIVERSAL_1_1),
ValuesIn(std::vector<EnumCapabilityCase>{
CASE1(DIMENSIONALITY, Dim1D, Sampled1D),
- CASE0(DIMENSIONALITY, Dim2D), CASE0(DIMENSIONALITY, Dim3D),
+ CASE0(DIMENSIONALITY, Dim2D),
+ CASE0(DIMENSIONALITY, Dim3D),
CASE1(DIMENSIONALITY, DimCube, Shader),
CASE1(DIMENSIONALITY, DimRect, SampledRect),
CASE1(DIMENSIONALITY, DimBuffer, SampledBuffer),
@@ -616,14 +617,16 @@ INSTANTIATE_TEST_CASE_P(
})), );
// See SPIR-V Section 3.27 Scope <id>
-INSTANTIATE_TEST_CASE_P(
- Scope, EnumCapabilityTest,
- Combine(Values(SPV_ENV_UNIVERSAL_1_0, SPV_ENV_UNIVERSAL_1_1),
- ValuesIn(std::vector<EnumCapabilityCase>{
- CASE0(SCOPE_ID, ScopeCrossDevice), CASE0(SCOPE_ID, ScopeDevice),
- CASE0(SCOPE_ID, ScopeWorkgroup), CASE0(SCOPE_ID, ScopeSubgroup),
- CASE0(SCOPE_ID, ScopeInvocation),
- })), );
+INSTANTIATE_TEST_CASE_P(Scope, EnumCapabilityTest,
+ Combine(Values(SPV_ENV_UNIVERSAL_1_0,
+ SPV_ENV_UNIVERSAL_1_1),
+ ValuesIn(std::vector<EnumCapabilityCase>{
+ CASE0(SCOPE_ID, ScopeCrossDevice),
+ CASE0(SCOPE_ID, ScopeDevice),
+ CASE0(SCOPE_ID, ScopeWorkgroup),
+ CASE0(SCOPE_ID, ScopeSubgroup),
+ CASE0(SCOPE_ID, ScopeInvocation),
+ })), );
// See SPIR-V Section 3.28 Group Operation
INSTANTIATE_TEST_CASE_P(
diff --git a/test/operand_pattern_test.cpp b/test/operand_pattern_test.cpp
index 358671c5..95acc9a8 100644
--- a/test/operand_pattern_test.cpp
+++ b/test/operand_pattern_test.cpp
@@ -73,13 +73,13 @@ TEST_P(MaskExpansionTest, Sample) {
spv_operand_pattern_t pattern(GetParam().initial);
spvPushOperandTypesForMask(operandTable, GetParam().type, GetParam().mask,
- &pattern);
+ &pattern);
EXPECT_THAT(pattern, Eq(GetParam().expected));
}
// These macros let us write non-trivial examples without too much text.
#define PREFIX0 SPV_OPERAND_TYPE_ID, SPV_OPERAND_TYPE_NONE
-#define PREFIX1 \
+#define PREFIX1 \
SPV_OPERAND_TYPE_STORAGE_CLASS, SPV_OPERAND_TYPE_SAMPLER_FILTER_MODE, \
SPV_OPERAND_TYPE_ID
INSTANTIATE_TEST_CASE_P(
@@ -202,27 +202,25 @@ TEST(AlternatePatternFollowingImmediate, ResultIdFront) {
Eq(spv_operand_pattern_t{SPV_OPERAND_TYPE_OPTIONAL_CIV,
SPV_OPERAND_TYPE_RESULT_ID,
SPV_OPERAND_TYPE_OPTIONAL_CIV}));
- EXPECT_THAT(spvAlternatePatternFollowingImmediate(
- {SPV_OPERAND_TYPE_RESULT_ID,
- SPV_OPERAND_TYPE_FP_ROUNDING_MODE, SPV_OPERAND_TYPE_ID}),
- Eq(spv_operand_pattern_t{SPV_OPERAND_TYPE_OPTIONAL_CIV,
- SPV_OPERAND_TYPE_RESULT_ID,
- SPV_OPERAND_TYPE_OPTIONAL_CIV,
- SPV_OPERAND_TYPE_OPTIONAL_CIV}));
- EXPECT_THAT(spvAlternatePatternFollowingImmediate(
- {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_DIMENSIONALITY,
- SPV_OPERAND_TYPE_LINKAGE_TYPE,
- SPV_OPERAND_TYPE_FUNCTION_PARAMETER_ATTRIBUTE,
- SPV_OPERAND_TYPE_FP_ROUNDING_MODE, SPV_OPERAND_TYPE_ID,
- SPV_OPERAND_TYPE_VARIABLE_ID}),
- Eq(spv_operand_pattern_t{SPV_OPERAND_TYPE_OPTIONAL_CIV,
- SPV_OPERAND_TYPE_RESULT_ID,
- SPV_OPERAND_TYPE_OPTIONAL_CIV,
- SPV_OPERAND_TYPE_OPTIONAL_CIV,
- SPV_OPERAND_TYPE_OPTIONAL_CIV,
- SPV_OPERAND_TYPE_OPTIONAL_CIV,
- SPV_OPERAND_TYPE_OPTIONAL_CIV,
- SPV_OPERAND_TYPE_OPTIONAL_CIV}));
+ EXPECT_THAT(
+ spvAlternatePatternFollowingImmediate({SPV_OPERAND_TYPE_RESULT_ID,
+ SPV_OPERAND_TYPE_FP_ROUNDING_MODE,
+ SPV_OPERAND_TYPE_ID}),
+ Eq(spv_operand_pattern_t{
+ SPV_OPERAND_TYPE_OPTIONAL_CIV, SPV_OPERAND_TYPE_RESULT_ID,
+ SPV_OPERAND_TYPE_OPTIONAL_CIV, SPV_OPERAND_TYPE_OPTIONAL_CIV}));
+ EXPECT_THAT(
+ spvAlternatePatternFollowingImmediate(
+ {SPV_OPERAND_TYPE_RESULT_ID, SPV_OPERAND_TYPE_DIMENSIONALITY,
+ SPV_OPERAND_TYPE_LINKAGE_TYPE,
+ SPV_OPERAND_TYPE_FUNCTION_PARAMETER_ATTRIBUTE,
+ SPV_OPERAND_TYPE_FP_ROUNDING_MODE, SPV_OPERAND_TYPE_ID,
+ SPV_OPERAND_TYPE_VARIABLE_ID}),
+ Eq(spv_operand_pattern_t{
+ SPV_OPERAND_TYPE_OPTIONAL_CIV, SPV_OPERAND_TYPE_RESULT_ID,
+ SPV_OPERAND_TYPE_OPTIONAL_CIV, SPV_OPERAND_TYPE_OPTIONAL_CIV,
+ SPV_OPERAND_TYPE_OPTIONAL_CIV, SPV_OPERAND_TYPE_OPTIONAL_CIV,
+ SPV_OPERAND_TYPE_OPTIONAL_CIV, SPV_OPERAND_TYPE_OPTIONAL_CIV}));
}
TEST(AlternatePatternFollowingImmediate, ResultIdMiddle) {
@@ -252,16 +250,16 @@ TEST(AlternatePatternFollowingImmediate, ResultIdBack) {
EXPECT_THAT(spvAlternatePatternFollowingImmediate(
{SPV_OPERAND_TYPE_FP_ROUNDING_MODE, SPV_OPERAND_TYPE_ID,
SPV_OPERAND_TYPE_RESULT_ID}),
- Eq(spv_operand_pattern_t{
- SPV_OPERAND_TYPE_OPTIONAL_CIV, SPV_OPERAND_TYPE_RESULT_ID}));
+ Eq(spv_operand_pattern_t{SPV_OPERAND_TYPE_OPTIONAL_CIV,
+ SPV_OPERAND_TYPE_RESULT_ID}));
EXPECT_THAT(
spvAlternatePatternFollowingImmediate(
{SPV_OPERAND_TYPE_DIMENSIONALITY, SPV_OPERAND_TYPE_LINKAGE_TYPE,
SPV_OPERAND_TYPE_FUNCTION_PARAMETER_ATTRIBUTE,
SPV_OPERAND_TYPE_FP_ROUNDING_MODE, SPV_OPERAND_TYPE_ID,
SPV_OPERAND_TYPE_VARIABLE_ID, SPV_OPERAND_TYPE_RESULT_ID}),
- Eq(spv_operand_pattern_t{
- SPV_OPERAND_TYPE_OPTIONAL_CIV, SPV_OPERAND_TYPE_RESULT_ID}));
+ Eq(spv_operand_pattern_t{SPV_OPERAND_TYPE_OPTIONAL_CIV,
+ SPV_OPERAND_TYPE_RESULT_ID}));
}
} // anonymous namespace
diff --git a/test/operand_test.cpp b/test/operand_test.cpp
index a9056a24..464d38fc 100644
--- a/test/operand_test.cpp
+++ b/test/operand_test.cpp
@@ -17,8 +17,8 @@
namespace {
using GetTargetTest = ::testing::TestWithParam<spv_target_env>;
-using ::testing::ValuesIn;
using std::vector;
+using ::testing::ValuesIn;
TEST_P(GetTargetTest, Default) {
spv_operand_table table;
diff --git a/test/opt/aggressive_dead_code_elim_test.cpp b/test/opt/aggressive_dead_code_elim_test.cpp
index a16eb47b..6982e517 100644
--- a/test/opt/aggressive_dead_code_elim_test.cpp
+++ b/test/opt/aggressive_dead_code_elim_test.cpp
@@ -24,10 +24,10 @@ using AggressiveDCETest = PassTest<::testing::Test>;
TEST_F(AggressiveDCETest, EliminateExtendedInst) {
// #version 140
- //
+ //
// in vec4 BaseColor;
// in vec4 Dead;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -103,21 +103,20 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- predefs1 + names_before + predefs2 + func_before,
- predefs1 + names_after + predefs2 + func_after,
- true, true);
+ predefs1 + names_before + predefs2 + func_before,
+ predefs1 + names_after + predefs2 + func_after, true, true);
}
TEST_F(AggressiveDCETest, NoEliminateFrexp) {
// Note: SPIR-V hand-edited to utilize Frexp
//
// #version 450
- //
+ //
// in vec4 BaseColor;
// in vec4 Dead;
// out vec4 Color;
// out ivec4 iv2;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -204,19 +203,18 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- predefs1 + names_before + predefs2 + func_before,
- predefs1 + names_after + predefs2 + func_after,
- true, true);
+ predefs1 + names_before + predefs2 + func_before,
+ predefs1 + names_after + predefs2 + func_after, true, true);
}
TEST_F(AggressiveDCETest, EliminateDecorate) {
// Note: The SPIR-V was hand-edited to add the OpDecorate
//
// #version 140
- //
+ //
// in vec4 BaseColor;
// in vec4 Dead;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -294,17 +292,16 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- predefs1 + names_before + predefs2 + func_before,
- predefs1 + names_after + predefs2 + func_after,
- true, true);
+ predefs1 + names_before + predefs2 + func_before,
+ predefs1 + names_after + predefs2 + func_after, true, true);
}
TEST_F(AggressiveDCETest, Simple) {
// #version 140
- //
+ //
// in vec4 BaseColor;
// in vec4 Dead;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -379,20 +376,19 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- predefs1 + names_before + predefs2 + func_before,
- predefs1 + names_after + predefs2 + func_after,
- true, true);
+ predefs1 + names_before + predefs2 + func_before,
+ predefs1 + names_after + predefs2 + func_after, true, true);
}
TEST_F(AggressiveDCETest, DeadCycle) {
// #version 140
// in vec4 BaseColor;
- //
+ //
// layout(std140) uniform U_t
// {
// int g_I ;
// } ;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -534,17 +530,16 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- predefs1 + names_before + predefs2 + func_before,
- predefs1 + names_after + predefs2 + func_after,
- true, true);
+ predefs1 + names_before + predefs2 + func_before,
+ predefs1 + names_after + predefs2 + func_after, true, true);
}
TEST_F(AggressiveDCETest, OptWhitelistExtension) {
// #version 140
- //
+ //
// in vec4 BaseColor;
// in vec4 Dead;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -620,17 +615,16 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- predefs1 + names_before + predefs2 + func_before,
- predefs1 + names_after + predefs2 + func_after,
- true, true);
+ predefs1 + names_before + predefs2 + func_before,
+ predefs1 + names_after + predefs2 + func_after, true, true);
}
TEST_F(AggressiveDCETest, NoOptBlacklistExtension) {
// #version 140
- //
+ //
// in vec4 BaseColor;
// in vec4 Dead;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -676,8 +670,7 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- assembly, assembly, true, true);
+ SinglePassRunAndCheck<opt::AggressiveDCEPass>(assembly, assembly, true, true);
}
TEST_F(AggressiveDCETest, ElimWithCall) {
@@ -686,11 +679,11 @@ TEST_F(AggressiveDCETest, ElimWithCall) {
// #version 140
// in vec4 i1;
// in vec4 i2;
- //
+ //
// void nothing(vec4 v)
// {
// }
- //
+ //
// void main()
// {
// vec4 v1 = i1;
@@ -811,15 +804,15 @@ TEST_F(AggressiveDCETest, NoParamElim) {
// This demonstrates that unused parameters are not eliminated, but
// dead uses of them are.
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// vec4 foo(vec4 v1, vec4 v2)
// {
// vec4 t = -v1;
// return v2;
// }
- //
+ //
// void main()
// {
// vec4 dead;
@@ -1037,7 +1030,7 @@ OpFunctionEnd
)";
const std::string func_after =
- R"(%main = OpFunction %void None %9
+ R"(%main = OpFunction %void None %9
%25 = OpLabel
%26 = OpLoad %v2float %texCoords
%29 = OpLoad %15 %sampler15
@@ -1055,15 +1048,15 @@ TEST_F(AggressiveDCETest, NoParamStoreElim) {
// Should not eliminate stores to params
//
// #version 450
- //
+ //
// layout(location = 0) in vec4 BaseColor;
// layout(location = 0) out vec4 OutColor;
- //
+ //
// void foo(in vec4 v1, out vec4 v2)
// {
// v2 = -v1;
// }
- //
+ //
// void main()
// {
// foo(BaseColor, OutColor);
@@ -1118,8 +1111,7 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- assembly, assembly, true, true);
+ SinglePassRunAndCheck<opt::AggressiveDCEPass>(assembly, assembly, true, true);
}
TEST_F(AggressiveDCETest, PrivateStoreElimInEntryNoCalls) {
@@ -1131,7 +1123,7 @@ TEST_F(AggressiveDCETest, PrivateStoreElimInEntryNoCalls) {
// layout(location = 0) out vec4 OutColor;
//
// private vec4 dv;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -1206,12 +1198,12 @@ TEST_F(AggressiveDCETest, NoPrivateStoreElimIfLoad) {
// Note: Not legal GLSL
//
// #version 450
- //
+ //
// layout(location = 0) in vec4 BaseColor;
// layout(location = 0) out vec4 OutColor;
//
// private vec4 pv;
- //
+ //
// void main()
// {
// pv = BaseColor;
@@ -1252,8 +1244,7 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- assembly, assembly, true, true);
+ SinglePassRunAndCheck<opt::AggressiveDCEPass>(assembly, assembly, true, true);
}
TEST_F(AggressiveDCETest, NoPrivateStoreElimWithCall) {
@@ -1261,17 +1252,17 @@ TEST_F(AggressiveDCETest, NoPrivateStoreElimWithCall) {
// Note: Not legal GLSL
//
// #version 450
- //
+ //
// layout(location = 0) in vec4 BaseColor;
// layout(location = 0) out vec4 OutColor;
//
// private vec4 v1;
- //
+ //
// void foo()
// {
// OutColor = -v1;
// }
- //
+ //
// void main()
// {
// v1 = BaseColor;
@@ -1318,8 +1309,7 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- assembly, assembly, true, true);
+ SinglePassRunAndCheck<opt::AggressiveDCEPass>(assembly, assembly, true, true);
}
TEST_F(AggressiveDCETest, NoPrivateStoreElimInNonEntry) {
@@ -1327,17 +1317,17 @@ TEST_F(AggressiveDCETest, NoPrivateStoreElimInNonEntry) {
// Note: Not legal GLSL
//
// #version 450
- //
+ //
// layout(location = 0) in vec4 BaseColor;
// layout(location = 0) out vec4 OutColor;
//
// private vec4 v1;
- //
+ //
// void foo()
// {
// v1 = BaseColor;
// }
- //
+ //
// void main()
// {
// foo();
@@ -1384,16 +1374,15 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- assembly, assembly, true, true);
+ SinglePassRunAndCheck<opt::AggressiveDCEPass>(assembly, assembly, true, true);
}
TEST_F(AggressiveDCETest, EliminateDeadIfThenElse) {
// #version 450
- //
+ //
// layout(location = 0) in vec4 BaseColor;
// layout(location = 0) out vec4 OutColor;
- //
+ //
// void main()
// {
// float d;
@@ -1505,17 +1494,15 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- predefs_before + func_before,
- predefs_after + func_after,
- true, true);
+ predefs_before + func_before, predefs_after + func_after, true, true);
}
TEST_F(AggressiveDCETest, EliminateDeadIfThen) {
// #version 450
- //
+ //
// layout(location = 0) in vec4 BaseColor;
// layout(location = 0) out vec4 OutColor;
- //
+ //
// void main()
// {
// float d;
@@ -1618,17 +1605,15 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- predefs_before + func_before,
- predefs_after + func_after,
- true, true);
+ predefs_before + func_before, predefs_after + func_after, true, true);
}
TEST_F(AggressiveDCETest, EliminateDeadIfThenElseNested) {
// #version 450
- //
+ //
// layout(location = 0) in vec4 BaseColor;
// layout(location = 0) out vec4 OutColor;
- //
+ //
// void main()
// {
// float d;
@@ -1768,17 +1753,15 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- predefs_before + func_before,
- predefs_after + func_after,
- true, true);
+ predefs_before + func_before, predefs_after + func_after, true, true);
}
TEST_F(AggressiveDCETest, NoEliminateLiveIfThenElse) {
// #version 450
- //
+ //
// layout(location = 0) in vec4 BaseColor;
// layout(location = 0) out vec4 OutColor;
- //
+ //
// void main()
// {
// float t;
@@ -1844,16 +1827,15 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- assembly, assembly, true, true);
+ SinglePassRunAndCheck<opt::AggressiveDCEPass>(assembly, assembly, true, true);
}
TEST_F(AggressiveDCETest, NoEliminateLiveIfThenElseNested) {
// #version 450
- //
+ //
// layout(location = 0) in vec4 BaseColor;
// layout(location = 0) out vec4 OutColor;
- //
+ //
// void main()
// {
// float t;
@@ -1945,18 +1927,17 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- assembly, assembly, true, true);
+ SinglePassRunAndCheck<opt::AggressiveDCEPass>(assembly, assembly, true, true);
}
TEST_F(AggressiveDCETest, NoEliminateIfWithPhi) {
// Note: Assembly hand-optimized from GLSL
//
// #version 450
- //
+ //
// layout(location = 0) in vec4 BaseColor;
// layout(location = 0) out vec4 OutColor;
- //
+ //
// void main()
// {
// float t;
@@ -2013,16 +1994,15 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- assembly, assembly, true, true);
+ SinglePassRunAndCheck<opt::AggressiveDCEPass>(assembly, assembly, true, true);
}
TEST_F(AggressiveDCETest, EliminateEntireFunctionBody) {
// #version 450
- //
+ //
// layout(location = 0) in vec4 BaseColor;
// layout(location = 0) out vec4 OutColor;
- //
+ //
// void main()
// {
// float d;
@@ -2127,12 +2107,9 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::AggressiveDCEPass>(
- predefs_before + func_before,
- predefs_after + func_after,
- true, true);
+ predefs_before + func_before, predefs_after + func_after, true, true);
}
-
// TODO(greg-lunarg): Add tests to verify handling of these cases:
//
// Check that logical addressing required
diff --git a/test/opt/assembly_builder.h b/test/opt/assembly_builder.h
index ffed4ac0..e1e87e19 100644
--- a/test/opt/assembly_builder.h
+++ b/test/opt/assembly_builder.h
@@ -88,10 +88,12 @@ class AssemblyBuilder {
types_consts_globals_(),
main_func_(),
main_func_postamble_({
- "OpReturn", "OpFunctionEnd",
+ "OpReturn",
+ "OpFunctionEnd",
}) {
AppendTypesConstantsGlobals({
- "%void = OpTypeVoid", "%main_func_type = OpTypeFunction %void",
+ "%void = OpTypeVoid",
+ "%main_func_type = OpTypeFunction %void",
});
AppendInMain({
"%main = OpFunction %void None %main_func_type",
diff --git a/test/opt/assembly_builder_test.cpp b/test/opt/assembly_builder_test.cpp
index 50bb46c1..1d6084d1 100644
--- a/test/opt/assembly_builder_test.cpp
+++ b/test/opt/assembly_builder_test.cpp
@@ -166,8 +166,11 @@ TEST_F(AssemblyBuilderTest, ShaderWithConstants) {
TEST_F(AssemblyBuilderTest, SpecConstants) {
AssemblyBuilder builder;
builder.AppendTypesConstantsGlobals({
- "%bool = OpTypeBool", "%uint = OpTypeInt 32 0", "%int = OpTypeInt 32 1",
- "%float = OpTypeFloat 32", "%double = OpTypeFloat 64",
+ "%bool = OpTypeBool",
+ "%uint = OpTypeInt 32 0",
+ "%int = OpTypeInt 32 1",
+ "%float = OpTypeFloat 32",
+ "%double = OpTypeFloat 64",
"%v2int = OpTypeVector %int 2",
"%spec_true = OpSpecConstantTrue %bool",
diff --git a/test/opt/block_merge_test.cpp b/test/opt/block_merge_test.cpp
index 2133feee..de5e2604 100644
--- a/test/opt/block_merge_test.cpp
+++ b/test/opt/block_merge_test.cpp
@@ -27,9 +27,9 @@ TEST_F(BlockMergeTest, Simple) {
// between two statements in main.
//
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -84,8 +84,8 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::BlockMergePass>(
- predefs + before, predefs + after, true, true);
+ SinglePassRunAndCheck<opt::BlockMergePass>(predefs + before, predefs + after,
+ true, true);
}
TEST_F(BlockMergeTest, EmptyBlock) {
@@ -93,9 +93,9 @@ TEST_F(BlockMergeTest, EmptyBlock) {
// after two statements in main.
//
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -154,8 +154,8 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::BlockMergePass>(
- predefs + before, predefs + after, true, true);
+ SinglePassRunAndCheck<opt::BlockMergePass>(predefs + before, predefs + after,
+ true, true);
}
TEST_F(BlockMergeTest, NoOptOfMergeOrContinueBlock) {
@@ -164,7 +164,7 @@ TEST_F(BlockMergeTest, NoOptOfMergeOrContinueBlock) {
//
// #version 140
// in vec4 BaseColor;
- //
+ //
// void main()
// {
// while (true) {
@@ -212,8 +212,7 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::BlockMergePass>(
- assembly, assembly, true, true);
+ SinglePassRunAndCheck<opt::BlockMergePass>(assembly, assembly, true, true);
}
TEST_F(BlockMergeTest, NestedInControlFlow) {
@@ -222,16 +221,16 @@ TEST_F(BlockMergeTest, NestedInControlFlow) {
//
// #version 140
// in vec4 BaseColor;
- //
+ //
// layout(std140) uniform U_t
// {
// bool g_B ;
// } ;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
- // if (g_B)
+ // if (g_B)
// vec4 v = v * 0.25;
// gl_FragColor = v;
// }
@@ -325,8 +324,8 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::BlockMergePass>(
- predefs + before, predefs + after, true, true);
+ SinglePassRunAndCheck<opt::BlockMergePass>(predefs + before, predefs + after,
+ true, true);
}
// TODO(greg-lunarg): Add tests to verify handling of these cases:
diff --git a/test/opt/cfg_cleanup_test.cpp b/test/opt/cfg_cleanup_test.cpp
index 9699ee47..aa6ac779 100644
--- a/test/opt/cfg_cleanup_test.cpp
+++ b/test/opt/cfg_cleanup_test.cpp
@@ -149,7 +149,6 @@ OpFunctionEnd
SinglePassRunAndCheck<opt::CFGCleanupPass>(before, after, true, true);
}
-
TEST_F(CFGCleanupTest, UpdatePhis) {
const std::string before = R"(
OpCapability Shader
@@ -252,7 +251,7 @@ TEST_F(CFGCleanupTest, RemoveNamedLabels) {
OpReturn
OpFunctionEnd)";
- const std::string after = R"(OpCapability Shader
+ const std::string after = R"(OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Vertex %main "main"
@@ -270,7 +269,7 @@ OpFunctionEnd
}
TEST_F(CFGCleanupTest, RemovePhiArgsFromFarBlocks) {
- const std::string before = R"(
+ const std::string before = R"(
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
@@ -318,7 +317,7 @@ TEST_F(CFGCleanupTest, RemovePhiArgsFromFarBlocks) {
OpReturn
OpFunctionEnd)";
- const std::string after = R"(OpCapability Shader
+ const std::string after = R"(OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %y %outparm
@@ -368,7 +367,7 @@ OpFunctionEnd
}
TEST_F(CFGCleanupTest, RemovePhiConstantArgs) {
- const std::string before = R"(
+ const std::string before = R"(
OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
@@ -409,7 +408,7 @@ TEST_F(CFGCleanupTest, RemovePhiConstantArgs) {
OpReturn
OpFunctionEnd)";
- const std::string after = R"(OpCapability Shader
+ const std::string after = R"(OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %y %outparm
diff --git a/test/opt/common_uniform_elim_test.cpp b/test/opt/common_uniform_elim_test.cpp
index bc642f3d..b2b94097 100644
--- a/test/opt/common_uniform_elim_test.cpp
+++ b/test/opt/common_uniform_elim_test.cpp
@@ -30,13 +30,13 @@ TEST_F(CommonUniformElimTest, Basic1) {
// #version 140
// in vec4 BaseColor;
// in float fi;
- //
+ //
// layout(std140) uniform U_t
// {
// float g_F;
// float g_F2;
// } ;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -179,13 +179,13 @@ TEST_F(CommonUniformElimTest, Basic2) {
// in vec4 BaseColor;
// in float fi;
// in float fi2;
- //
+ //
// layout(std140) uniform U_t
// {
// float g_F;
// float g_F2;
// } ;
- //
+ //
// void main()
// {
// float f = fi;
@@ -340,13 +340,13 @@ TEST_F(CommonUniformElimTest, Basic3) {
// #version 140
// in vec4 BaseColor;
// in float fi;
- //
+ //
// layout(std140) uniform U_t
// {
// bool g_B;
// float g_F;
// } ;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -458,12 +458,12 @@ TEST_F(CommonUniformElimTest, Loop) {
// #version 140
// in vec4 BC;
// in vec4 BC2;
- //
+ //
// layout(std140) uniform U_t
// {
// float g_F;
// } ;
- //
+ //
// void main()
// {
// vec4 v = BC;
@@ -663,7 +663,7 @@ OpFunctionEnd
predefs + before, predefs + after, true, true);
}
- TEST_F(CommonUniformElimTest, Volatile1) {
+TEST_F(CommonUniformElimTest, Volatile1) {
// Note: This test exemplifies the following:
// - Same test as Basic1 with the exception that
// the Load of g_F in else-branch is volatile
@@ -810,7 +810,7 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::CommonUniformElimPass>(
- predefs + before, predefs + after, true, true);
+ predefs + before, predefs + after, true, true);
}
TEST_F(CommonUniformElimTest, Volatile2) {
@@ -918,7 +918,8 @@ OpReturn
OpFunctionEnd
)";
- opt::Pass::Status res = std::get<1>(SinglePassRunAndDisassemble<opt::CommonUniformElimPass>(text, true));
+ opt::Pass::Status res = std::get<1>(
+ SinglePassRunAndDisassemble<opt::CommonUniformElimPass>(text, true));
EXPECT_EQ(res, opt::Pass::Status::SuccessWithoutChange);
}
@@ -955,7 +956,7 @@ TEST_F(CommonUniformElimTest, Volatile3) {
// }
const std::string text =
- R"(OpCapability Shader
+ R"(OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %BaseColor %fi
@@ -1034,7 +1035,8 @@ OpReturn
OpFunctionEnd
)";
- opt::Pass::Status res = std::get<1>(SinglePassRunAndDisassemble<opt::CommonUniformElimPass>(text, true));
+ opt::Pass::Status res = std::get<1>(
+ SinglePassRunAndDisassemble<opt::CommonUniformElimPass>(text, true));
EXPECT_EQ(res, opt::Pass::Status::SuccessWithoutChange);
}
// TODO(greg-lunarg): Add tests to verify handling of these cases:
diff --git a/test/opt/compact_ids_test.cpp b/test/opt/compact_ids_test.cpp
index ac95d4a1..d5fcfb95 100644
--- a/test/opt/compact_ids_test.cpp
+++ b/test/opt/compact_ids_test.cpp
@@ -28,7 +28,7 @@ using CompactIdsTest = PassTest<::testing::Test>;
TEST_F(CompactIdsTest, PassOff) {
const std::string before =
-R"(OpCapability Addresses
+ R"(OpCapability Addresses
OpCapability Kernel
OpCapability GenericPointer
OpCapability Linkage
@@ -48,7 +48,7 @@ OpMemoryModel Physical32 OpenCL
TEST_F(CompactIdsTest, PassOn) {
const std::string before =
-R"(OpCapability Addresses
+ R"(OpCapability Addresses
OpCapability Kernel
OpCapability GenericPointer
OpCapability Linkage
@@ -67,7 +67,7 @@ OpFunctionEnd
)";
const std::string after =
-R"(OpCapability Addresses
+ R"(OpCapability Addresses
OpCapability Kernel
OpCapability GenericPointer
OpCapability Linkage
diff --git a/test/opt/dead_branch_elim_test.cpp b/test/opt/dead_branch_elim_test.cpp
index 661f9c7a..148c546b 100644
--- a/test/opt/dead_branch_elim_test.cpp
+++ b/test/opt/dead_branch_elim_test.cpp
@@ -24,9 +24,9 @@ using DeadBranchElimTest = PassTest<::testing::Test>;
TEST_F(DeadBranchElimTest, IfThenElseTrue) {
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// void main()
// {
// vec4 v;
@@ -99,15 +99,15 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::DeadBranchElimPass>(
- predefs + before, predefs + after, true, true);
+ SinglePassRunAndCheck<opt::DeadBranchElimPass>(predefs + before,
+ predefs + after, true, true);
}
TEST_F(DeadBranchElimTest, IfThenElseFalse) {
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// void main()
// {
// vec4 v;
@@ -180,15 +180,15 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::DeadBranchElimPass>(
- predefs + before, predefs + after, true, true);
+ SinglePassRunAndCheck<opt::DeadBranchElimPass>(predefs + before,
+ predefs + after, true, true);
}
TEST_F(DeadBranchElimTest, IfThenTrue) {
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -262,15 +262,15 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::DeadBranchElimPass>(
- predefs + before, predefs + after, true, true);
+ SinglePassRunAndCheck<opt::DeadBranchElimPass>(predefs + before,
+ predefs + after, true, true);
}
TEST_F(DeadBranchElimTest, IfThenFalse) {
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -339,8 +339,8 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::DeadBranchElimPass>(
- predefs + before, predefs + after, true, true);
+ SinglePassRunAndCheck<opt::DeadBranchElimPass>(predefs + before,
+ predefs + after, true, true);
}
TEST_F(DeadBranchElimTest, IfThenElsePhiTrue) {
@@ -348,7 +348,7 @@ TEST_F(DeadBranchElimTest, IfThenElsePhiTrue) {
// Note: The SPIR-V has had store/load elimination and phi insertion
//
// #version 140
- //
+ //
// void main()
// {
// vec4 v;
@@ -412,8 +412,8 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::DeadBranchElimPass>(
- predefs + before, predefs + after, true, true);
+ SinglePassRunAndCheck<opt::DeadBranchElimPass>(predefs + before,
+ predefs + after, true, true);
}
TEST_F(DeadBranchElimTest, IfThenElsePhiFalse) {
@@ -421,7 +421,7 @@ TEST_F(DeadBranchElimTest, IfThenElsePhiFalse) {
// Note: The SPIR-V has had store/load elimination and phi insertion
//
// #version 140
- //
+ //
// void main()
// {
// vec4 v;
@@ -485,18 +485,18 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::DeadBranchElimPass>(
- predefs + before, predefs + after, true, true);
+ SinglePassRunAndCheck<opt::DeadBranchElimPass>(predefs + before,
+ predefs + after, true, true);
}
TEST_F(DeadBranchElimTest, CompoundIfThenElseFalse) {
// #version 140
- //
+ //
// layout(std140) uniform U_t
// {
// bool g_B ;
// } ;
- //
+ //
// void main()
// {
// vec4 v;
@@ -620,12 +620,11 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::DeadBranchElimPass>(
- predefs + before, predefs + after, true, true);
+ SinglePassRunAndCheck<opt::DeadBranchElimPass>(predefs + before,
+ predefs + after, true, true);
}
TEST_F(DeadBranchElimTest, PreventOrphanMerge) {
-
const std::string predefs =
R"(OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
@@ -685,12 +684,11 @@ OpKill
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::DeadBranchElimPass>(
- predefs + before, predefs + after, true, true);
+ SinglePassRunAndCheck<opt::DeadBranchElimPass>(predefs + before,
+ predefs + after, true, true);
}
TEST_F(DeadBranchElimTest, HandleOrphanMerge) {
-
const std::string predefs =
R"(OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
@@ -747,8 +745,8 @@ OpReturnValue %13
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::DeadBranchElimPass>(
- predefs + before, predefs + after, true, true);
+ SinglePassRunAndCheck<opt::DeadBranchElimPass>(predefs + before,
+ predefs + after, true, true);
}
TEST_F(DeadBranchElimTest, KeepContinueTargetWhenKillAfterMerge) {
@@ -845,16 +843,16 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::DeadBranchElimPass>(
- predefs + before, predefs + after, true, true);
+ SinglePassRunAndCheck<opt::DeadBranchElimPass>(predefs + before,
+ predefs + after, true, true);
}
TEST_F(DeadBranchElimTest, DecorateDeleted) {
// Note: SPIR-V hand-edited to add decoration
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -956,10 +954,10 @@ OpFunctionEnd
TEST_F(DeadBranchElimTest, LoopInDeadBranch) {
// #version 450
- //
+ //
// layout(location = 0) in vec4 BaseColor;
// layout(location = 0) out vec4 OutColor;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -1055,16 +1053,16 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::DeadBranchElimPass>(
- predefs + before, predefs + after, true, true);
+ SinglePassRunAndCheck<opt::DeadBranchElimPass>(predefs + before,
+ predefs + after, true, true);
}
TEST_F(DeadBranchElimTest, SwitchLiveCase) {
// #version 450
- //
+ //
// layout (location=0) in vec4 BaseColor;
// layout (location=0) out vec4 OutColor;
- //
+ //
// void main()
// {
// switch (1) {
@@ -1148,16 +1146,16 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::DeadBranchElimPass>(
- predefs + before, predefs + after, true, true);
+ SinglePassRunAndCheck<opt::DeadBranchElimPass>(predefs + before,
+ predefs + after, true, true);
}
TEST_F(DeadBranchElimTest, SwitchLiveDefault) {
// #version 450
- //
+ //
// layout (location=0) in vec4 BaseColor;
// layout (location=0) out vec4 OutColor;
- //
+ //
// void main()
// {
// switch (7) {
@@ -1241,8 +1239,8 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::DeadBranchElimPass>(
- predefs + before, predefs + after, true, true);
+ SinglePassRunAndCheck<opt::DeadBranchElimPass>(predefs + before,
+ predefs + after, true, true);
}
TEST_F(DeadBranchElimTest, SwitchLiveCaseBreakFromLoop) {
@@ -1251,7 +1249,7 @@ TEST_F(DeadBranchElimTest, SwitchLiveCaseBreakFromLoop) {
// This construct is currently formed by inlining a function
// containing early returns from the cases of a switch. The
// function is wrapped in a one-trip loop and returns are
- // translated to branches to the loop's merge block.
+ // translated to branches to the loop's merge block.
const std::string predefs =
R"(OpCapability Shader
@@ -1344,8 +1342,8 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::DeadBranchElimPass>(
- predefs + before, predefs + after, true, true);
+ SinglePassRunAndCheck<opt::DeadBranchElimPass>(predefs + before,
+ predefs + after, true, true);
}
// TODO(greg-lunarg): Add tests to verify handling of these cases:
diff --git a/test/opt/def_use_test.cpp b/test/opt/def_use_test.cpp
index b51f4898..3533de19 100644
--- a/test/opt/def_use_test.cpp
+++ b/test/opt/def_use_test.cpp
@@ -34,11 +34,10 @@ using namespace spvtools;
using spvtools::opt::analysis::DefUseManager;
// Returns the number of uses of |id|.
-uint32_t NumUses(const std::unique_ptr<ir::IRContext> &context, uint32_t id) {
+uint32_t NumUses(const std::unique_ptr<ir::IRContext>& context, uint32_t id) {
uint32_t count = 0;
- context->get_def_use_mgr()->ForEachUse(id, [&count](ir::Instruction*, uint32_t) {
- ++count;
- });
+ context->get_def_use_mgr()->ForEachUse(
+ id, [&count](ir::Instruction*, uint32_t) { ++count; });
return count;
}
@@ -46,11 +45,13 @@ uint32_t NumUses(const std::unique_ptr<ir::IRContext> &context, uint32_t id) {
//
// If |id| is used multiple times in a single instruction, that instruction's
// opcode will appear a corresponding number of times.
-std::vector<SpvOp> GetUseOpcodes(const std::unique_ptr<ir::IRContext> &context, uint32_t id) {
+std::vector<SpvOp> GetUseOpcodes(const std::unique_ptr<ir::IRContext>& context,
+ uint32_t id) {
std::vector<SpvOp> opcodes;
- context->get_def_use_mgr()->ForEachUse(id, [&opcodes](ir::Instruction* user, uint32_t) {
- opcodes.push_back(user->opcode());
- });
+ context->get_def_use_mgr()->ForEachUse(
+ id, [&opcodes](ir::Instruction* user, uint32_t) {
+ opcodes.push_back(user->opcode());
+ });
return opcodes;
}
@@ -109,7 +110,7 @@ UserMap BuildAllUsers(const DefUseManager* mgr, uint32_t idBound) {
UserMap userMap;
for (uint32_t id = 0; id != idBound; ++id) {
if (mgr->GetDef(id)) {
- mgr->ForEachUser(id, [id,&userMap](ir::Instruction* user) {
+ mgr->ForEachUser(id, [id, &userMap](ir::Instruction* user) {
if (user->opcode() != SpvOpConstant) {
userMap[id].push_back(user);
}
@@ -121,8 +122,7 @@ UserMap BuildAllUsers(const DefUseManager* mgr, uint32_t idBound) {
// Constants don't disassemble properly without a full context, so skip them as
// checks.
-void CheckUse(const InstDefUse& expected_defs_uses,
- const DefUseManager* mgr,
+void CheckUse(const InstDefUse& expected_defs_uses, const DefUseManager* mgr,
uint32_t idBound) {
UserMap actual_uses = BuildAllUsers(mgr, idBound);
// Check uses.
@@ -1252,9 +1252,9 @@ TEST(DefUseTest, OpSwitch) {
(void)context->get_def_use_mgr();
// Do a bunch replacements.
- context->ReplaceAllUsesWith(11, 7); // to existing id
+ context->ReplaceAllUsesWith(11, 7); // to existing id
context->ReplaceAllUsesWith(10, 11); // to existing id
- context->ReplaceAllUsesWith(9, 10); // to existing id
+ context->ReplaceAllUsesWith(9, 10); // to existing id
// clang-format off
const char modified_text[] =
@@ -1340,7 +1340,7 @@ TEST_P(AnalyzeInstDefUseTest, Case) {
CheckDef(tc.expected_define_use, manager.id_to_defs());
CheckUse(tc.expected_define_use, &manager, context->module()->IdBound());
- //CheckUse(tc.expected_define_use, manager.id_to_uses());
+ // CheckUse(tc.expected_define_use, manager.id_to_uses());
}
// clang-format off
@@ -1387,14 +1387,13 @@ TEST(AnalyzeInstDefUse, UseWithNoResultId) {
manager.AnalyzeInstDefUse(&branch);
context.module()->SetIdBound(3);
- InstDefUse expected =
- {
- // defs
- {
- {2, "%2 = OpLabel"},
- },
- // uses
- {{2, {"OpBranch %2"}}},
+ InstDefUse expected = {
+ // defs
+ {
+ {2, "%2 = OpLabel"},
+ },
+ // uses
+ {{2, {"OpBranch %2"}}},
};
CheckDef(expected, manager.id_to_defs());
@@ -1415,15 +1414,16 @@ TEST(AnalyzeInstDefUse, AddNewInstruction) {
ir::Instruction newInst(context.get(), SpvOpConstantTrue, 1, 2, {});
manager.AnalyzeInstDefUse(&newInst);
- InstDefUse expected =
- {
- { // defs
- {1, "%1 = OpTypeBool"},
- {2, "%2 = OpConstantTrue %1"},
- },
- { // uses
- {1, {"%2 = OpConstantTrue %1"}},
- },
+ InstDefUse expected = {
+ {
+ // defs
+ {1, "%1 = OpTypeBool"},
+ {2, "%2 = OpConstantTrue %1"},
+ },
+ {
+ // uses
+ {1, {"%2 = OpConstantTrue %1"}},
+ },
};
CheckDef(expected, manager.id_to_defs());
@@ -1461,7 +1461,8 @@ TEST_P(KillInstTest, Case) {
EXPECT_EQ(tc.after, DisassembleModule(context->module()));
CheckDef(tc.expected_define_use, context->get_def_use_mgr()->id_to_defs());
- CheckUse(tc.expected_define_use, context->get_def_use_mgr(), context->module()->IdBound());
+ CheckUse(tc.expected_define_use, context->get_def_use_mgr(),
+ context->module()->IdBound());
}
// clang-format off
diff --git a/test/opt/eliminate_dead_const_test.cpp b/test/opt/eliminate_dead_const_test.cpp
index 474a6ea2..ebbb233a 100644
--- a/test/opt/eliminate_dead_const_test.cpp
+++ b/test/opt/eliminate_dead_const_test.cpp
@@ -59,7 +59,9 @@ TEST_F(EliminateDeadConstantBasicTest, BasicAllDeadConstants) {
// None of the above constants is ever used, so all of them should be
// eliminated.
const char* const_decl_opcodes[] = {
- " OpConstantTrue ", " OpConstantFalse ", " OpConstant ",
+ " OpConstantTrue ",
+ " OpConstantFalse ",
+ " OpConstant ",
};
// Skip lines that have any one of const_decl_opcodes.
const std::string expected_disassembly =
diff --git a/test/opt/inline_opaque_test.cpp b/test/opt/inline_opaque_test.cpp
index 76788945..d3588f7e 100644
--- a/test/opt/inline_opaque_test.cpp
+++ b/test/opt/inline_opaque_test.cpp
@@ -125,8 +125,7 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::InlineOpaquePass>(
- predefs + before + post_defs,
- predefs + after + post_defs, true, true);
+ predefs + before + post_defs, predefs + after + post_defs, true, true);
}
TEST_F(InlineOpaqueTest, InlineOpaqueReturn) {
@@ -216,8 +215,7 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::InlineOpaquePass>(
- predefs + before + post_defs,
- predefs + after + post_defs, true, true);
+ predefs + before + post_defs, predefs + after + post_defs, true, true);
}
TEST_F(InlineOpaqueTest, InlineInNonEntryPointFunction) {
@@ -331,21 +329,20 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::InlineOpaquePass>(
- predefs + before + post_defs,
- predefs + after + post_defs, true, true);
+ predefs + before + post_defs, predefs + after + post_defs, true, true);
}
TEST_F(InlineOpaqueTest, NoInlineNoOpaque) {
// Function without opaque interface is not inlined.
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// float foo(vec4 bar)
// {
// return bar.x + bar.y;
// }
- //
+ //
// void main()
// {
// vec4 color = vec4(foo(BaseColor));
@@ -405,8 +402,7 @@ OpReturnValue %31
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::InlineOpaquePass>(
- assembly, assembly, true, true);
+ SinglePassRunAndCheck<opt::InlineOpaquePass>(assembly, assembly, true, true);
}
} // anonymous namespace
diff --git a/test/opt/inline_test.cpp b/test/opt/inline_test.cpp
index b18a54e0..3eaf4dfd 100644
--- a/test/opt/inline_test.cpp
+++ b/test/opt/inline_test.cpp
@@ -24,14 +24,14 @@ using InlineTest = PassTest<::testing::Test>;
TEST_F(InlineTest, Simple) {
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// float foo(vec4 bar)
// {
// return bar.x + bar.y;
// }
- //
+ //
// void main()
// {
// vec4 color = vec4(foo(BaseColor));
@@ -134,23 +134,23 @@ TEST_F(InlineTest, Simple) {
TEST_F(InlineTest, Nested) {
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// float foo2(float f, float f2)
// {
// return f * f2;
// }
- //
+ //
// float foo(vec4 bar)
// {
// return foo2(bar.x + bar.y, bar.z);
// }
- //
+ //
// void main()
// {
// vec4 color = vec4(foo(BaseColor));
- // gl_FragColor = color;
+ // gl_FragColor = color;
// }
const std::vector<const char*> predefs = {
// clang-format off
@@ -284,20 +284,20 @@ TEST_F(InlineTest, Nested) {
TEST_F(InlineTest, InOutParameter) {
// #version 400
- //
+ //
// in vec4 Basecolor;
- //
+ //
// void foo(inout vec4 bar)
// {
// bar.z = bar.x + bar.y;
// }
- //
+ //
// void main()
// {
// vec4 b = Basecolor;
// foo(b);
// vec4 color = vec4(b.z);
- // gl_FragColor = color;
+ // gl_FragColor = color;
// }
const std::vector<const char*> predefs = {
// clang-format off
@@ -413,9 +413,9 @@ TEST_F(InlineTest, InOutParameter) {
TEST_F(InlineTest, BranchInCallee) {
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// float foo(vec4 bar)
// {
// float r = bar.x;
@@ -423,12 +423,12 @@ TEST_F(InlineTest, BranchInCallee) {
// r = -r;
// return r;
// }
- //
+ //
// void main()
// {
// vec4 color = vec4(foo(BaseColor));
- //
- // gl_FragColor = color;
+ //
+ // gl_FragColor = color;
// }
const std::vector<const char*> predefs = {
// clang-format off
@@ -549,9 +549,9 @@ TEST_F(InlineTest, BranchInCallee) {
TEST_F(InlineTest, PhiAfterCall) {
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// float foo(float bar)
// {
// float r = bar;
@@ -559,13 +559,13 @@ TEST_F(InlineTest, PhiAfterCall) {
// r = -r;
// return r;
// }
- //
+ //
// void main()
// {
// vec4 color = BaseColor;
// if (foo(color.x) > 2.0 && foo(color.y) > 2.0)
// color = vec4(0.0);
- // gl_FragColor = color;
+ // gl_FragColor = color;
// }
const std::vector<const char*> predefs = {
// clang-format off
@@ -744,12 +744,12 @@ TEST_F(InlineTest, PhiAfterCall) {
TEST_F(InlineTest, OpSampledImageOutOfBlock) {
// #version 450
- //
+ //
// uniform texture2D t2D;
// uniform sampler samp;
// out vec4 FragColor;
// in vec4 BaseColor;
- //
+ //
// float foo(vec4 bar)
// {
// float r = bar.x;
@@ -757,13 +757,13 @@ TEST_F(InlineTest, OpSampledImageOutOfBlock) {
// r = -r;
// return r;
// }
- //
+ //
// void main()
// {
// vec4 color1 = texture(sampler2D(t2D, samp), vec2(1.0));
// vec4 color2 = vec4(foo(BaseColor));
// vec4 color3 = texture(sampler2D(t2D, samp), vec2(0.5));
- // FragColor = (color1 + color2 + color3)/3;
+ // FragColor = (color1 + color2 + color3)/3;
// }
//
// Note: the before SPIR-V will need to be edited to create a use of
@@ -941,15 +941,15 @@ TEST_F(InlineTest, OpSampledImageOutOfBlock) {
TEST_F(InlineTest, OpImageOutOfBlock) {
// #version 450
- //
+ //
// uniform texture2D t2D;
// uniform sampler samp;
// uniform sampler samp2;
- //
+ //
// out vec4 FragColor;
- //
+ //
// in vec4 BaseColor;
- //
+ //
// float foo(vec4 bar)
// {
// float r = bar.x;
@@ -957,13 +957,13 @@ TEST_F(InlineTest, OpImageOutOfBlock) {
// r = -r;
// return r;
// }
- //
+ //
// void main()
// {
// vec4 color1 = texture(sampler2D(t2D, samp), vec2(1.0));
// vec4 color2 = vec4(foo(BaseColor));
// vec4 color3 = texture(sampler2D(t2D, samp2), vec2(0.5));
- // FragColor = (color1 + color2 + color3)/3;
+ // FragColor = (color1 + color2 + color3)/3;
// }
// Note: the before SPIR-V will need to be edited to create an OpImage
// from the first OpSampledImage, place it before the call and use it
@@ -1147,15 +1147,15 @@ TEST_F(InlineTest, OpImageOutOfBlock) {
TEST_F(InlineTest, OpImageAndOpSampledImageOutOfBlock) {
// #version 450
- //
+ //
// uniform texture2D t2D;
// uniform sampler samp;
// uniform sampler samp2;
- //
+ //
// out vec4 FragColor;
- //
+ //
// in vec4 BaseColor;
- //
+ //
// float foo(vec4 bar)
// {
// float r = bar.x;
@@ -1163,13 +1163,13 @@ TEST_F(InlineTest, OpImageAndOpSampledImageOutOfBlock) {
// r = -r;
// return r;
// }
- //
+ //
// void main()
// {
// vec4 color1 = texture(sampler2D(t2D, samp), vec2(1.0));
// vec4 color2 = vec4(foo(BaseColor));
// vec4 color3 = texture(sampler2D(t2D, samp2), vec2(0.5));
- // FragColor = (color1 + color2 + color3)/3;
+ // FragColor = (color1 + color2 + color3)/3;
// }
// Note: the before SPIR-V will need to be edited to create an OpImage
// and subsequent OpSampledImage that is used across the function call.
@@ -1353,20 +1353,20 @@ TEST_F(InlineTest, OpImageAndOpSampledImageOutOfBlock) {
TEST_F(InlineTest, EarlyReturnFunctionInlined) {
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// float foo(vec4 bar)
// {
// if (bar.x < 0.0)
// return 0.0;
// return bar.x;
// }
- //
+ //
// void main()
// {
// vec4 color = vec4(foo(BaseColor));
- // gl_FragColor = color;
+ // gl_FragColor = color;
// }
const std::string predefs =
@@ -1474,8 +1474,8 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::InlineExhaustivePass>(
- predefs + before + nonEntryFuncs,
- predefs + after + nonEntryFuncs, false, true);
+ predefs + before + nonEntryFuncs, predefs + after + nonEntryFuncs, false,
+ true);
}
TEST_F(InlineTest, EarlyReturnNotAppearingLastInFunctionInlined) {
@@ -1530,7 +1530,7 @@ OpFunctionEnd
)";
const std::string after =
-R"(%main = OpFunction %void None %4
+ R"(%main = OpFunction %void None %4
%10 = OpLabel
OpSelectionMerge %12 None
OpBranchConditional %true %13 %12
@@ -1544,25 +1544,25 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::InlineExhaustivePass>(
- predefs + nonEntryFuncs + before,
- predefs + nonEntryFuncs + after, false, true);
+ predefs + nonEntryFuncs + before, predefs + nonEntryFuncs + after, false,
+ true);
}
TEST_F(InlineTest, ForwardReferencesInPhiInlined) {
// The basic structure of the test case is like this:
- //
+ //
// int foo() {
// int result = 1;
// if (true) {
// result = 1;
- // }
+ // }
// return result;
- // }
- //
+ // }
+ //
// void main() {
// int x = foo();
// }
- //
+ //
// but with modifications: Using Phi instead of load/store, and the
// return block in foo appears before the "then" block.
@@ -1611,7 +1611,7 @@ OpFunctionEnd
)";
const std::string after =
-R"(%main = OpFunction %void None %6
+ R"(%main = OpFunction %void None %6
%19 = OpLabel
%21 = OpVariable %_ptr_Function_int Function
%x = OpVariable %_ptr_Function_int Function
@@ -1633,15 +1633,15 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::InlineExhaustivePass>(
- predefs + nonEntryFuncs + before,
- predefs + nonEntryFuncs + after, false, true);
+ predefs + nonEntryFuncs + before, predefs + nonEntryFuncs + after, false,
+ true);
}
TEST_F(InlineTest, EarlyReturnInLoopIsNotInlined) {
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// float foo(vec4 bar)
// {
// while (true) {
@@ -1650,11 +1650,11 @@ TEST_F(InlineTest, EarlyReturnInLoopIsNotInlined) {
// return bar.x;
// }
// }
- //
+ //
// void main()
// {
// vec4 color = vec4(foo(BaseColor));
- // gl_FragColor = color;
+ // gl_FragColor = color;
// }
const std::string assembly =
@@ -1729,8 +1729,8 @@ OpReturnValue %41
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::InlineExhaustivePass>(
- assembly, assembly, false, true);
+ SinglePassRunAndCheck<opt::InlineExhaustivePass>(assembly, assembly, false,
+ true);
}
TEST_F(InlineTest, ExternalFunctionIsNotInlined) {
@@ -1754,8 +1754,8 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::InlineExhaustivePass>(
- assembly, assembly, false, true);
+ SinglePassRunAndCheck<opt::InlineExhaustivePass>(assembly, assembly, false,
+ true);
}
TEST_F(InlineTest, SingleBlockLoopCallsMultiBlockCallee) {
@@ -1997,12 +1997,13 @@ OpFunctionEnd
true);
}
-TEST_F(InlineTest, MultiBlockLoopHeaderCallsFromToMultiBlockCalleeHavingSelectionMerge) {
+TEST_F(InlineTest,
+ MultiBlockLoopHeaderCallsFromToMultiBlockCalleeHavingSelectionMerge) {
// This is similar to SingleBlockLoopCallsMultiBlockCalleeHavingSelectionMerge
// but the call is in the header block of a multi block loop.
const std::string predefs =
-R"(OpCapability Shader
+ R"(OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %1 "main"
OpSource OpenCL_C 120
@@ -2019,7 +2020,7 @@ OpSource OpenCL_C 120
)";
const std::string nonEntryFuncs =
- R"(%12 = OpFunction %void None %11
+ R"(%12 = OpFunction %void None %11
%13 = OpLabel
%14 = OpCopyObject %int %int_1
OpSelectionMerge %15 None
@@ -2077,7 +2078,9 @@ OpFunctionEnd
true);
}
-TEST_F(InlineTest, SingleBlockLoopCallsMultiBlockCalleeHavingSelectionMergeAndMultiReturns) {
+TEST_F(
+ InlineTest,
+ SingleBlockLoopCallsMultiBlockCalleeHavingSelectionMergeAndMultiReturns) {
// This is similar to SingleBlockLoopCallsMultiBlockCalleeHavingSelectionMerge
// except that in addition to starting with a selection header, the
// callee also has multi returns.
@@ -2271,7 +2274,7 @@ TEST_F(InlineTest, Decorated1) {
// }
const std::string predefs =
- R"(OpCapability Shader
+ R"(OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %BaseColor %gl_FragColor
@@ -2288,7 +2291,7 @@ OpDecorate %9 RelaxedPrecision
)";
const std::string before =
- R"(%void = OpTypeVoid
+ R"(%void = OpTypeVoid
%11 = OpTypeFunction %void
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
@@ -2317,9 +2320,8 @@ OpReturn
OpFunctionEnd
)";
-
const std::string after =
- R"(OpDecorate %37 RelaxedPrecision
+ R"(OpDecorate %37 RelaxedPrecision
%void = OpTypeVoid
%11 = OpTypeFunction %void
%float = OpTypeFloat 32
@@ -2357,7 +2359,7 @@ OpFunctionEnd
)";
const std::string nonEntryFuncs =
- R"(%foo_vf4_ = OpFunction %float None %15
+ R"(%foo_vf4_ = OpFunction %float None %15
%bar = OpFunctionParameter %_ptr_Function_v4float
%27 = OpLabel
%28 = OpAccessChain %_ptr_Function_float %bar %uint_0
@@ -2369,8 +2371,8 @@ OpReturnValue %9
OpFunctionEnd
)";
SinglePassRunAndCheck<opt::InlineExhaustivePass>(
- predefs + before + nonEntryFuncs, predefs + after + nonEntryFuncs, false,
- true);
+ predefs + before + nonEntryFuncs, predefs + after + nonEntryFuncs, false,
+ true);
}
TEST_F(InlineTest, Decorated2) {
@@ -2396,7 +2398,7 @@ TEST_F(InlineTest, Decorated2) {
// }
const std::string predefs =
- R"(OpCapability Shader
+ R"(OpCapability Shader
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main" %BaseColor %gl_FragColor
@@ -2413,7 +2415,7 @@ OpDecorate %foo_vf4_ RelaxedPrecision
)";
const std::string before =
- R"(%void = OpTypeVoid
+ R"(%void = OpTypeVoid
%10 = OpTypeFunction %void
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
@@ -2442,9 +2444,8 @@ OpReturn
OpFunctionEnd
)";
-
const std::string after =
- R"(OpDecorate %32 RelaxedPrecision
+ R"(OpDecorate %32 RelaxedPrecision
%void = OpTypeVoid
%10 = OpTypeFunction %void
%float = OpTypeFloat 32
@@ -2482,7 +2483,7 @@ OpFunctionEnd
)";
const std::string nonEntryFuncs =
- R"(%foo_vf4_ = OpFunction %float None %14
+ R"(%foo_vf4_ = OpFunction %float None %14
%bar = OpFunctionParameter %_ptr_Function_v4float
%26 = OpLabel
%27 = OpAccessChain %_ptr_Function_float %bar %uint_0
@@ -2494,8 +2495,8 @@ OpReturnValue %31
OpFunctionEnd
)";
SinglePassRunAndCheck<opt::InlineExhaustivePass>(
- predefs + before + nonEntryFuncs, predefs + after + nonEntryFuncs, false,
- true);
+ predefs + before + nonEntryFuncs, predefs + after + nonEntryFuncs, false,
+ true);
}
// TODO(greg-lunarg): Add tests to verify handling of these cases:
//
diff --git a/test/opt/insert_extract_elim_test.cpp b/test/opt/insert_extract_elim_test.cpp
index bc90a300..1fd77b0f 100644
--- a/test/opt/insert_extract_elim_test.cpp
+++ b/test/opt/insert_extract_elim_test.cpp
@@ -30,12 +30,12 @@ TEST_F(InsertExtractElimTest, Simple) {
// #version 140
//
// in vec4 BaseColor;
- //
+ //
// struct S_t {
// vec4 v0;
// vec4 v1;
// };
- //
+ //
// void main()
// {
// S_t s0;
@@ -99,8 +99,8 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::InsertExtractElimPass>(predefs + before,
- predefs + after, true, true);
+ SinglePassRunAndCheck<opt::InsertExtractElimPass>(
+ predefs + before, predefs + after, true, true);
}
TEST_F(InsertExtractElimTest, OptimizeAcrossNonConflictingInsert) {
@@ -111,12 +111,12 @@ TEST_F(InsertExtractElimTest, OptimizeAcrossNonConflictingInsert) {
// #version 140
//
// in vec4 BaseColor;
- //
+ //
// struct S_t {
// vec4 v0;
// vec4 v1;
// };
- //
+ //
// void main()
// {
// S_t s0;
@@ -184,8 +184,8 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::InsertExtractElimPass>(predefs + before,
- predefs + after, true, true);
+ SinglePassRunAndCheck<opt::InsertExtractElimPass>(
+ predefs + before, predefs + after, true, true);
}
TEST_F(InsertExtractElimTest, OptimizeOpaque) {
@@ -266,8 +266,8 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::InsertExtractElimPass>(predefs + before,
- predefs + after, true, true);
+ SinglePassRunAndCheck<opt::InsertExtractElimPass>(
+ predefs + before, predefs + after, true, true);
}
TEST_F(InsertExtractElimTest, OptimizeNestedStruct) {
@@ -277,22 +277,22 @@ TEST_F(InsertExtractElimTest, OptimizeNestedStruct) {
// int x;
// SamplerState ss;
// };
- //
+ //
// struct S1
// {
// float b;
// S0 s0;
// };
- //
+ //
// struct S2
// {
// int a1;
// S1 resources;
// };
- //
+ //
// SamplerState samp;
// Texture2D tex;
- //
+ //
// float4 main(float4 vpos : VPOS) : COLOR0
// {
// S1 s1;
@@ -395,8 +395,8 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::InsertExtractElimPass>(predefs + before,
- predefs + after, true, true);
+ SinglePassRunAndCheck<opt::InsertExtractElimPass>(
+ predefs + before, predefs + after, true, true);
}
TEST_F(InsertExtractElimTest, ConflictingInsertPreventsOptimization) {
@@ -407,12 +407,12 @@ TEST_F(InsertExtractElimTest, ConflictingInsertPreventsOptimization) {
// #version 140
//
// in vec4 BaseColor;
- //
+ //
// struct S_t {
// vec4 v0;
// vec4 v1;
// };
- //
+ //
// void main()
// {
// S_t s0;
@@ -463,8 +463,8 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::InsertExtractElimPass>(assembly,
- assembly, true, true);
+ SinglePassRunAndCheck<opt::InsertExtractElimPass>(assembly, assembly, true,
+ true);
}
TEST_F(InsertExtractElimTest, ConflictingInsertPreventsOptimization2) {
@@ -475,12 +475,12 @@ TEST_F(InsertExtractElimTest, ConflictingInsertPreventsOptimization2) {
// #version 140
//
// in vec4 BaseColor;
- //
+ //
// struct S_t {
// vec4 v0;
// vec4 v1;
// };
- //
+ //
// void main()
// {
// S_t s0;
@@ -535,8 +535,8 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::InsertExtractElimPass>(assembly,
- assembly, true, true);
+ SinglePassRunAndCheck<opt::InsertExtractElimPass>(assembly, assembly, true,
+ true);
}
// TODO(greg-lunarg): Add tests to verify handling of these cases:
diff --git a/test/opt/instruction_test.cpp b/test/opt/instruction_test.cpp
index 7adb4427..ae4f3a56 100644
--- a/test/opt/instruction_test.cpp
+++ b/test/opt/instruction_test.cpp
@@ -17,18 +17,18 @@
#include "gmock/gmock.h"
-#include "spirv-tools/libspirv.h"
-#include "unit_spirv.h"
#include "pass_fixture.h"
#include "pass_utils.h"
+#include "spirv-tools/libspirv.h"
+#include "unit_spirv.h"
namespace {
using namespace spvtools;
-using spvtest::MakeInstruction;
using ir::Instruction;
using ir::IRContext;
using ir::Operand;
+using spvtest::MakeInstruction;
using ::testing::Eq;
using DescriptorTypeTest = PassTest<::testing::Test>;
diff --git a/test/opt/ir_loader_test.cpp b/test/opt/ir_loader_test.cpp
index ae46df90..87e7e977 100644
--- a/test/opt/ir_loader_test.cpp
+++ b/test/opt/ir_loader_test.cpp
@@ -219,7 +219,8 @@ TEST(IrBuilder, OpUndefOutsideFunction) {
ASSERT_NE(nullptr, context);
const auto opundef_count = std::count_if(
- context->module()->types_values_begin(), context->module()->types_values_end(),
+ context->module()->types_values_begin(),
+ context->module()->types_values_end(),
[](const ir::Instruction& inst) { return inst.opcode() == SpvOpUndef; });
EXPECT_EQ(3, opundef_count);
@@ -302,7 +303,7 @@ TEST(IrBuilder, KeepLineDebugInfoBeforeFunctionEnd) {
TEST(IrBuilder, KeepModuleProcessedInRightPlace) {
DoRoundTripCheck(
- // clang-format off
+ // clang-format off
"OpCapability Shader\n"
"OpMemoryModel Logical GLSL450\n"
"%1 = OpString \"minimal.vert\"\n"
diff --git a/test/opt/local_access_chain_convert_test.cpp b/test/opt/local_access_chain_convert_test.cpp
index 23221e13..b559a814 100644
--- a/test/opt/local_access_chain_convert_test.cpp
+++ b/test/opt/local_access_chain_convert_test.cpp
@@ -23,16 +23,15 @@ using namespace spvtools;
using LocalAccessChainConvertTest = PassTest<::testing::Test>;
TEST_F(LocalAccessChainConvertTest, StructOfVecsOfFloatConverted) {
-
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// struct S_t {
// vec4 v0;
// vec4 v1;
// };
- //
+ //
// void main()
// {
// S_t s0;
@@ -131,16 +130,15 @@ OpFunctionEnd
}
TEST_F(LocalAccessChainConvertTest, InBoundsAccessChainsConverted) {
-
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// struct S_t {
// vec4 v0;
// vec4 v1;
// };
- //
+ //
// void main()
// {
// S_t s0;
@@ -239,16 +237,15 @@ OpFunctionEnd
}
TEST_F(LocalAccessChainConvertTest, TwoUsesofSingleChainConverted) {
-
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// struct S_t {
// vec4 v0;
// vec4 v1;
// };
- //
+ //
// void main()
// {
// S_t s0;
@@ -458,22 +455,20 @@ OpFunctionEnd
predefs + before + remain, predefs + after + remain, true, true);
}
-TEST_F(LocalAccessChainConvertTest,
- NestedStructsConverted) {
-
+TEST_F(LocalAccessChainConvertTest, NestedStructsConverted) {
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// struct S1_t {
// vec4 v1;
// };
- //
+ //
// struct S2_t {
// vec4 v2;
// S1_t s1;
// };
- //
+ //
// void main()
// {
// S2_t s2;
@@ -575,14 +570,12 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::LocalAccessChainConvertPass>(
- predefs_before + before , predefs_after + after, true, true);
+ predefs_before + before, predefs_after + after, true, true);
}
-TEST_F(LocalAccessChainConvertTest,
- DynamicallyIndexedVarNotConverted) {
-
+TEST_F(LocalAccessChainConvertTest, DynamicallyIndexedVarNotConverted) {
// #version 140
- //
+ //
// in vec4 BaseColor;
// flat in int Idx;
// in float Bi;
@@ -591,7 +584,7 @@ TEST_F(LocalAccessChainConvertTest,
// vec4 v0;
// vec4 v1;
// };
- //
+ //
// void main()
// {
// S_t s0;
@@ -652,8 +645,8 @@ OpReturn
OpFunctionEnd
)";
- SinglePassRunAndCheck<opt::LocalAccessChainConvertPass>(
- assembly, assembly, false, true);
+ SinglePassRunAndCheck<opt::LocalAccessChainConvertPass>(assembly, assembly,
+ false, true);
}
TEST_F(LocalAccessChainConvertTest, SomeAccessChainsHaveNoUse) {
diff --git a/test/opt/local_redundancy_elimination_test.cpp b/test/opt/local_redundancy_elimination_test.cpp
index 64447999..07a8c065 100644
--- a/test/opt/local_redundancy_elimination_test.cpp
+++ b/test/opt/local_redundancy_elimination_test.cpp
@@ -54,7 +54,7 @@ TEST_F(LocalRedundancyEliminationTest, RemoveRedundantAdd) {
OpReturn
OpFunctionEnd
)";
-SinglePassRunAndMatch<opt::LocalRedundancyEliminationPass>(text);
+ SinglePassRunAndMatch<opt::LocalRedundancyEliminationPass>(text);
}
// Make sure we keep instruction that are different, but look similar.
diff --git a/test/opt/local_single_block_elim.cpp b/test/opt/local_single_block_elim.cpp
index 7d7559a7..218e8e7f 100644
--- a/test/opt/local_single_block_elim.cpp
+++ b/test/opt/local_single_block_elim.cpp
@@ -681,21 +681,21 @@ TEST_F(LocalSingleBlockLoadStoreElimTest, PositiveAndNegativeCallTree) {
// Note that the call tree function bar is optimized, but foo is not
//
// #version 140
- //
+ //
// in vec4 BaseColor;
- //
+ //
// vec4 foo(vec4 v1)
// {
// vec4 t = v1;
// return t;
// }
- //
+ //
// vec4 bar(vec4 v1)
// {
// vec4 t = v1;
// return t;
// }
- //
+ //
// void main()
// {
// gl_FragColor = bar(BaseColor);
diff --git a/test/opt/local_single_store_elim_test.cpp b/test/opt/local_single_store_elim_test.cpp
index cc74dab2..126350a7 100644
--- a/test/opt/local_single_store_elim_test.cpp
+++ b/test/opt/local_single_store_elim_test.cpp
@@ -147,8 +147,7 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::LocalSingleStoreElimPass>(
- predefs_before + before,
- predefs_after + after, true, true);
+ predefs_before + before, predefs_after + after, true, true);
}
TEST_F(LocalSingleStoreElimTest, MultipleLoads) {
@@ -278,8 +277,7 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::LocalSingleStoreElimPass>(
- predefs_before + before,
- predefs_after + after, true, true);
+ predefs_before + before, predefs_after + after, true, true);
}
TEST_F(LocalSingleStoreElimTest, NoStoreElimWithInterveningAccessChainLoad) {
@@ -380,8 +378,7 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::LocalSingleStoreElimPass>(
- predefs_before + before,
- predefs_after + after, true, true);
+ predefs_before + before, predefs_after + after, true, true);
}
TEST_F(LocalSingleStoreElimTest, NoReplaceOfDominatingPartialStore) {
diff --git a/test/opt/local_ssa_elim_test.cpp b/test/opt/local_ssa_elim_test.cpp
index e53853d4..c79ef57a 100644
--- a/test/opt/local_ssa_elim_test.cpp
+++ b/test/opt/local_ssa_elim_test.cpp
@@ -24,10 +24,10 @@ using LocalSSAElimTest = PassTest<::testing::Test>;
TEST_F(LocalSSAElimTest, ForLoop) {
// #version 140
- //
+ //
// in vec4 BC;
// out float fo;
- //
+ //
// void main()
// {
// float f = 0.0;
@@ -143,16 +143,15 @@ OpFunctionEnd
SinglePassRunAndCheck<opt::LocalMultiStoreElimPass>(
predefs + names_before + predefs2 + before,
- predefs + names_after + predefs2 + after,
- true, true);
+ predefs + names_after + predefs2 + after, true, true);
}
TEST_F(LocalSSAElimTest, ForLoopWithContinue) {
// #version 140
- //
+ //
// in vec4 BC;
// out float fo;
- //
+ //
// void main()
// {
// float f = 0.0;
@@ -291,16 +290,15 @@ OpFunctionEnd
SinglePassRunAndCheck<opt::LocalMultiStoreElimPass>(
predefs + names_before + predefs2 + before,
- predefs + names_after + predefs2 + after,
- true, true);
+ predefs + names_after + predefs2 + after, true, true);
}
TEST_F(LocalSSAElimTest, ForLoopWithBreak) {
// #version 140
- //
+ //
// in vec4 BC;
// out float fo;
- //
+ //
// void main()
// {
// float f = 0.0;
@@ -440,16 +438,15 @@ OpFunctionEnd
SinglePassRunAndCheck<opt::LocalMultiStoreElimPass>(
predefs + names_before + predefs2 + before,
- predefs + names_after + predefs2 + after,
- true, true);
+ predefs + names_after + predefs2 + after, true, true);
}
TEST_F(LocalSSAElimTest, SwapProblem) {
// #version 140
- //
+ //
// in float fe;
// out float fo;
- //
+ //
// void main()
// {
// float f1 = 0.0;
@@ -580,16 +577,15 @@ OpFunctionEnd
SinglePassRunAndCheck<opt::LocalMultiStoreElimPass>(
predefs + names_before + predefs2 + before,
- predefs + names_after + predefs2 + after,
- true, true);
+ predefs + names_after + predefs2 + after, true, true);
}
TEST_F(LocalSSAElimTest, LostCopyProblem) {
// #version 140
- //
+ //
// in vec4 BC;
// out float fo;
- //
+ //
// void main()
// {
// float f = 0.0;
@@ -731,16 +727,15 @@ OpFunctionEnd
SinglePassRunAndCheck<opt::LocalMultiStoreElimPass>(
predefs + names_before + predefs2 + before,
- predefs + names_after + predefs2 + after,
- true, true);
+ predefs + names_after + predefs2 + after, true, true);
}
TEST_F(LocalSSAElimTest, IfThenElse) {
// #version 140
- //
+ //
// in vec4 BaseColor;
// in float f;
- //
+ //
// void main()
// {
// vec4 v;
@@ -843,18 +838,17 @@ OpFunctionEnd
SinglePassRunAndCheck<opt::LocalMultiStoreElimPass>(
predefs + names_before + predefs2 + before,
- predefs + names_after + predefs2 + after,
- true, true);
+ predefs + names_after + predefs2 + after, true, true);
}
TEST_F(LocalSSAElimTest, DecoratedVar) {
// SPIR-V hand edited to decorate v
// #version 450
- //
+ //
// layout (location=0) in vec4 BaseColor;
// layout (location=1) in float f;
// layout (location=0) out vec4 OutColor;
- //
+ //
// void main()
// {
// vec4 v;
@@ -979,17 +973,15 @@ OpFunctionEnd
)";
SinglePassRunAndCheck<opt::LocalMultiStoreElimPass>(
- predefs_before + before,
- predefs_after + after,
- true, true);
+ predefs_before + before, predefs_after + after, true, true);
}
TEST_F(LocalSSAElimTest, IfThen) {
// #version 140
- //
+ //
// in vec4 BaseColor;
// in float f;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -1081,16 +1073,15 @@ OpFunctionEnd
SinglePassRunAndCheck<opt::LocalMultiStoreElimPass>(
predefs + names_before + predefs2 + before,
- predefs + names_after + predefs2 + after,
- true, true);
+ predefs + names_after + predefs2 + after, true, true);
}
TEST_F(LocalSSAElimTest, Switch) {
// #version 140
- //
+ //
// in vec4 BaseColor;
// in float f;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -1220,16 +1211,15 @@ OpFunctionEnd
SinglePassRunAndCheck<opt::LocalMultiStoreElimPass>(
predefs + names_before + predefs2 + before,
- predefs + names_after + predefs2 + after,
- true, true);
+ predefs + names_after + predefs2 + after, true, true);
}
TEST_F(LocalSSAElimTest, SwitchWithFallThrough) {
// #version 140
- //
+ //
// in vec4 BaseColor;
// in float f;
- //
+ //
// void main()
// {
// vec4 v = BaseColor;
@@ -1360,8 +1350,7 @@ OpFunctionEnd
SinglePassRunAndCheck<opt::LocalMultiStoreElimPass>(
predefs + names_before + predefs2 + before,
- predefs + names_after + predefs2 + after,
- true, true);
+ predefs + names_after + predefs2 + after, true, true);
}
TEST_F(LocalSSAElimTest, DontPatchPhiInLoopHeaderThatIsNotAVar) {
diff --git a/test/opt/module_test.cpp b/test/opt/module_test.cpp
index 4a434edb..43be818f 100644
--- a/test/opt/module_test.cpp
+++ b/test/opt/module_test.cpp
@@ -26,9 +26,9 @@
namespace {
+using spvtest::GetIdBound;
using spvtools::ir::IRContext;
using spvtools::ir::Module;
-using spvtest::GetIdBound;
using ::testing::Eq;
TEST(ModuleTest, SetIdBound) {
@@ -55,19 +55,23 @@ TEST(ModuleTest, ComputeIdBound) {
// Sensitive to result id
EXPECT_EQ(2u, BuildModule("%void = OpTypeVoid")->module()->ComputeIdBound());
// Sensitive to type id
- EXPECT_EQ(1000u, BuildModule("%a = OpTypeArray !999 3")->module()->ComputeIdBound());
+ EXPECT_EQ(1000u,
+ BuildModule("%a = OpTypeArray !999 3")->module()->ComputeIdBound());
// Sensitive to a regular Id parameter
- EXPECT_EQ(2000u, BuildModule("OpDecorate !1999 0")->module()->ComputeIdBound());
+ EXPECT_EQ(2000u,
+ BuildModule("OpDecorate !1999 0")->module()->ComputeIdBound());
// Sensitive to a scope Id parameter.
EXPECT_EQ(3000u,
BuildModule("%f = OpFunction %void None %fntype %a = OpLabel "
"OpMemoryBarrier !2999 %b\n")
- ->module()->ComputeIdBound());
+ ->module()
+ ->ComputeIdBound());
// Sensitive to a semantics Id parameter
EXPECT_EQ(4000u,
BuildModule("%f = OpFunction %void None %fntype %a = OpLabel "
"OpMemoryBarrier %b !3999\n")
- ->module()->ComputeIdBound());
+ ->module()
+ ->ComputeIdBound());
}
} // anonymous namespace
diff --git a/test/opt/module_utils.h b/test/opt/module_utils.h
index 18cc18b2..ad59058d 100644
--- a/test/opt/module_utils.h
+++ b/test/opt/module_utils.h
@@ -31,4 +31,4 @@ inline uint32_t GetIdBound(const spvtools::ir::Module& m) {
} // namespace spvtest
-#endif // LIBSPIRV_TEST_OPT_MODULE_UTILS_H_
+#endif // LIBSPIRV_TEST_OPT_MODULE_UTILS_H_
diff --git a/test/opt/pass_fixture.h b/test/opt/pass_fixture.h
index fdc4398f..0e87c7b5 100644
--- a/test/opt/pass_fixture.h
+++ b/test/opt/pass_fixture.h
@@ -63,7 +63,7 @@ class PassTest : public TestT {
<< original << std::endl;
if (!context()) {
return std::make_tuple(std::vector<uint32_t>(),
- opt::Pass::Status::Failure);
+ opt::Pass::Status::Failure);
}
const auto status = pass->Run(context());
@@ -95,8 +95,8 @@ class PassTest : public TestT {
std::tie(optimized_bin, status) = SinglePassRunToBinary<PassT>(
assembly, skip_nop, std::forward<Args>(args)...);
std::string optimized_asm;
- EXPECT_TRUE(tools_.Disassemble(optimized_bin, &optimized_asm,
- disassemble_options_))
+ EXPECT_TRUE(
+ tools_.Disassemble(optimized_bin, &optimized_asm, disassemble_options_))
<< "Disassembling failed for shader:\n"
<< assembly << std::endl;
return std::make_tuple(optimized_asm, status);
@@ -123,18 +123,16 @@ class PassTest : public TestT {
spv_target_env target_env = SPV_ENV_UNIVERSAL_1_1;
spv_context spvContext = spvContextCreate(target_env);
spv_diagnostic diagnostic = nullptr;
- spv_const_binary_t binary = {optimized_bin.data(),
- optimized_bin.size()};
+ spv_const_binary_t binary = {optimized_bin.data(), optimized_bin.size()};
spv_result_t error = spvValidate(spvContext, &binary, &diagnostic);
EXPECT_EQ(error, 0);
- if (error != 0)
- spvDiagnosticPrint(diagnostic);
+ if (error != 0) spvDiagnosticPrint(diagnostic);
spvDiagnosticDestroy(diagnostic);
spvContextDestroy(spvContext);
}
std::string optimized_asm;
- EXPECT_TRUE(tools_.Disassemble(optimized_bin, &optimized_asm,
- disassemble_options_))
+ EXPECT_TRUE(
+ tools_.Disassemble(optimized_bin, &optimized_asm, disassemble_options_))
<< "Disassembling failed for shader:\n"
<< original << std::endl;
EXPECT_EQ(expected, optimized_asm);
@@ -149,7 +147,7 @@ class PassTest : public TestT {
const std::string& expected, bool skip_nop,
Args&&... args) {
SinglePassRunAndCheck<PassT>(original, expected, skip_nop, false,
- std::forward<Args>(args)...);
+ std::forward<Args>(args)...);
}
#ifdef SPIRV_EFFCEE
@@ -200,8 +198,7 @@ class PassTest : public TestT {
context()->module()->ToBinary(&binary, /* skip_nop = */ false);
std::string optimized;
- EXPECT_TRUE(tools_.Disassemble(binary, &optimized,
- disassemble_options_));
+ EXPECT_TRUE(tools_.Disassemble(binary, &optimized, disassemble_options_));
EXPECT_EQ(expected, optimized);
}
@@ -213,11 +210,12 @@ class PassTest : public TestT {
disassemble_options_ = disassemble_options;
}
- MessageConsumer consumer() { return consumer_;}
+ MessageConsumer consumer() { return consumer_; }
ir::IRContext* context() { return context_.get(); }
+
private:
- MessageConsumer consumer_; // Message consumer.
- std::unique_ptr<ir::IRContext> context_; // IR context
+ MessageConsumer consumer_; // Message consumer.
+ std::unique_ptr<ir::IRContext> context_; // IR context
SpirvTools tools_; // An instance for calling SPIRV-Tools functionalities.
std::unique_ptr<opt::PassManager> manager_; // The pass manager.
uint32_t assemble_options_;
diff --git a/test/opt/pass_manager_test.cpp b/test/opt/pass_manager_test.cpp
index 77ed38b5..4d5bcced 100644
--- a/test/opt/pass_manager_test.cpp
+++ b/test/opt/pass_manager_test.cpp
@@ -141,8 +141,8 @@ class AppendTypeVoidInstPass : public opt::Pass {
const char* name() const override { return "AppendTypeVoidInstPass"; }
Status Process(ir::IRContext* irContext) override {
- auto inst = MakeUnique<ir::Instruction>(irContext, SpvOpTypeVoid, 0, result_id_,
- std::vector<ir::Operand>{});
+ auto inst = MakeUnique<ir::Instruction>(
+ irContext, SpvOpTypeVoid, 0, result_id_, std::vector<ir::Operand>{});
irContext->AddType(std::move(inst));
return Status::SuccessWithChange;
}
@@ -157,7 +157,6 @@ TEST(PassManager, RecomputeIdBoundAutomatically) {
ir::IRContext context(std::move(module), manager.consumer());
EXPECT_THAT(GetIdBound(*context.module()), Eq(0u));
-
manager.Run(&context);
manager.AddPass<AppendOpNopPass>();
// With no ID changes, the ID bound does not change.
diff --git a/test/opt/set_spec_const_default_value_test.cpp b/test/opt/set_spec_const_default_value_test.cpp
index 276d314f..998327ae 100644
--- a/test/opt/set_spec_const_default_value_test.cpp
+++ b/test/opt/set_spec_const_default_value_test.cpp
@@ -42,7 +42,9 @@ TEST_P(DefaultValuesStringParsingTest, TestCase) {
tc.default_values_str);
if (tc.expect_success) {
EXPECT_NE(nullptr, actual_map);
- if (actual_map) { EXPECT_THAT(*actual_map, Eq(tc.expected_map)); }
+ if (actual_map) {
+ EXPECT_THAT(*actual_map, Eq(tc.expected_map));
+ }
} else {
EXPECT_EQ(nullptr, actual_map);
}
@@ -272,7 +274,9 @@ INSTANTIATE_TEST_CASE_P(
"%3 = OpSpecConstantTrue %bool\n",
// default values
SpecIdToValueStrMap{
- {201, "0x1.fffffffffffffp+1024"}, {202, "2048"}, {203, "false"},
+ {201, "0x1.fffffffffffffp+1024"},
+ {202, "2048"},
+ {203, "false"},
},
// expected
"OpDecorate %1 SpecId 201\n"
diff --git a/test/opt/strip_debug_info_test.cpp b/test/opt/strip_debug_info_test.cpp
index 8e6ee013..8cae51e9 100644
--- a/test/opt/strip_debug_info_test.cpp
+++ b/test/opt/strip_debug_info_test.cpp
@@ -76,7 +76,9 @@ using StripDebugInfoTest = PassTest<::testing::TestWithParam<const char*>>;
TEST_P(StripDebugInfoTest, Kind) {
std::vector<const char*> text = {
- "OpCapability Shader", "OpMemoryModel Logical GLSL450", GetParam(),
+ "OpCapability Shader",
+ "OpMemoryModel Logical GLSL450",
+ GetParam(),
};
SinglePassRunAndCheck<opt::StripDebugInfoPass>(JoinAllInsts(text),
JoinNonDebugInsts(text),
diff --git a/test/opt/unify_const_test.cpp b/test/opt/unify_const_test.cpp
index 58132017..8fc262ce 100644
--- a/test/opt/unify_const_test.cpp
+++ b/test/opt/unify_const_test.cpp
@@ -156,7 +156,8 @@ TEST_F(UnifyFrontEndConstantSingleTest, Basic) {
expected_builder
.AppendTypesConstantsGlobals({
- "%uint = OpTypeInt 32 0", "%_pf_uint = OpTypePointer Function %uint",
+ "%uint = OpTypeInt 32 0",
+ "%_pf_uint = OpTypePointer Function %uint",
"%unsigned_1 = OpConstant %uint 1",
})
.AppendInMain({
@@ -302,7 +303,8 @@ TEST_F(UnifyFrontEndConstantSingleTest, UnifyWithDecorationOnTypes) {
"OpStore %flat_d_var %flat_d_1",
})
.AppendNames({
- "OpName %flat_1 \"flat_1_dup\"", "OpName %flat_d_1 \"flat_d_1_dup\"",
+ "OpName %flat_1 \"flat_1_dup\"",
+ "OpName %flat_d_1 \"flat_d_1_dup\"",
});
Check(expected_builder, test_builder);
diff --git a/test/opt/utils_test.cpp b/test/opt/utils_test.cpp
index 085c5f34..e20e6856 100644
--- a/test/opt/utils_test.cpp
+++ b/test/opt/utils_test.cpp
@@ -51,7 +51,7 @@ struct SubstringReplacementTestCase {
const char* expected_str;
bool replace_should_succeed;
};
-}
+} // namespace
using FindAndReplaceTest =
::testing::TestWithParam<SubstringReplacementTestCase>;
diff --git a/test/opt/value_table_test.cpp b/test/opt/value_table_test.cpp
index 3215d739..54af641f 100644
--- a/test/opt/value_table_test.cpp
+++ b/test/opt/value_table_test.cpp
@@ -299,7 +299,7 @@ TEST_F(ValueTableTest, SameCall) {
)";
auto context = BuildModule(SPV_ENV_UNIVERSAL_1_2, nullptr, text);
opt::ValueNumberTable vtable(context.get());
- ir::Instruction* inst= context->get_def_use_mgr()->GetDef(10);
+ ir::Instruction* inst = context->get_def_use_mgr()->GetDef(10);
EXPECT_EQ(vtable.GetValueNumber(inst), vtable.GetValueNumber(inst));
}
@@ -332,7 +332,7 @@ TEST_F(ValueTableTest, DifferentCall) {
)";
auto context = BuildModule(SPV_ENV_UNIVERSAL_1_2, nullptr, text);
opt::ValueNumberTable vtable(context.get());
- ir::Instruction* inst1= context->get_def_use_mgr()->GetDef(10);
+ ir::Instruction* inst1 = context->get_def_use_mgr()->GetDef(10);
ir::Instruction* inst2 = context->get_def_use_mgr()->GetDef(12);
EXPECT_NE(vtable.GetValueNumber(inst1), vtable.GetValueNumber(inst2));
}
@@ -363,7 +363,7 @@ TEST_F(ValueTableTest, DifferentTypes) {
)";
auto context = BuildModule(SPV_ENV_UNIVERSAL_1_2, nullptr, text);
opt::ValueNumberTable vtable(context.get());
- ir::Instruction* inst1= context->get_def_use_mgr()->GetDef(11);
+ ir::Instruction* inst1 = context->get_def_use_mgr()->GetDef(11);
ir::Instruction* inst2 = context->get_def_use_mgr()->GetDef(12);
EXPECT_NE(vtable.GetValueNumber(inst1), vtable.GetValueNumber(inst2));
}
diff --git a/test/parse_number_test.cpp b/test/parse_number_test.cpp
index 9c8850b4..9189fbe4 100644
--- a/test/parse_number_test.cpp
+++ b/test/parse_number_test.cpp
@@ -20,12 +20,12 @@
#include "spirv-tools/libspirv.h"
namespace {
-using spvutils::NumberType;
using spvutils::EncodeNumberStatus;
-using spvutils::ParseNumber;
-using spvutils::ParseAndEncodeIntegerNumber;
+using spvutils::NumberType;
using spvutils::ParseAndEncodeFloatingPointNumber;
+using spvutils::ParseAndEncodeIntegerNumber;
using spvutils::ParseAndEncodeNumber;
+using spvutils::ParseNumber;
using testing::Eq;
using testing::IsNull;
using testing::NotNull;
diff --git a/test/preserve_numeric_ids_test.cpp b/test/preserve_numeric_ids_test.cpp
index b8af9648..75d730d1 100644
--- a/test/preserve_numeric_ids_test.cpp
+++ b/test/preserve_numeric_ids_test.cpp
@@ -34,16 +34,15 @@ spv_result_t ToBinaryAndBack(
spv_binary binary;
spv_text text;
- spv_result_t result = spvTextToBinaryWithOptions(
- ctx.context, before.c_str(), before.size(), text_to_binary_options,
- &binary, nullptr);
+ spv_result_t result =
+ spvTextToBinaryWithOptions(ctx.context, before.c_str(), before.size(),
+ text_to_binary_options, &binary, nullptr);
if (result != SPV_SUCCESS) {
return result;
}
- result = spvBinaryToText(
- ctx.context, binary->code, binary->wordCount, binary_to_text_options,
- &text, nullptr);
+ result = spvBinaryToText(ctx.context, binary->code, binary->wordCount,
+ binary_to_text_options, &text, nullptr);
if (result != SPV_SUCCESS) {
return result;
}
@@ -58,7 +57,7 @@ spv_result_t ToBinaryAndBack(
TEST(ToBinaryAndBack, DontPreserveNumericIds) {
const std::string before =
-R"(OpCapability Addresses
+ R"(OpCapability Addresses
OpCapability Kernel
OpCapability GenericPointer
OpCapability Linkage
@@ -78,7 +77,7 @@ OpFunctionEnd
)";
const std::string expected =
-R"(OpCapability Addresses
+ R"(OpCapability Addresses
OpCapability Kernel
OpCapability GenericPointer
OpCapability Linkage
@@ -98,16 +97,16 @@ OpFunctionEnd
)";
std::string after;
- EXPECT_EQ(SPV_SUCCESS, ToBinaryAndBack(before, &after,
- SPV_TEXT_TO_BINARY_OPTION_NONE,
- SPV_BINARY_TO_TEXT_OPTION_NO_HEADER));
+ EXPECT_EQ(SPV_SUCCESS,
+ ToBinaryAndBack(before, &after, SPV_TEXT_TO_BINARY_OPTION_NONE,
+ SPV_BINARY_TO_TEXT_OPTION_NO_HEADER));
EXPECT_EQ(expected, after);
}
TEST(TextHandler, PreserveNumericIds) {
const std::string before =
-R"(OpCapability Addresses
+ R"(OpCapability Addresses
OpCapability Kernel
OpCapability GenericPointer
OpCapability Linkage
@@ -127,7 +126,7 @@ OpFunctionEnd
)";
const std::string expected =
-R"(OpCapability Addresses
+ R"(OpCapability Addresses
OpCapability Kernel
OpCapability GenericPointer
OpCapability Linkage
diff --git a/test/stats/stats_aggregate_test.cpp b/test/stats/stats_aggregate_test.cpp
index 087de8ac..11c71aa6 100644
--- a/test/stats/stats_aggregate_test.cpp
+++ b/test/stats/stats_aggregate_test.cpp
@@ -33,8 +33,7 @@ void DiagnosticsMessageHandler(spv_message_level_t level, const char*,
case SPV_MSG_FATAL:
case SPV_MSG_INTERNAL_ERROR:
case SPV_MSG_ERROR:
- std::cerr << "error: " << position.index << ": " << message
- << std::endl;
+ std::cerr << "error: " << position.index << ": " << message << std::endl;
break;
case SPV_MSG_WARNING:
std::cout << "warning: " << position.index << ": " << message
@@ -50,12 +49,12 @@ void DiagnosticsMessageHandler(spv_message_level_t level, const char*,
// Calls libspirv::AggregateStats for binary compiled from |code|.
void CompileAndAggregateStats(const std::string& code, SpirvStats* stats,
- spv_target_env env = SPV_ENV_UNIVERSAL_1_1) {
+ spv_target_env env = SPV_ENV_UNIVERSAL_1_1) {
ScopedContext ctx(env);
SetContextMessageConsumer(ctx.context, DiagnosticsMessageHandler);
spv_binary binary;
- ASSERT_EQ(SPV_SUCCESS, spvTextToBinary(
- ctx.context, code.c_str(), code.size(), &binary, nullptr));
+ ASSERT_EQ(SPV_SUCCESS, spvTextToBinary(ctx.context, code.c_str(), code.size(),
+ &binary, nullptr));
ASSERT_EQ(SPV_SUCCESS, AggregateStats(*ctx.context, binary->code,
binary->wordCount, nullptr, stats));
@@ -192,8 +191,8 @@ OpCapability Linkage
OpMemoryModel Logical GLSL450
)";
- const uint32_t kGeneratorKhronosAssembler =
- SPV_GENERATOR_KHRONOS_ASSEMBLER << 16;
+ const uint32_t kGeneratorKhronosAssembler = SPV_GENERATOR_KHRONOS_ASSEMBLER
+ << 16;
SpirvStats stats;
@@ -288,15 +287,15 @@ OpMemoryModel Physical32 OpenCL
EXPECT_EQ(1u, stats.opcode_markov_hist[0].at(SpvOpExtension).size());
EXPECT_EQ(
1u, stats.opcode_markov_hist[0].at(SpvOpCapability).at(SpvOpCapability));
- EXPECT_EQ(
- 1u, stats.opcode_markov_hist[0].at(SpvOpCapability).at(SpvOpExtension));
+ EXPECT_EQ(1u,
+ stats.opcode_markov_hist[0].at(SpvOpCapability).at(SpvOpExtension));
EXPECT_EQ(
1u, stats.opcode_markov_hist[0].at(SpvOpExtension).at(SpvOpMemoryModel));
EXPECT_EQ(1u, stats.opcode_markov_hist[1].size());
EXPECT_EQ(2u, stats.opcode_markov_hist[1].at(SpvOpCapability).size());
- EXPECT_EQ(
- 1u, stats.opcode_markov_hist[1].at(SpvOpCapability).at(SpvOpExtension));
+ EXPECT_EQ(1u,
+ stats.opcode_markov_hist[1].at(SpvOpCapability).at(SpvOpExtension));
EXPECT_EQ(
1u, stats.opcode_markov_hist[1].at(SpvOpCapability).at(SpvOpMemoryModel));
@@ -309,18 +308,17 @@ OpMemoryModel Physical32 OpenCL
EXPECT_EQ(2u, stats.opcode_markov_hist[0].at(SpvOpTypeInt).size());
EXPECT_EQ(
4u, stats.opcode_markov_hist[0].at(SpvOpCapability).at(SpvOpCapability));
- EXPECT_EQ(
- 1u, stats.opcode_markov_hist[0].at(SpvOpCapability).at(SpvOpExtension));
+ EXPECT_EQ(1u,
+ stats.opcode_markov_hist[0].at(SpvOpCapability).at(SpvOpExtension));
EXPECT_EQ(
1u, stats.opcode_markov_hist[0].at(SpvOpCapability).at(SpvOpMemoryModel));
EXPECT_EQ(
1u, stats.opcode_markov_hist[0].at(SpvOpExtension).at(SpvOpMemoryModel));
- EXPECT_EQ(
- 1u, stats.opcode_markov_hist[0].at(SpvOpMemoryModel).at(SpvOpTypeInt));
- EXPECT_EQ(
- 1u, stats.opcode_markov_hist[0].at(SpvOpTypeInt).at(SpvOpTypeInt));
- EXPECT_EQ(
- 1u, stats.opcode_markov_hist[0].at(SpvOpTypeInt).at(SpvOpTypeFloat));
+ EXPECT_EQ(1u,
+ stats.opcode_markov_hist[0].at(SpvOpMemoryModel).at(SpvOpTypeInt));
+ EXPECT_EQ(1u, stats.opcode_markov_hist[0].at(SpvOpTypeInt).at(SpvOpTypeInt));
+ EXPECT_EQ(1u,
+ stats.opcode_markov_hist[0].at(SpvOpTypeInt).at(SpvOpTypeFloat));
EXPECT_EQ(3u, stats.opcode_markov_hist[1].size());
EXPECT_EQ(4u, stats.opcode_markov_hist[1].at(SpvOpCapability).size());
@@ -328,16 +326,16 @@ OpMemoryModel Physical32 OpenCL
EXPECT_EQ(1u, stats.opcode_markov_hist[1].at(SpvOpTypeInt).size());
EXPECT_EQ(
2u, stats.opcode_markov_hist[1].at(SpvOpCapability).at(SpvOpCapability));
- EXPECT_EQ(
- 1u, stats.opcode_markov_hist[1].at(SpvOpCapability).at(SpvOpExtension));
+ EXPECT_EQ(1u,
+ stats.opcode_markov_hist[1].at(SpvOpCapability).at(SpvOpExtension));
EXPECT_EQ(
2u, stats.opcode_markov_hist[1].at(SpvOpCapability).at(SpvOpMemoryModel));
- EXPECT_EQ(
- 1u, stats.opcode_markov_hist[1].at(SpvOpCapability).at(SpvOpTypeInt));
- EXPECT_EQ(
- 1u, stats.opcode_markov_hist[1].at(SpvOpMemoryModel).at(SpvOpTypeInt));
- EXPECT_EQ(
- 1u, stats.opcode_markov_hist[1].at(SpvOpTypeInt).at(SpvOpTypeFloat));
+ EXPECT_EQ(1u,
+ stats.opcode_markov_hist[1].at(SpvOpCapability).at(SpvOpTypeInt));
+ EXPECT_EQ(1u,
+ stats.opcode_markov_hist[1].at(SpvOpMemoryModel).at(SpvOpTypeInt));
+ EXPECT_EQ(1u,
+ stats.opcode_markov_hist[1].at(SpvOpTypeInt).at(SpvOpTypeFloat));
}
TEST(AggregateStats, ConstantLiteralsHistogram) {
@@ -471,16 +469,14 @@ OpMemoryModel Logical GLSL450
{
const std::unordered_map<uint32_t, uint32_t> expected = {
- {kF32, 3}, {kU32, 2}, {kF32_1, 2}, {kU32_32, 1}
- };
+ {kF32, 3}, {kU32, 2}, {kF32_1, 2}, {kU32_32, 1}};
EXPECT_EQ(expected, stats.id_descriptor_hist);
}
CompileAndAggregateStats(code2, &stats);
{
const std::unordered_map<uint32_t, uint32_t> expected = {
- {kF32, 6}, {kU32, 4}, {kF32_1, 3}, {kF32_3, 1}, {kU32_32, 2}
- };
+ {kF32, 6}, {kU32, 4}, {kF32_1, 3}, {kF32_3, 1}, {kU32_32, 2}};
EXPECT_EQ(expected, stats.id_descriptor_hist);
}
}
diff --git a/test/stats/stats_analyzer_test.cpp b/test/stats/stats_analyzer_test.cpp
index 6dcaac4f..6667969a 100644
--- a/test/stats/stats_analyzer_test.cpp
+++ b/test/stats/stats_analyzer_test.cpp
@@ -14,8 +14,8 @@
// Tests for unique type declaration rules validator.
-#include <string>
#include <sstream>
+#include <string>
#include "spirv/1.1/spirv.h"
#include "test_fixture.h"
diff --git a/test/target_env_test.cpp b/test/target_env_test.cpp
index 0c8389da..f47195b0 100644
--- a/test/target_env_test.cpp
+++ b/test/target_env_test.cpp
@@ -22,15 +22,15 @@ namespace {
using ::testing::AnyOf;
using ::testing::Eq;
-using ::testing::ValuesIn;
using ::testing::StartsWith;
+using ::testing::ValuesIn;
using TargetEnvTest = ::testing::TestWithParam<spv_target_env>;
TEST_P(TargetEnvTest, CreateContext) {
spv_target_env env = GetParam();
spv_context context = spvContextCreate(env);
ASSERT_NE(nullptr, context);
- spvContextDestroy(context); // Avoid leaking
+ spvContextDestroy(context); // Avoid leaking
}
TEST_P(TargetEnvTest, ValidDescription) {
diff --git a/test/text_literal_test.cpp b/test/text_literal_test.cpp
index e41a0146..dc75a8e1 100644
--- a/test/text_literal_test.cpp
+++ b/test/text_literal_test.cpp
@@ -14,9 +14,9 @@
#include "unit_spirv.h"
-#include "test_fixture.h"
#include "gmock/gmock.h"
#include "message.h"
+#include "test_fixture.h"
#include <string>
diff --git a/test/text_to_binary.annotation_test.cpp b/test/text_to_binary.annotation_test.cpp
index e0fe84e7..94cc8f07 100644
--- a/test/text_to_binary.annotation_test.cpp
+++ b/test/text_to_binary.annotation_test.cpp
@@ -20,21 +20,21 @@
#include <sstream>
#include <tuple>
-#include "test_fixture.h"
#include "gmock/gmock.h"
+#include "test_fixture.h"
namespace {
-using ::testing::Combine;
-using ::testing::Eq;
-using ::testing::Values;
-using ::testing::ValuesIn;
using spvtest::EnumCase;
using spvtest::MakeInstruction;
using spvtest::MakeVector;
using spvtest::TextToBinaryTest;
using std::get;
using std::tuple;
+using ::testing::Combine;
+using ::testing::Eq;
+using ::testing::Values;
+using ::testing::ValuesIn;
// Test OpDecorate
diff --git a/test/text_to_binary.barrier_test.cpp b/test/text_to_binary.barrier_test.cpp
index c086caa0..74310429 100644
--- a/test/text_to_binary.barrier_test.cpp
+++ b/test/text_to_binary.barrier_test.cpp
@@ -17,16 +17,16 @@
#include "unit_spirv.h"
-#include "test_fixture.h"
#include "gmock/gmock.h"
+#include "test_fixture.h"
namespace {
-using ::testing::ElementsAre;
-using ::testing::Eq;
-using ::testing::_;
using spvtest::MakeInstruction;
using spvtest::TextToBinaryTest;
+using ::testing::_;
+using ::testing::ElementsAre;
+using ::testing::Eq;
// Test OpMemoryBarrier
diff --git a/test/text_to_binary.constant_test.cpp b/test/text_to_binary.constant_test.cpp
index d975f1c9..d04aa138 100644
--- a/test/text_to_binary.constant_test.cpp
+++ b/test/text_to_binary.constant_test.cpp
@@ -20,14 +20,14 @@
#include <cstdint>
#include <limits>
-#include "test_fixture.h"
#include "gmock/gmock.h"
+#include "test_fixture.h"
namespace {
+using spvtest::Concatenate;
using spvtest::EnumCase;
using spvtest::MakeInstruction;
-using spvtest::Concatenate;
using ::testing::Eq;
// Test Sampler Addressing Mode enum values
@@ -233,14 +233,15 @@ INSTANTIATE_TEST_CASE_P(
}),);
// clang-format on
-// A test case for checking OpConstant with invalid literals with a leading minus.
+// A test case for checking OpConstant with invalid literals with a leading
+// minus.
struct InvalidLeadingMinusCase {
std::string type;
std::string literal;
};
-using OpConstantInvalidLeadingMinusTest =
- spvtest::TextToBinaryTestBase<::testing::TestWithParam<InvalidLeadingMinusCase>>;
+using OpConstantInvalidLeadingMinusTest = spvtest::TextToBinaryTestBase<
+ ::testing::TestWithParam<InvalidLeadingMinusCase>>;
TEST_P(OpConstantInvalidLeadingMinusTest, InvalidCase) {
const std::string input = "%1 = " + GetParam().type +
@@ -519,7 +520,7 @@ INSTANTIATE_TEST_CASE_P(
"%1 = OpTypeFloat 64\n%2 = OpConstant %1 0\n",
"%1 = OpTypeFloat 64\n%2 = OpConstant %1 1.79769e+308\n",
"%1 = OpTypeFloat 64\n%2 = OpConstant %1 -1.79769e+308\n",
- }),);
+ }), );
INSTANTIATE_TEST_CASE_P(
OpConstantHalfRoundTrip, RoundTripTest,
@@ -537,24 +538,24 @@ INSTANTIATE_TEST_CASE_P(
"%1 = OpTypeFloat 16\n%2 = OpConstant %1 -0x1.8p+1\n",
"%1 = OpTypeFloat 16\n%2 = OpConstant %1 -0x1.ffcp+1\n",
- "%1 = OpTypeFloat 16\n%2 = OpConstant %1 0x1p-16\n", // some denorms
+ "%1 = OpTypeFloat 16\n%2 = OpConstant %1 0x1p-16\n", // some denorms
"%1 = OpTypeFloat 16\n%2 = OpConstant %1 0x1p-24\n",
"%1 = OpTypeFloat 16\n%2 = OpConstant %1 -0x1p-24\n",
- "%1 = OpTypeFloat 16\n%2 = OpConstant %1 0x1p+16\n", // +inf
- "%1 = OpTypeFloat 16\n%2 = OpConstant %1 -0x1p+16\n", // -inf
- "%1 = OpTypeFloat 16\n%2 = OpConstant %1 -0x1.01p+16\n", // -inf
- "%1 = OpTypeFloat 16\n%2 = OpConstant %1 0x1.01p+16\n", // nan
- "%1 = OpTypeFloat 16\n%2 = OpConstant %1 0x1.11p+16\n", // nan
- "%1 = OpTypeFloat 16\n%2 = OpConstant %1 0x1.ffp+16\n", // nan
- "%1 = OpTypeFloat 16\n%2 = OpConstant %1 0x1.ffcp+16\n", // nan
- "%1 = OpTypeFloat 16\n%2 = OpConstant %1 0x1.004p+16\n", // nan
- "%1 = OpTypeFloat 16\n%2 = OpConstant %1 -0x1.01p+16\n", // -nan
- "%1 = OpTypeFloat 16\n%2 = OpConstant %1 -0x1.11p+16\n", // -nan
- "%1 = OpTypeFloat 16\n%2 = OpConstant %1 -0x1.ffp+16\n", // -nan
- "%1 = OpTypeFloat 16\n%2 = OpConstant %1 -0x1.ffcp+16\n", // -nan
- "%1 = OpTypeFloat 16\n%2 = OpConstant %1 -0x1.004p+16\n", // -nan
- }),);
+ "%1 = OpTypeFloat 16\n%2 = OpConstant %1 0x1p+16\n", // +inf
+ "%1 = OpTypeFloat 16\n%2 = OpConstant %1 -0x1p+16\n", // -inf
+ "%1 = OpTypeFloat 16\n%2 = OpConstant %1 -0x1.01p+16\n", // -inf
+ "%1 = OpTypeFloat 16\n%2 = OpConstant %1 0x1.01p+16\n", // nan
+ "%1 = OpTypeFloat 16\n%2 = OpConstant %1 0x1.11p+16\n", // nan
+ "%1 = OpTypeFloat 16\n%2 = OpConstant %1 0x1.ffp+16\n", // nan
+ "%1 = OpTypeFloat 16\n%2 = OpConstant %1 0x1.ffcp+16\n", // nan
+ "%1 = OpTypeFloat 16\n%2 = OpConstant %1 0x1.004p+16\n", // nan
+ "%1 = OpTypeFloat 16\n%2 = OpConstant %1 -0x1.01p+16\n", // -nan
+ "%1 = OpTypeFloat 16\n%2 = OpConstant %1 -0x1.11p+16\n", // -nan
+ "%1 = OpTypeFloat 16\n%2 = OpConstant %1 -0x1.ffp+16\n", // -nan
+ "%1 = OpTypeFloat 16\n%2 = OpConstant %1 -0x1.ffcp+16\n", // -nan
+ "%1 = OpTypeFloat 16\n%2 = OpConstant %1 -0x1.004p+16\n", // -nan
+ }), );
// clang-format off
// (Clang-format really wants to break up these strings across lines.
@@ -629,7 +630,7 @@ INSTANTIATE_TEST_CASE_P(
"%1 = OpTypeFloat 64\n%2 = OpSpecConstant %1 0\n",
"%1 = OpTypeFloat 64\n%2 = OpSpecConstant %1 1.79769e+308\n",
"%1 = OpTypeFloat 64\n%2 = OpSpecConstant %1 -1.79769e+308\n",
- }),);
+ }), );
// Test OpSpecConstantOp
@@ -780,7 +781,7 @@ INSTANTIATE_TEST_CASE_P(
// composite, and then literal indices.
{CASE(CompositeInsert), {0}},
{CASE(CompositeInsert), {4, 3, 99, 1}},
- }),);
+ }), );
using OpSpecConstantOpTestWithOneIdThenLiteralNumbers =
spvtest::TextToBinaryTestBase<::testing::TestWithParam<EnumCase<SpvOp>>>;
@@ -811,7 +812,7 @@ INSTANTIATE_TEST_CASE_P(
// indices. Let's only test a few.
{CASE(CompositeExtract), {0}},
{CASE(CompositeExtract), {0, 99, 42, 16, 17, 12, 19}},
- }),);
+ }), );
// TODO(dneto): OpConstantTrue
// TODO(dneto): OpConstantFalse
diff --git a/test/text_to_binary.control_flow_test.cpp b/test/text_to_binary.control_flow_test.cpp
index 8152bf24..56bb408c 100644
--- a/test/text_to_binary.control_flow_test.cpp
+++ b/test/text_to_binary.control_flow_test.cpp
@@ -21,16 +21,11 @@
#include "unit_spirv.h"
-#include "test_fixture.h"
#include "gmock/gmock.h"
+#include "test_fixture.h"
namespace {
-using ::testing::Combine;
-using ::testing::Eq;
-using ::testing::TestWithParam;
-using ::testing::Values;
-using ::testing::ValuesIn;
using spvtest::Concatenate;
using spvtest::EnumCase;
using spvtest::MakeInstruction;
@@ -38,6 +33,11 @@ using spvtest::TextToBinaryTest;
using std::get;
using std::ostringstream;
using std::tuple;
+using ::testing::Combine;
+using ::testing::Eq;
+using ::testing::TestWithParam;
+using ::testing::Values;
+using ::testing::ValuesIn;
// Test OpSelectionMerge
diff --git a/test/text_to_binary.debug_test.cpp b/test/text_to_binary.debug_test.cpp
index ec2acab2..93b71eee 100644
--- a/test/text_to_binary.debug_test.cpp
+++ b/test/text_to_binary.debug_test.cpp
@@ -19,8 +19,8 @@
#include <string>
-#include "test_fixture.h"
#include "gmock/gmock.h"
+#include "test_fixture.h"
namespace {
diff --git a/test/text_to_binary.device_side_enqueue_test.cpp b/test/text_to_binary.device_side_enqueue_test.cpp
index 852eef7a..78296119 100644
--- a/test/text_to_binary.device_side_enqueue_test.cpp
+++ b/test/text_to_binary.device_side_enqueue_test.cpp
@@ -67,7 +67,7 @@ INSTANTIATE_TEST_CASE_P(
{13, 14, 15, 16, 17, 18, 19, 20, 21}},
{"%l0 %l1 %l2 %l3 %l4 %l5 %l6 %l7 %l8 %l9",
{13, 14, 15, 16, 17, 18, 19, 20, 21, 22}},
- }),);
+ }), );
// Test some bad parses of OpEnqueueKernel. For other cases, we're relying
// on the uniformity of the parsing algorithm. The following two tests, ensure
diff --git a/test/text_to_binary.extension_test.cpp b/test/text_to_binary.extension_test.cpp
index 4b7c25c8..e2a5101d 100644
--- a/test/text_to_binary.extension_test.cpp
+++ b/test/text_to_binary.extension_test.cpp
@@ -17,10 +17,10 @@
#include "unit_spirv.h"
-#include "test_fixture.h"
#include "gmock/gmock.h"
#include "spirv/1.0/GLSL.std.450.h"
#include "spirv/1.0/OpenCL.std.h"
+#include "test_fixture.h"
namespace {
@@ -89,7 +89,6 @@ TEST_F(TextToBinaryTest, ExtInstFromTwoDifferentImports) {
EXPECT_THAT(EncodeAndDecodeSuccessfully(input), Eq(input));
}
-
// A test case for assembling into words in an instruction.
struct AssemblyCase {
std::string input;
@@ -185,19 +184,19 @@ INSTANTIATE_TEST_CASE_P(
SPV_KHR_subgroup_vote, ExtensionRoundTripTest,
// We'll get coverage over operand tables by trying the universal
// environments, and at least one specific environment.
- Combine(
- Values(SPV_ENV_UNIVERSAL_1_0, SPV_ENV_UNIVERSAL_1_1,
- SPV_ENV_VULKAN_1_0),
- ValuesIn(std::vector<AssemblyCase>{
- {"OpCapability SubgroupVoteKHR\n",
- MakeInstruction(SpvOpCapability, {SpvCapabilitySubgroupVoteKHR})},
- {"%2 = OpSubgroupAnyKHR %1 %3\n",
- MakeInstruction(SpvOpSubgroupAnyKHR, {1, 2, 3})},
- {"%2 = OpSubgroupAllKHR %1 %3\n",
- MakeInstruction(SpvOpSubgroupAllKHR, {1, 2, 3})},
- {"%2 = OpSubgroupAllEqualKHR %1 %3\n",
- MakeInstruction(SpvOpSubgroupAllEqualKHR, {1, 2, 3})},
- })), );
+ Combine(Values(SPV_ENV_UNIVERSAL_1_0, SPV_ENV_UNIVERSAL_1_1,
+ SPV_ENV_VULKAN_1_0),
+ ValuesIn(std::vector<AssemblyCase>{
+ {"OpCapability SubgroupVoteKHR\n",
+ MakeInstruction(SpvOpCapability,
+ {SpvCapabilitySubgroupVoteKHR})},
+ {"%2 = OpSubgroupAnyKHR %1 %3\n",
+ MakeInstruction(SpvOpSubgroupAnyKHR, {1, 2, 3})},
+ {"%2 = OpSubgroupAllKHR %1 %3\n",
+ MakeInstruction(SpvOpSubgroupAllKHR, {1, 2, 3})},
+ {"%2 = OpSubgroupAllEqualKHR %1 %3\n",
+ MakeInstruction(SpvOpSubgroupAllEqualKHR, {1, 2, 3})},
+ })), );
// SPV_KHR_16bit_storage
@@ -277,25 +276,27 @@ INSTANTIATE_TEST_CASE_P(
SpvBuiltInViewIndex})},
})), );
-
// SPV_AMD_shader_explicit_vertex_parameter
-#define PREAMBLE "%1 = OpExtInstImport \"SPV_AMD_shader_explicit_vertex_parameter\"\n"
+#define PREAMBLE \
+ "%1 = OpExtInstImport \"SPV_AMD_shader_explicit_vertex_parameter\"\n"
INSTANTIATE_TEST_CASE_P(
SPV_AMD_shader_explicit_vertex_parameter, ExtensionRoundTripTest,
// We'll get coverage over operand tables by trying the universal
// environments, and at least one specific environment.
- Combine(Values(SPV_ENV_UNIVERSAL_1_0, SPV_ENV_UNIVERSAL_1_1,
- SPV_ENV_VULKAN_1_0),
- ValuesIn(std::vector<AssemblyCase>{
- {PREAMBLE "%3 = OpExtInst %2 %1 InterpolateAtVertexAMD %4 %5\n",
- Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
- MakeVector("SPV_AMD_shader_explicit_vertex_parameter")),
- MakeInstruction(SpvOpExtInst, {2, 3, 1, 1, 4, 5})})},
- })), );
+ Combine(
+ Values(SPV_ENV_UNIVERSAL_1_0, SPV_ENV_UNIVERSAL_1_1,
+ SPV_ENV_VULKAN_1_0),
+ ValuesIn(std::vector<AssemblyCase>{
+ {PREAMBLE "%3 = OpExtInst %2 %1 InterpolateAtVertexAMD %4 %5\n",
+ Concatenate(
+ {MakeInstruction(
+ SpvOpExtInstImport, {1},
+ MakeVector("SPV_AMD_shader_explicit_vertex_parameter")),
+ MakeInstruction(SpvOpExtInst, {2, 3, 1, 1, 4, 5})})},
+ })), );
#undef PREAMBLE
-
// SPV_AMD_shader_trinary_minmax
#define PREAMBLE "%1 = OpExtInstImport \"SPV_AMD_shader_trinary_minmax\"\n"
@@ -303,49 +304,58 @@ INSTANTIATE_TEST_CASE_P(
SPV_AMD_shader_trinary_minmax, ExtensionRoundTripTest,
// We'll get coverage over operand tables by trying the universal
// environments, and at least one specific environment.
- Combine(Values(SPV_ENV_UNIVERSAL_1_0, SPV_ENV_UNIVERSAL_1_1,
- SPV_ENV_VULKAN_1_0),
- ValuesIn(std::vector<AssemblyCase>{
- {PREAMBLE "%3 = OpExtInst %2 %1 FMin3AMD %4 %5 %6\n",
- Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
- MakeVector("SPV_AMD_shader_trinary_minmax")),
- MakeInstruction(SpvOpExtInst, {2, 3, 1, 1, 4, 5, 6})})},
- {PREAMBLE "%3 = OpExtInst %2 %1 UMin3AMD %4 %5 %6\n",
- Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
- MakeVector("SPV_AMD_shader_trinary_minmax")),
- MakeInstruction(SpvOpExtInst, {2, 3, 1, 2, 4, 5, 6})})},
- {PREAMBLE "%3 = OpExtInst %2 %1 SMin3AMD %4 %5 %6\n",
- Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
- MakeVector("SPV_AMD_shader_trinary_minmax")),
- MakeInstruction(SpvOpExtInst, {2, 3, 1, 3, 4, 5, 6})})},
- {PREAMBLE "%3 = OpExtInst %2 %1 FMax3AMD %4 %5 %6\n",
- Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
- MakeVector("SPV_AMD_shader_trinary_minmax")),
- MakeInstruction(SpvOpExtInst, {2, 3, 1, 4, 4, 5, 6})})},
- {PREAMBLE "%3 = OpExtInst %2 %1 UMax3AMD %4 %5 %6\n",
- Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
- MakeVector("SPV_AMD_shader_trinary_minmax")),
- MakeInstruction(SpvOpExtInst, {2, 3, 1, 5, 4, 5, 6})})},
- {PREAMBLE "%3 = OpExtInst %2 %1 SMax3AMD %4 %5 %6\n",
- Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
- MakeVector("SPV_AMD_shader_trinary_minmax")),
- MakeInstruction(SpvOpExtInst, {2, 3, 1, 6, 4, 5, 6})})},
- {PREAMBLE "%3 = OpExtInst %2 %1 FMid3AMD %4 %5 %6\n",
- Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
- MakeVector("SPV_AMD_shader_trinary_minmax")),
- MakeInstruction(SpvOpExtInst, {2, 3, 1, 7, 4, 5, 6})})},
- {PREAMBLE "%3 = OpExtInst %2 %1 UMid3AMD %4 %5 %6\n",
- Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
- MakeVector("SPV_AMD_shader_trinary_minmax")),
- MakeInstruction(SpvOpExtInst, {2, 3, 1, 8, 4, 5, 6})})},
- {PREAMBLE "%3 = OpExtInst %2 %1 SMid3AMD %4 %5 %6\n",
- Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
- MakeVector("SPV_AMD_shader_trinary_minmax")),
- MakeInstruction(SpvOpExtInst, {2, 3, 1, 9, 4, 5, 6})})},
- })), );
+ Combine(
+ Values(SPV_ENV_UNIVERSAL_1_0, SPV_ENV_UNIVERSAL_1_1,
+ SPV_ENV_VULKAN_1_0),
+ ValuesIn(std::vector<AssemblyCase>{
+ {PREAMBLE "%3 = OpExtInst %2 %1 FMin3AMD %4 %5 %6\n",
+ Concatenate(
+ {MakeInstruction(SpvOpExtInstImport, {1},
+ MakeVector("SPV_AMD_shader_trinary_minmax")),
+ MakeInstruction(SpvOpExtInst, {2, 3, 1, 1, 4, 5, 6})})},
+ {PREAMBLE "%3 = OpExtInst %2 %1 UMin3AMD %4 %5 %6\n",
+ Concatenate(
+ {MakeInstruction(SpvOpExtInstImport, {1},
+ MakeVector("SPV_AMD_shader_trinary_minmax")),
+ MakeInstruction(SpvOpExtInst, {2, 3, 1, 2, 4, 5, 6})})},
+ {PREAMBLE "%3 = OpExtInst %2 %1 SMin3AMD %4 %5 %6\n",
+ Concatenate(
+ {MakeInstruction(SpvOpExtInstImport, {1},
+ MakeVector("SPV_AMD_shader_trinary_minmax")),
+ MakeInstruction(SpvOpExtInst, {2, 3, 1, 3, 4, 5, 6})})},
+ {PREAMBLE "%3 = OpExtInst %2 %1 FMax3AMD %4 %5 %6\n",
+ Concatenate(
+ {MakeInstruction(SpvOpExtInstImport, {1},
+ MakeVector("SPV_AMD_shader_trinary_minmax")),
+ MakeInstruction(SpvOpExtInst, {2, 3, 1, 4, 4, 5, 6})})},
+ {PREAMBLE "%3 = OpExtInst %2 %1 UMax3AMD %4 %5 %6\n",
+ Concatenate(
+ {MakeInstruction(SpvOpExtInstImport, {1},
+ MakeVector("SPV_AMD_shader_trinary_minmax")),
+ MakeInstruction(SpvOpExtInst, {2, 3, 1, 5, 4, 5, 6})})},
+ {PREAMBLE "%3 = OpExtInst %2 %1 SMax3AMD %4 %5 %6\n",
+ Concatenate(
+ {MakeInstruction(SpvOpExtInstImport, {1},
+ MakeVector("SPV_AMD_shader_trinary_minmax")),
+ MakeInstruction(SpvOpExtInst, {2, 3, 1, 6, 4, 5, 6})})},
+ {PREAMBLE "%3 = OpExtInst %2 %1 FMid3AMD %4 %5 %6\n",
+ Concatenate(
+ {MakeInstruction(SpvOpExtInstImport, {1},
+ MakeVector("SPV_AMD_shader_trinary_minmax")),
+ MakeInstruction(SpvOpExtInst, {2, 3, 1, 7, 4, 5, 6})})},
+ {PREAMBLE "%3 = OpExtInst %2 %1 UMid3AMD %4 %5 %6\n",
+ Concatenate(
+ {MakeInstruction(SpvOpExtInstImport, {1},
+ MakeVector("SPV_AMD_shader_trinary_minmax")),
+ MakeInstruction(SpvOpExtInst, {2, 3, 1, 8, 4, 5, 6})})},
+ {PREAMBLE "%3 = OpExtInst %2 %1 SMid3AMD %4 %5 %6\n",
+ Concatenate(
+ {MakeInstruction(SpvOpExtInstImport, {1},
+ MakeVector("SPV_AMD_shader_trinary_minmax")),
+ MakeInstruction(SpvOpExtInst, {2, 3, 1, 9, 4, 5, 6})})},
+ })), );
#undef PREAMBLE
-
// SPV_AMD_gcn_shader
#define PREAMBLE "%1 = OpExtInstImport \"SPV_AMD_gcn_shader\"\n"
@@ -371,7 +381,6 @@ INSTANTIATE_TEST_CASE_P(
})), );
#undef PREAMBLE
-
// SPV_AMD_shader_ballot
#define PREAMBLE "%1 = OpExtInstImport \"SPV_AMD_shader_ballot\"\n"
@@ -379,29 +388,31 @@ INSTANTIATE_TEST_CASE_P(
SPV_AMD_shader_ballot, ExtensionRoundTripTest,
// We'll get coverage over operand tables by trying the universal
// environments, and at least one specific environment.
- Combine(Values(SPV_ENV_UNIVERSAL_1_0, SPV_ENV_UNIVERSAL_1_1,
- SPV_ENV_VULKAN_1_0),
- ValuesIn(std::vector<AssemblyCase>{
- {PREAMBLE "%3 = OpExtInst %2 %1 SwizzleInvocationsAMD %4 %5\n",
- Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
- MakeVector("SPV_AMD_shader_ballot")),
- MakeInstruction(SpvOpExtInst, {2, 3, 1, 1, 4, 5})})},
- {PREAMBLE "%3 = OpExtInst %2 %1 SwizzleInvocationsMaskedAMD %4 %5\n",
- Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
- MakeVector("SPV_AMD_shader_ballot")),
- MakeInstruction(SpvOpExtInst, {2, 3, 1, 2, 4, 5})})},
- {PREAMBLE "%3 = OpExtInst %2 %1 WriteInvocationAMD %4 %5 %6\n",
- Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
- MakeVector("SPV_AMD_shader_ballot")),
- MakeInstruction(SpvOpExtInst, {2, 3, 1, 3, 4, 5, 6})})},
- {PREAMBLE "%3 = OpExtInst %2 %1 MbcntAMD %4\n",
- Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
- MakeVector("SPV_AMD_shader_ballot")),
- MakeInstruction(SpvOpExtInst, {2, 3, 1, 4, 4})})},
- })), );
+ Combine(
+ Values(SPV_ENV_UNIVERSAL_1_0, SPV_ENV_UNIVERSAL_1_1,
+ SPV_ENV_VULKAN_1_0),
+ ValuesIn(std::vector<AssemblyCase>{
+ {PREAMBLE "%3 = OpExtInst %2 %1 SwizzleInvocationsAMD %4 %5\n",
+ Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
+ MakeVector("SPV_AMD_shader_ballot")),
+ MakeInstruction(SpvOpExtInst, {2, 3, 1, 1, 4, 5})})},
+ {PREAMBLE
+ "%3 = OpExtInst %2 %1 SwizzleInvocationsMaskedAMD %4 %5\n",
+ Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
+ MakeVector("SPV_AMD_shader_ballot")),
+ MakeInstruction(SpvOpExtInst, {2, 3, 1, 2, 4, 5})})},
+ {PREAMBLE "%3 = OpExtInst %2 %1 WriteInvocationAMD %4 %5 %6\n",
+ Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
+ MakeVector("SPV_AMD_shader_ballot")),
+ MakeInstruction(SpvOpExtInst,
+ {2, 3, 1, 3, 4, 5, 6})})},
+ {PREAMBLE "%3 = OpExtInst %2 %1 MbcntAMD %4\n",
+ Concatenate({MakeInstruction(SpvOpExtInstImport, {1},
+ MakeVector("SPV_AMD_shader_ballot")),
+ MakeInstruction(SpvOpExtInst, {2, 3, 1, 4, 4})})},
+ })), );
#undef PREAMBLE
-
// SPV_KHR_variable_pointers
INSTANTIATE_TEST_CASE_P(
@@ -415,9 +426,8 @@ INSTANTIATE_TEST_CASE_P(
MakeInstruction(SpvOpCapability,
{SpvCapabilityVariablePointers})},
{"OpCapability VariablePointersStorageBuffer\n",
- MakeInstruction(
- SpvOpCapability,
- {SpvCapabilityVariablePointersStorageBuffer})},
+ MakeInstruction(SpvOpCapability,
+ {SpvCapabilityVariablePointersStorageBuffer})},
})), );
} // anonymous namespace
diff --git a/test/text_to_binary.image_test.cpp b/test/text_to_binary.image_test.cpp
index 51dd52ea..65f0af37 100644
--- a/test/text_to_binary.image_test.cpp
+++ b/test/text_to_binary.image_test.cpp
@@ -63,7 +63,7 @@ INSTANTIATE_TEST_CASE_P(
{" ConstOffsets %5", {MASK(ConstOffsets), 5}},
{" Sample %5", {MASK(Sample), 5}},
{" MinLod %5", {MASK(MinLod), 5}},
- }),);
+ }), );
#undef MASK
#define MASK(NAME) static_cast<uint32_t>(SpvImageOperands##NAME##Mask)
INSTANTIATE_TEST_CASE_P(
@@ -76,8 +76,7 @@ INSTANTIATE_TEST_CASE_P(
{" Lod|Grad %5 %6 %7", {MASK(Lod) | MASK(Grad), 5, 6, 7}},
{" Grad|ConstOffset %5 %6 %7",
{MASK(Grad) | MASK(ConstOffset), 5, 6, 7}},
- {" ConstOffset|Offset %5 %6",
- {MASK(ConstOffset) | MASK(Offset), 5, 6}},
+ {" ConstOffset|Offset %5 %6", {MASK(ConstOffset) | MASK(Offset), 5, 6}},
{" Offset|ConstOffsets %5 %6",
{MASK(Offset) | MASK(ConstOffsets), 5, 6}},
{" ConstOffsets|Sample %5 %6",
@@ -93,7 +92,7 @@ INSTANTIATE_TEST_CASE_P(
" %5 %6 %7 %8 %9 %10 %11 %12",
{MASK(Bias) | MASK(Lod) | MASK(Grad) | MASK(ConstOffset) |
MASK(Offset) | MASK(ConstOffsets) | MASK(Sample),
- 5, 6, 7, 8, 9, 10, 11, 12}}}),);
+ 5, 6, 7, 8, 9, 10, 11, 12}}}), );
#undef MASK
TEST_F(ImageOperandsTest, WrongOperand) {
@@ -132,7 +131,7 @@ TEST_F(OpImageTest, InvalidSampledImageOperand) {
TEST_F(OpImageTest, TooManyOperands) {
// We should improve this message, to say what instruction we're trying to
// parse.
- EXPECT_THAT(CompileFailure("%2 = OpImage %1 %3 %4"), // an Id
+ EXPECT_THAT(CompileFailure("%2 = OpImage %1 %3 %4"), // an Id
Eq("Expected '=', found end of stream."));
EXPECT_THAT(CompileFailure("%2 = OpImage %1 %3 99"), // a number
@@ -185,7 +184,7 @@ INSTANTIATE_TEST_CASE_P(ImageSparseReadImageOperandsAny,
{" ConstOffsets %5", {MASK(ConstOffsets), 5}},
{" Sample %5", {MASK(Sample), 5}},
{" MinLod %5", {MASK(MinLod), 5}},
- }),);
+ }), );
#undef MASK
#define MASK(NAME) static_cast<uint32_t>(SpvImageOperands##NAME##Mask)
INSTANTIATE_TEST_CASE_P(
@@ -210,7 +209,7 @@ INSTANTIATE_TEST_CASE_P(
5, 6, 7, 8, 9, 10, 11, 12}},
// Don't try the masks reversed, since this is a round trip test,
// and the disassembler will sort them.
- }),);
+ }), );
#undef MASK
TEST_F(OpImageSparseReadTest, InvalidTypeOperand) {
diff --git a/test/text_to_binary.memory_test.cpp b/test/text_to_binary.memory_test.cpp
index 2146fce6..2267b062 100644
--- a/test/text_to_binary.memory_test.cpp
+++ b/test/text_to_binary.memory_test.cpp
@@ -50,7 +50,7 @@ INSTANTIATE_TEST_CASE_P(
{SpvMemoryAccessVolatileMask, "Volatile", {}},
{SpvMemoryAccessAlignedMask, "Aligned", {16}},
{SpvMemoryAccessNontemporalMask, "Nontemporal", {}},
- }),);
+ }), );
TEST_F(TextToBinaryTest, CombinedMemoryAccessMask) {
const std::string input = "OpStore %ptr %value Volatile|Aligned 16";
diff --git a/test/text_to_binary.misc_test.cpp b/test/text_to_binary.misc_test.cpp
index 470bdca4..3d21b432 100644
--- a/test/text_to_binary.misc_test.cpp
+++ b/test/text_to_binary.misc_test.cpp
@@ -17,8 +17,8 @@
#include "unit_spirv.h"
-#include "test_fixture.h"
#include "gmock/gmock.h"
+#include "test_fixture.h"
namespace {
diff --git a/test/text_to_binary.mode_setting_test.cpp b/test/text_to_binary.mode_setting_test.cpp
index 27991b2a..972a2f36 100644
--- a/test/text_to_binary.mode_setting_test.cpp
+++ b/test/text_to_binary.mode_setting_test.cpp
@@ -17,21 +17,21 @@
#include "unit_spirv.h"
-#include "test_fixture.h"
#include "gmock/gmock.h"
+#include "test_fixture.h"
namespace {
-using ::testing::Combine;
-using ::testing::Eq;
-using ::testing::TestWithParam;
-using ::testing::Values;
-using ::testing::ValuesIn;
using spvtest::EnumCase;
using spvtest::MakeInstruction;
using spvtest::MakeVector;
using std::get;
using std::tuple;
+using ::testing::Combine;
+using ::testing::Eq;
+using ::testing::TestWithParam;
+using ::testing::Values;
+using ::testing::ValuesIn;
// Test OpMemoryModel
diff --git a/test/text_to_binary.pipe_storage_test.cpp b/test/text_to_binary.pipe_storage_test.cpp
index 66d13eaf..97dc286f 100644
--- a/test/text_to_binary.pipe_storage_test.cpp
+++ b/test/text_to_binary.pipe_storage_test.cpp
@@ -12,8 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-#include "test_fixture.h"
#include "gmock/gmock.h"
+#include "test_fixture.h"
namespace {
diff --git a/test/text_to_binary.subgroup_dispatch_test.cpp b/test/text_to_binary.subgroup_dispatch_test.cpp
index c74f9a6f..8cc8896f 100644
--- a/test/text_to_binary.subgroup_dispatch_test.cpp
+++ b/test/text_to_binary.subgroup_dispatch_test.cpp
@@ -17,14 +17,14 @@
#include "unit_spirv.h"
-#include "test_fixture.h"
#include "gmock/gmock.h"
+#include "test_fixture.h"
namespace {
using ::spvtest::MakeInstruction;
-using ::testing::Eq;
using std::vector;
+using ::testing::Eq;
using OpGetKernelLocalSizeForSubgroupCountTest = spvtest::TextToBinaryTest;
diff --git a/test/text_to_binary.type_declaration_test.cpp b/test/text_to_binary.type_declaration_test.cpp
index 20f3797e..be8d6916 100644
--- a/test/text_to_binary.type_declaration_test.cpp
+++ b/test/text_to_binary.type_declaration_test.cpp
@@ -17,8 +17,8 @@
#include "unit_spirv.h"
-#include "test_fixture.h"
#include "gmock/gmock.h"
+#include "test_fixture.h"
namespace {
diff --git a/test/text_to_binary_test.cpp b/test/text_to_binary_test.cpp
index ff7e04e5..e9a709b6 100644
--- a/test/text_to_binary_test.cpp
+++ b/test/text_to_binary_test.cpp
@@ -19,11 +19,11 @@
#include "gmock/gmock.h"
-#include "test_fixture.h"
-#include "unit_spirv.h"
#include "source/spirv_constant.h"
#include "source/util/bitutils.h"
#include "source/util/hex_float.h"
+#include "test_fixture.h"
+#include "unit_spirv.h"
namespace {
diff --git a/test/unit_spirv.h b/test/unit_spirv.h
index 47448158..416d6e5c 100644
--- a/test/unit_spirv.h
+++ b/test/unit_spirv.h
@@ -22,8 +22,8 @@
#include "source/assembly_grammar.h"
#include "source/binary.h"
-#include "source/enum_set.h"
#include "source/diagnostic.h"
+#include "source/enum_set.h"
#include "source/opcode.h"
#include "source/spirv_endian.h"
#include "source/text.h"
@@ -42,7 +42,7 @@ std::string to_string(const T& val) {
os << val;
return os.str();
}
-}
+} // namespace std
#endif
// Determine endianness & predicate tests on it
diff --git a/test/util/ilist_test.cpp b/test/util/ilist_test.cpp
index d0edd6fb..5f36f391 100644
--- a/test/util/ilist_test.cpp
+++ b/test/util/ilist_test.cpp
@@ -20,9 +20,9 @@
namespace {
-using ::testing::ElementsAre;
using spvtools::utils::IntrusiveList;
using spvtools::utils::IntrusiveNodeBase;
+using ::testing::ElementsAre;
using IListTest = ::testing::Test;
class TestNode : public IntrusiveNodeBase<TestNode> {
diff --git a/test/val/val_arithmetics_test.cpp b/test/val/val_arithmetics_test.cpp
index 096fbfe3..7c3172f9 100644
--- a/test/val/val_arithmetics_test.cpp
+++ b/test/val/val_arithmetics_test.cpp
@@ -31,7 +31,7 @@ using ValidateArithmetics = spvtest::ValidateBase<bool>;
std::string GenerateCode(const std::string& main_body) {
const std::string prefix =
-R"(
+ R"(
OpCapability Shader
OpCapability Int64
OpCapability Float64
@@ -159,7 +159,7 @@ OpEntryPoint Fragment %main "main"
%main_entry = OpLabel)";
const std::string suffix =
-R"(
+ R"(
OpReturn
OpFunctionEnd)";
@@ -284,8 +284,10 @@ TEST_F(ValidateArithmetics, FNegateTypeIdU32) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected floating scalar or vector type as Result Type: FNegate"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected floating scalar or vector type as Result Type: FNegate"));
}
TEST_F(ValidateArithmetics, FNegateTypeIdVec2U32) {
@@ -295,8 +297,10 @@ TEST_F(ValidateArithmetics, FNegateTypeIdVec2U32) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected floating scalar or vector type as Result Type: FNegate"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected floating scalar or vector type as Result Type: FNegate"));
}
TEST_F(ValidateArithmetics, FNegateWrongOperand) {
@@ -306,9 +310,9 @@ TEST_F(ValidateArithmetics, FNegateWrongOperand) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected arithmetic operands to be of Result Type: "
- "FNegate operand index 2"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected arithmetic operands to be of Result Type: "
+ "FNegate operand index 2"));
}
TEST_F(ValidateArithmetics, FMulTypeIdU32) {
@@ -318,8 +322,10 @@ TEST_F(ValidateArithmetics, FMulTypeIdU32) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected floating scalar or vector type as Result Type: FMul"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected floating scalar or vector type as Result Type: FMul"));
}
TEST_F(ValidateArithmetics, FMulTypeIdVec2U32) {
@@ -329,8 +335,10 @@ TEST_F(ValidateArithmetics, FMulTypeIdVec2U32) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected floating scalar or vector type as Result Type: FMul"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected floating scalar or vector type as Result Type: FMul"));
}
TEST_F(ValidateArithmetics, FMulWrongOperand1) {
@@ -340,9 +348,9 @@ TEST_F(ValidateArithmetics, FMulWrongOperand1) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected arithmetic operands to be of Result Type: "
- "FMul operand index 2"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected arithmetic operands to be of Result Type: "
+ "FMul operand index 2"));
}
TEST_F(ValidateArithmetics, FMulWrongOperand2) {
@@ -352,9 +360,9 @@ TEST_F(ValidateArithmetics, FMulWrongOperand2) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected arithmetic operands to be of Result Type: "
- "FMul operand index 3"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected arithmetic operands to be of Result Type: "
+ "FMul operand index 3"));
}
TEST_F(ValidateArithmetics, FMulWrongVectorOperand1) {
@@ -364,9 +372,9 @@ TEST_F(ValidateArithmetics, FMulWrongVectorOperand1) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected arithmetic operands to be of Result Type: "
- "FMul operand index 2"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected arithmetic operands to be of Result Type: "
+ "FMul operand index 2"));
}
TEST_F(ValidateArithmetics, FMulWrongVectorOperand2) {
@@ -376,9 +384,9 @@ TEST_F(ValidateArithmetics, FMulWrongVectorOperand2) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected arithmetic operands to be of Result Type: "
- "FMul operand index 3"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected arithmetic operands to be of Result Type: "
+ "FMul operand index 3"));
}
TEST_F(ValidateArithmetics, IMulFloatTypeId) {
@@ -388,8 +396,9 @@ TEST_F(ValidateArithmetics, IMulFloatTypeId) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar or vector type as Result Type: IMul"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected int scalar or vector type as Result Type: IMul"));
}
TEST_F(ValidateArithmetics, IMulFloatOperand1) {
@@ -399,9 +408,9 @@ TEST_F(ValidateArithmetics, IMulFloatOperand1) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar or vector type as operand: "
- "IMul operand index 2"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected int scalar or vector type as operand: "
+ "IMul operand index 2"));
}
TEST_F(ValidateArithmetics, IMulFloatOperand2) {
@@ -411,9 +420,9 @@ TEST_F(ValidateArithmetics, IMulFloatOperand2) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar or vector type as operand: "
- "IMul operand index 3"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected int scalar or vector type as operand: "
+ "IMul operand index 3"));
}
TEST_F(ValidateArithmetics, IMulWrongBitWidthOperand1) {
@@ -423,9 +432,10 @@ TEST_F(ValidateArithmetics, IMulWrongBitWidthOperand1) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected arithmetic operands to have the same bit width "
- "as Result Type: IMul operand index 2"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected arithmetic operands to have the same bit width "
+ "as Result Type: IMul operand index 2"));
}
TEST_F(ValidateArithmetics, IMulWrongBitWidthOperand2) {
@@ -435,9 +445,10 @@ TEST_F(ValidateArithmetics, IMulWrongBitWidthOperand2) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected arithmetic operands to have the same bit width "
- "as Result Type: IMul operand index 3"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected arithmetic operands to have the same bit width "
+ "as Result Type: IMul operand index 3"));
}
TEST_F(ValidateArithmetics, IMulWrongBitWidthVector) {
@@ -447,9 +458,10 @@ TEST_F(ValidateArithmetics, IMulWrongBitWidthVector) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected arithmetic operands to have the same bit width "
- "as Result Type: IMul operand index 2"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected arithmetic operands to have the same bit width "
+ "as Result Type: IMul operand index 2"));
}
TEST_F(ValidateArithmetics, IMulVectorScalarOperand1) {
@@ -459,9 +471,10 @@ TEST_F(ValidateArithmetics, IMulVectorScalarOperand1) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected arithmetic operands to have the same dimension "
- "as Result Type: IMul operand index 2"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected arithmetic operands to have the same dimension "
+ "as Result Type: IMul operand index 2"));
}
TEST_F(ValidateArithmetics, IMulVectorScalarOperand2) {
@@ -471,9 +484,10 @@ TEST_F(ValidateArithmetics, IMulVectorScalarOperand2) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected arithmetic operands to have the same dimension "
- "as Result Type: IMul operand index 3"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected arithmetic operands to have the same dimension "
+ "as Result Type: IMul operand index 3"));
}
TEST_F(ValidateArithmetics, IMulScalarVectorOperand1) {
@@ -483,9 +497,10 @@ TEST_F(ValidateArithmetics, IMulScalarVectorOperand1) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected arithmetic operands to have the same dimension "
- "as Result Type: IMul operand index 2"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected arithmetic operands to have the same dimension "
+ "as Result Type: IMul operand index 2"));
}
TEST_F(ValidateArithmetics, IMulScalarVectorOperand2) {
@@ -495,9 +510,10 @@ TEST_F(ValidateArithmetics, IMulScalarVectorOperand2) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected arithmetic operands to have the same dimension "
- "as Result Type: IMul operand index 3"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected arithmetic operands to have the same dimension "
+ "as Result Type: IMul operand index 3"));
}
TEST_F(ValidateArithmetics, SNegateFloat) {
@@ -507,9 +523,9 @@ TEST_F(ValidateArithmetics, SNegateFloat) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar or vector type as operand: "
- "SNegate operand index 2"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected int scalar or vector type as operand: "
+ "SNegate operand index 2"));
}
TEST_F(ValidateArithmetics, UDivFloatType) {
@@ -519,8 +535,10 @@ TEST_F(ValidateArithmetics, UDivFloatType) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected unsigned int scalar or vector type as Result Type: UDiv"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected unsigned int scalar or vector type as Result Type: UDiv"));
}
TEST_F(ValidateArithmetics, UDivSignedIntType) {
@@ -530,8 +548,10 @@ TEST_F(ValidateArithmetics, UDivSignedIntType) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected unsigned int scalar or vector type as Result Type: UDiv"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected unsigned int scalar or vector type as Result Type: UDiv"));
}
TEST_F(ValidateArithmetics, UDivWrongOperand1) {
@@ -541,9 +561,9 @@ TEST_F(ValidateArithmetics, UDivWrongOperand1) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected arithmetic operands to be of Result Type: "
- "UDiv operand index 2"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected arithmetic operands to be of Result Type: "
+ "UDiv operand index 2"));
}
TEST_F(ValidateArithmetics, UDivWrongOperand2) {
@@ -553,9 +573,9 @@ TEST_F(ValidateArithmetics, UDivWrongOperand2) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected arithmetic operands to be of Result Type: "
- "UDiv operand index 3"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected arithmetic operands to be of Result Type: "
+ "UDiv operand index 3"));
}
TEST_F(ValidateArithmetics, DotSuccess) {
@@ -574,8 +594,8 @@ TEST_F(ValidateArithmetics, DotWrongTypeId) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float scalar type as Result Type: Dot"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected float scalar type as Result Type: Dot"));
}
TEST_F(ValidateArithmetics, DotNotVectorTypeOperand1) {
@@ -585,8 +605,9 @@ TEST_F(ValidateArithmetics, DotNotVectorTypeOperand1) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float vector as operand: Dot operand index 2"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected float vector as operand: Dot operand index 2"));
}
TEST_F(ValidateArithmetics, DotNotVectorTypeOperand2) {
@@ -596,8 +617,9 @@ TEST_F(ValidateArithmetics, DotNotVectorTypeOperand2) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float vector as operand: Dot operand index 3"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected float vector as operand: Dot operand index 3"));
}
TEST_F(ValidateArithmetics, DotWrongComponentOperand1) {
@@ -607,9 +629,9 @@ TEST_F(ValidateArithmetics, DotWrongComponentOperand1) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected component type to be equal to Result Type: "
- "Dot operand index 2"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected component type to be equal to Result Type: "
+ "Dot operand index 2"));
}
TEST_F(ValidateArithmetics, DotWrongComponentOperand2) {
@@ -619,9 +641,9 @@ TEST_F(ValidateArithmetics, DotWrongComponentOperand2) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected component type to be equal to Result Type: "
- "Dot operand index 3"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected component type to be equal to Result Type: "
+ "Dot operand index 3"));
}
TEST_F(ValidateArithmetics, DotDifferentVectorSize) {
@@ -631,8 +653,10 @@ TEST_F(ValidateArithmetics, DotDifferentVectorSize) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operands to have the same number of componenets: Dot"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected operands to have the same number of componenets: Dot"));
}
TEST_F(ValidateArithmetics, VectorTimesScalarSuccess) {
@@ -651,9 +675,9 @@ TEST_F(ValidateArithmetics, VectorTimesScalarWrongTypeId) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float vector type as Result Type: "
- "VectorTimesScalar"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected float vector type as Result Type: "
+ "VectorTimesScalar"));
}
TEST_F(ValidateArithmetics, VectorTimesScalarWrongVector) {
@@ -663,9 +687,10 @@ TEST_F(ValidateArithmetics, VectorTimesScalarWrongVector) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected vector operand type to be equal to Result Type: "
- "VectorTimesScalar"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected vector operand type to be equal to Result Type: "
+ "VectorTimesScalar"));
}
TEST_F(ValidateArithmetics, VectorTimesScalarWrongScalar) {
@@ -675,9 +700,10 @@ TEST_F(ValidateArithmetics, VectorTimesScalarWrongScalar) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected scalar operand type to be equal to the component "
- "type of the vector operand: VectorTimesScalar"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected scalar operand type to be equal to the component "
+ "type of the vector operand: VectorTimesScalar"));
}
TEST_F(ValidateArithmetics, MatrixTimesScalarSuccess) {
@@ -696,9 +722,9 @@ TEST_F(ValidateArithmetics, MatrixTimesScalarWrongTypeId) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float matrix type as Result Type: "
- "MatrixTimesScalar"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected float matrix type as Result Type: "
+ "MatrixTimesScalar"));
}
TEST_F(ValidateArithmetics, MatrixTimesScalarWrongMatrix) {
@@ -708,9 +734,10 @@ TEST_F(ValidateArithmetics, MatrixTimesScalarWrongMatrix) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected matrix operand type to be equal to Result Type: "
- "MatrixTimesScalar"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected matrix operand type to be equal to Result Type: "
+ "MatrixTimesScalar"));
}
TEST_F(ValidateArithmetics, MatrixTimesScalarWrongScalar) {
@@ -720,9 +747,10 @@ TEST_F(ValidateArithmetics, MatrixTimesScalarWrongScalar) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected scalar operand type to be equal to the component "
- "type of the matrix operand: MatrixTimesScalar"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected scalar operand type to be equal to the component "
+ "type of the matrix operand: MatrixTimesScalar"));
}
TEST_F(ValidateArithmetics, VectorTimesMatrix2x22Success) {
@@ -750,9 +778,9 @@ TEST_F(ValidateArithmetics, VectorTimesMatrixWrongTypeId) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float vector type as Result Type: "
- "VectorTimesMatrix"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected float vector type as Result Type: "
+ "VectorTimesMatrix"));
}
TEST_F(ValidateArithmetics, VectorTimesMatrixNotFloatVector) {
@@ -762,9 +790,9 @@ TEST_F(ValidateArithmetics, VectorTimesMatrixNotFloatVector) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float vector type as left operand: "
- "VectorTimesMatrix"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected float vector type as left operand: "
+ "VectorTimesMatrix"));
}
TEST_F(ValidateArithmetics, VectorTimesMatrixWrongVectorComponent) {
@@ -774,9 +802,11 @@ TEST_F(ValidateArithmetics, VectorTimesMatrixWrongVectorComponent) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected component types of Result Type and vector to be equal: "
- "VectorTimesMatrix"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected component types of Result Type and vector to be equal: "
+ "VectorTimesMatrix"));
}
TEST_F(ValidateArithmetics, VectorTimesMatrixWrongMatrix) {
@@ -786,9 +816,9 @@ TEST_F(ValidateArithmetics, VectorTimesMatrixWrongMatrix) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float matrix type as right operand: "
- "VectorTimesMatrix"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected float matrix type as right operand: "
+ "VectorTimesMatrix"));
}
TEST_F(ValidateArithmetics, VectorTimesMatrixWrongMatrixComponent) {
@@ -798,9 +828,11 @@ TEST_F(ValidateArithmetics, VectorTimesMatrixWrongMatrixComponent) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected component types of Result Type and matrix to be equal: "
- "VectorTimesMatrix"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected component types of Result Type and matrix to be equal: "
+ "VectorTimesMatrix"));
}
TEST_F(ValidateArithmetics, VectorTimesMatrix2eq2x23Fail) {
@@ -810,9 +842,11 @@ TEST_F(ValidateArithmetics, VectorTimesMatrix2eq2x23Fail) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected number of columns of the matrix to be equal to Result Type "
- "vector size: VectorTimesMatrix"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected number of columns of the matrix to be equal to Result Type "
+ "vector size: VectorTimesMatrix"));
}
TEST_F(ValidateArithmetics, VectorTimesMatrix2x32Fail) {
@@ -822,9 +856,11 @@ TEST_F(ValidateArithmetics, VectorTimesMatrix2x32Fail) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected number of rows of the matrix to be equal to the vector "
- "operand size: VectorTimesMatrix"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected number of rows of the matrix to be equal to the vector "
+ "operand size: VectorTimesMatrix"));
}
TEST_F(ValidateArithmetics, MatrixTimesVector22x2Success) {
@@ -852,9 +888,9 @@ TEST_F(ValidateArithmetics, MatrixTimesVectorWrongTypeId) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float vector type as Result Type: "
- "MatrixTimesVector"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected float vector type as Result Type: "
+ "MatrixTimesVector"));
}
TEST_F(ValidateArithmetics, MatrixTimesVectorWrongMatrix) {
@@ -864,9 +900,9 @@ TEST_F(ValidateArithmetics, MatrixTimesVectorWrongMatrix) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float matrix type as left operand: "
- "MatrixTimesVector"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected float matrix type as left operand: "
+ "MatrixTimesVector"));
}
TEST_F(ValidateArithmetics, MatrixTimesVectorWrongMatrixCol) {
@@ -876,9 +912,11 @@ TEST_F(ValidateArithmetics, MatrixTimesVectorWrongMatrixCol) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected column type of the matrix to be equal to Result Type: "
- "MatrixTimesVector"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected column type of the matrix to be equal to Result Type: "
+ "MatrixTimesVector"));
}
TEST_F(ValidateArithmetics, MatrixTimesVectorWrongVector) {
@@ -888,9 +926,9 @@ TEST_F(ValidateArithmetics, MatrixTimesVectorWrongVector) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float vector type as right operand: "
- "MatrixTimesVector"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected float vector type as right operand: "
+ "MatrixTimesVector"));
}
TEST_F(ValidateArithmetics, MatrixTimesVectorDifferentComponents) {
@@ -900,9 +938,9 @@ TEST_F(ValidateArithmetics, MatrixTimesVectorDifferentComponents) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected component types of the operands to be equal: "
- "MatrixTimesVector"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected component types of the operands to be equal: "
+ "MatrixTimesVector"));
}
TEST_F(ValidateArithmetics, MatrixTimesVector22x3Fail) {
@@ -912,9 +950,11 @@ TEST_F(ValidateArithmetics, MatrixTimesVector22x3Fail) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected number of columns of the matrix to be equal to the vector "
- "size: MatrixTimesVector"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected number of columns of the matrix to be equal to the vector "
+ "size: MatrixTimesVector"));
}
TEST_F(ValidateArithmetics, MatrixTimesMatrix22x22Success) {
@@ -951,8 +991,10 @@ TEST_F(ValidateArithmetics, MatrixTimesMatrixWrongTypeId) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float matrix type as Result Type: MatrixTimesMatrix"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected float matrix type as Result Type: MatrixTimesMatrix"));
}
TEST_F(ValidateArithmetics, MatrixTimesMatrixWrongLeftOperand) {
@@ -962,8 +1004,10 @@ TEST_F(ValidateArithmetics, MatrixTimesMatrixWrongLeftOperand) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float matrix type as left operand: MatrixTimesMatrix"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected float matrix type as left operand: MatrixTimesMatrix"));
}
TEST_F(ValidateArithmetics, MatrixTimesMatrixWrongRightOperand) {
@@ -973,8 +1017,10 @@ TEST_F(ValidateArithmetics, MatrixTimesMatrixWrongRightOperand) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float matrix type as right operand: MatrixTimesMatrix"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected float matrix type as right operand: MatrixTimesMatrix"));
}
TEST_F(ValidateArithmetics, MatrixTimesMatrix32x23Fail) {
@@ -984,9 +1030,11 @@ TEST_F(ValidateArithmetics, MatrixTimesMatrix32x23Fail) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected column types of Result Type and left matrix to be equal: "
- "MatrixTimesMatrix"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected column types of Result Type and left matrix to be equal: "
+ "MatrixTimesMatrix"));
}
TEST_F(ValidateArithmetics, MatrixTimesMatrixDifferentComponents) {
@@ -996,9 +1044,10 @@ TEST_F(ValidateArithmetics, MatrixTimesMatrixDifferentComponents) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected component types of Result Type and right matrix to be equal: "
- "MatrixTimesMatrix"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected component types of Result Type and right "
+ "matrix to be equal: "
+ "MatrixTimesMatrix"));
}
TEST_F(ValidateArithmetics, MatrixTimesMatrix23x23Fail) {
@@ -1008,9 +1057,10 @@ TEST_F(ValidateArithmetics, MatrixTimesMatrix23x23Fail) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected number of columns of Result Type and right matrix to be equal: "
- "MatrixTimesMatrix"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected number of columns of Result Type and right "
+ "matrix to be equal: "
+ "MatrixTimesMatrix"));
}
TEST_F(ValidateArithmetics, MatrixTimesMatrix23x22Fail) {
@@ -1020,9 +1070,10 @@ TEST_F(ValidateArithmetics, MatrixTimesMatrix23x22Fail) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected number of columns of left matrix and number of rows of right "
- "matrix to be equal: MatrixTimesMatrix"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected number of columns of left matrix and number "
+ "of rows of right "
+ "matrix to be equal: MatrixTimesMatrix"));
}
TEST_F(ValidateArithmetics, OuterProduct2x2Success) {
@@ -1059,9 +1110,9 @@ TEST_F(ValidateArithmetics, OuterProductWrongTypeId) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float matrix type as Result Type: "
- "OuterProduct"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected float matrix type as Result Type: "
+ "OuterProduct"));
}
TEST_F(ValidateArithmetics, OuterProductWrongLeftOperand) {
@@ -1071,9 +1122,10 @@ TEST_F(ValidateArithmetics, OuterProductWrongLeftOperand) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected column type of Result Type to be equal to the type "
- "of the left operand: OuterProduct"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected column type of Result Type to be equal to the type "
+ "of the left operand: OuterProduct"));
}
TEST_F(ValidateArithmetics, OuterProductRightOperandNotFloatVector) {
@@ -1083,8 +1135,9 @@ TEST_F(ValidateArithmetics, OuterProductRightOperandNotFloatVector) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float vector type as right operand: OuterProduct"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected float vector type as right operand: OuterProduct"));
}
TEST_F(ValidateArithmetics, OuterProductRightOperandWrongComponent) {
@@ -1094,8 +1147,9 @@ TEST_F(ValidateArithmetics, OuterProductRightOperandWrongComponent) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected component types of the operands to be equal: OuterProduct"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected component types of the operands to be equal: "
+ "OuterProduct"));
}
TEST_F(ValidateArithmetics, OuterProductRightOperandWrongDimension) {
@@ -1105,9 +1159,10 @@ TEST_F(ValidateArithmetics, OuterProductRightOperandWrongDimension) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected number of columns of the matrix to be equal to the "
- "vector size of the right operand: OuterProduct"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected number of columns of the matrix to be equal to the "
+ "vector size of the right operand: OuterProduct"));
}
TEST_F(ValidateArithmetics, IAddCarrySuccess) {
@@ -1127,8 +1182,8 @@ TEST_F(ValidateArithmetics, IAddCarryResultTypeNotStruct) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected a struct as Result Type: IAddCarry"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected a struct as Result Type: IAddCarry"));
}
TEST_F(ValidateArithmetics, IAddCarryResultTypeNotTwoMembers) {
@@ -1138,8 +1193,9 @@ TEST_F(ValidateArithmetics, IAddCarryResultTypeNotTwoMembers) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type struct to have two members: IAddCarry"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Result Type struct to have two members: IAddCarry"));
}
TEST_F(ValidateArithmetics, IAddCarryResultTypeMemberNotUnsignedInt) {
@@ -1149,9 +1205,10 @@ TEST_F(ValidateArithmetics, IAddCarryResultTypeMemberNotUnsignedInt) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type struct member types to be unsigned integer scalar "
- "or vector: IAddCarry"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type struct member types to be "
+ "unsigned integer scalar "
+ "or vector: IAddCarry"));
}
TEST_F(ValidateArithmetics, IAddCarryWrongLeftOperand) {
@@ -1161,8 +1218,9 @@ TEST_F(ValidateArithmetics, IAddCarryWrongLeftOperand) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected both operands to be of Result Type member type: IAddCarry"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected both operands to be of Result Type member "
+ "type: IAddCarry"));
}
TEST_F(ValidateArithmetics, IAddCarryWrongRightOperand) {
@@ -1172,8 +1230,9 @@ TEST_F(ValidateArithmetics, IAddCarryWrongRightOperand) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected both operands to be of Result Type member type: IAddCarry"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected both operands to be of Result Type member "
+ "type: IAddCarry"));
}
TEST_F(ValidateArithmetics, OpSMulExtendedSuccess) {
@@ -1195,9 +1254,10 @@ TEST_F(ValidateArithmetics, SMulExtendedResultTypeMemberNotInt) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type struct member types to be integer scalar "
- "or vector: SMulExtended"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Result Type struct member types to be integer scalar "
+ "or vector: SMulExtended"));
}
TEST_F(ValidateArithmetics, SMulExtendedResultTypeMembersNotIdentical) {
@@ -1207,9 +1267,10 @@ TEST_F(ValidateArithmetics, SMulExtendedResultTypeMembersNotIdentical) {
CompileSuccessfully(GenerateCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type struct member types to be identical: "
- "SMulExtended"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Result Type struct member types to be identical: "
+ "SMulExtended"));
}
} // anonymous namespace
diff --git a/test/val/val_bitwise_test.cpp b/test/val/val_bitwise_test.cpp
index c3020016..65ce0acb 100644
--- a/test/val/val_bitwise_test.cpp
+++ b/test/val/val_bitwise_test.cpp
@@ -31,13 +31,13 @@ std::string GenerateShaderCode(
const std::string& body,
const std::string& capabilities_and_extensions = "") {
const std::string capabilities =
-R"(
+ R"(
OpCapability Shader
OpCapability Int64
OpCapability Float64)";
const std::string after_extension_before_body =
-R"(
+ R"(
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main"
%void = OpTypeVoid
@@ -131,12 +131,12 @@ OpEntryPoint Fragment %main "main"
%main_entry = OpLabel)";
const std::string after_body =
-R"(
+ R"(
OpReturn
OpFunctionEnd)";
return capabilities + capabilities_and_extensions +
- after_extension_before_body + body + after_body;
+ after_extension_before_body + body + after_body;
}
TEST_F(ValidateBitwise, ShiftAllSuccess) {
@@ -157,8 +157,9 @@ TEST_F(ValidateBitwise, OpShiftRightLogicalWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar or vector type as Result Type: ShiftRightLogical"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected int scalar or vector type as Result Type: "
+ "ShiftRightLogical"));
}
TEST_F(ValidateBitwise, OpShiftRightLogicalBaseNotInt) {
@@ -168,8 +169,9 @@ TEST_F(ValidateBitwise, OpShiftRightLogicalBaseNotInt) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Base to be int scalar or vector: ShiftRightLogical"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Base to be int scalar or vector: ShiftRightLogical"));
}
TEST_F(ValidateBitwise, OpShiftRightLogicalBaseWrongDimension) {
@@ -179,9 +181,10 @@ TEST_F(ValidateBitwise, OpShiftRightLogicalBaseWrongDimension) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Base to have the same dimension as Result Type: "
- "ShiftRightLogical"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Base to have the same dimension as Result Type: "
+ "ShiftRightLogical"));
}
TEST_F(ValidateBitwise, OpShiftRightLogicalBaseWrongBitWidth) {
@@ -191,9 +194,10 @@ TEST_F(ValidateBitwise, OpShiftRightLogicalBaseWrongBitWidth) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Base to have the same bit width as Result Type: "
- "ShiftRightLogical"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Base to have the same bit width as Result Type: "
+ "ShiftRightLogical"));
}
TEST_F(ValidateBitwise, OpShiftRightLogicalShiftNotInt) {
@@ -203,8 +207,10 @@ TEST_F(ValidateBitwise, OpShiftRightLogicalShiftNotInt) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Shift to be int scalar or vector: ShiftRightLogical"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Shift to be int scalar or vector: ShiftRightLogical"));
}
TEST_F(ValidateBitwise, OpShiftRightLogicalShiftWrongDimension) {
@@ -214,9 +220,10 @@ TEST_F(ValidateBitwise, OpShiftRightLogicalShiftWrongDimension) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Shift to have the same dimension as Result Type: "
- "ShiftRightLogical"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Shift to have the same dimension as Result Type: "
+ "ShiftRightLogical"));
}
TEST_F(ValidateBitwise, LogicAllSuccess) {
@@ -238,8 +245,10 @@ TEST_F(ValidateBitwise, OpBitwiseAndWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar or vector type as Result Type: BitwiseAnd"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected int scalar or vector type as Result Type: BitwiseAnd"));
}
TEST_F(ValidateBitwise, OpBitwiseAndLeftNotInt) {
@@ -249,9 +258,9 @@ TEST_F(ValidateBitwise, OpBitwiseAndLeftNotInt) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar or vector as operand: BitwiseAnd "
- "operand index 2"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected int scalar or vector as operand: BitwiseAnd "
+ "operand index 2"));
}
TEST_F(ValidateBitwise, OpBitwiseAndRightNotInt) {
@@ -261,9 +270,9 @@ TEST_F(ValidateBitwise, OpBitwiseAndRightNotInt) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar or vector as operand: BitwiseAnd "
- "operand index 3"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected int scalar or vector as operand: BitwiseAnd "
+ "operand index 3"));
}
TEST_F(ValidateBitwise, OpBitwiseAndLeftWrongDimension) {
@@ -273,9 +282,10 @@ TEST_F(ValidateBitwise, OpBitwiseAndLeftWrongDimension) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operands to have the same dimension as Result Type: "
- "BitwiseAnd operand index 2"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected operands to have the same dimension as Result Type: "
+ "BitwiseAnd operand index 2"));
}
TEST_F(ValidateBitwise, OpBitwiseAndRightWrongDimension) {
@@ -285,9 +295,10 @@ TEST_F(ValidateBitwise, OpBitwiseAndRightWrongDimension) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operands to have the same dimension as Result Type: "
- "BitwiseAnd operand index 3"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected operands to have the same dimension as Result Type: "
+ "BitwiseAnd operand index 3"));
}
TEST_F(ValidateBitwise, OpBitwiseAndLeftWrongBitWidth) {
@@ -297,9 +308,10 @@ TEST_F(ValidateBitwise, OpBitwiseAndLeftWrongBitWidth) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operands to have the same bit width as Result Type: "
- "BitwiseAnd operand index 2"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected operands to have the same bit width as Result Type: "
+ "BitwiseAnd operand index 2"));
}
TEST_F(ValidateBitwise, OpBitwiseAndRightWrongBitWidth) {
@@ -309,9 +321,10 @@ TEST_F(ValidateBitwise, OpBitwiseAndRightWrongBitWidth) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operands to have the same bit width as Result Type: "
- "BitwiseAnd operand index 3"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected operands to have the same bit width as Result Type: "
+ "BitwiseAnd operand index 3"));
}
TEST_F(ValidateBitwise, OpBitFieldInsertSuccess) {
@@ -331,8 +344,10 @@ TEST_F(ValidateBitwise, OpBitFieldInsertWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar or vector type as Result Type: BitFieldInsert"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected int scalar or vector type as Result Type: BitFieldInsert"));
}
TEST_F(ValidateBitwise, OpBitFieldInsertWrongBaseType) {
@@ -342,8 +357,10 @@ TEST_F(ValidateBitwise, OpBitFieldInsertWrongBaseType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Base Type to be equal to Result Type: BitFieldInsert"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Base Type to be equal to Result Type: BitFieldInsert"));
}
TEST_F(ValidateBitwise, OpBitFieldInsertWrongInsertType) {
@@ -353,8 +370,10 @@ TEST_F(ValidateBitwise, OpBitFieldInsertWrongInsertType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Insert Type to be equal to Result Type: BitFieldInsert"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Insert Type to be equal to Result Type: BitFieldInsert"));
}
TEST_F(ValidateBitwise, OpBitFieldInsertOffsetNotInt) {
@@ -364,8 +383,9 @@ TEST_F(ValidateBitwise, OpBitFieldInsertOffsetNotInt) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Offset Type to be int scalar: BitFieldInsert"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Offset Type to be int scalar: BitFieldInsert"));
}
TEST_F(ValidateBitwise, OpBitFieldInsertCountNotInt) {
@@ -375,8 +395,9 @@ TEST_F(ValidateBitwise, OpBitFieldInsertCountNotInt) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Count Type to be int scalar: BitFieldInsert"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Count Type to be int scalar: BitFieldInsert"));
}
TEST_F(ValidateBitwise, OpBitFieldSExtractSuccess) {
@@ -396,8 +417,9 @@ TEST_F(ValidateBitwise, OpBitFieldSExtractWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar or vector type as Result Type: BitFieldSExtract"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected int scalar or vector type as Result Type: "
+ "BitFieldSExtract"));
}
TEST_F(ValidateBitwise, OpBitFieldSExtractWrongBaseType) {
@@ -407,8 +429,10 @@ TEST_F(ValidateBitwise, OpBitFieldSExtractWrongBaseType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Base Type to be equal to Result Type: BitFieldSExtract"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Base Type to be equal to Result Type: BitFieldSExtract"));
}
TEST_F(ValidateBitwise, OpBitFieldSExtractOffsetNotInt) {
@@ -418,8 +442,9 @@ TEST_F(ValidateBitwise, OpBitFieldSExtractOffsetNotInt) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Offset Type to be int scalar: BitFieldSExtract"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Offset Type to be int scalar: BitFieldSExtract"));
}
TEST_F(ValidateBitwise, OpBitFieldSExtractCountNotInt) {
@@ -429,8 +454,9 @@ TEST_F(ValidateBitwise, OpBitFieldSExtractCountNotInt) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Count Type to be int scalar: BitFieldSExtract"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Count Type to be int scalar: BitFieldSExtract"));
}
TEST_F(ValidateBitwise, OpBitReverseSuccess) {
@@ -450,8 +476,10 @@ TEST_F(ValidateBitwise, OpBitReverseWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar or vector type as Result Type: BitReverse"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected int scalar or vector type as Result Type: BitReverse"));
}
TEST_F(ValidateBitwise, OpBitReverseWrongBaseType) {
@@ -461,8 +489,9 @@ TEST_F(ValidateBitwise, OpBitReverseWrongBaseType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Base Type to be equal to Result Type: BitReverse"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Base Type to be equal to Result Type: BitReverse"));
}
TEST_F(ValidateBitwise, OpBitCountSuccess) {
@@ -482,8 +511,9 @@ TEST_F(ValidateBitwise, OpBitCountWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar or vector type as Result Type: BitCount"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected int scalar or vector type as Result Type: BitCount"));
}
TEST_F(ValidateBitwise, OpBitCountBaseNotInt) {
@@ -493,8 +523,9 @@ TEST_F(ValidateBitwise, OpBitCountBaseNotInt) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Base Type to be int scalar or vector: BitCount"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Base Type to be int scalar or vector: BitCount"));
}
TEST_F(ValidateBitwise, OpBitCountBaseWrongDimension) {
@@ -504,9 +535,10 @@ TEST_F(ValidateBitwise, OpBitCountBaseWrongDimension) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Base dimension to be equal to Result Type dimension: "
- "BitCount"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Base dimension to be equal to Result Type dimension: "
+ "BitCount"));
}
} // anonymous namespace
diff --git a/test/val/val_capability_test.cpp b/test/val/val_capability_test.cpp
index 26a6ec18..28df3653 100644
--- a/test/val/val_capability_test.cpp
+++ b/test/val/val_capability_test.cpp
@@ -1459,10 +1459,10 @@ INSTANTIATE_TEST_CASE_P(
// True if capability exists in env.
bool Exists(const std::string& capability, spv_target_env env) {
spv_operand_desc dummy;
- return SPV_SUCCESS ==
- libspirv::AssemblyGrammar(ScopedContext(env).context)
- .lookupOperand(SPV_OPERAND_TYPE_CAPABILITY, capability.c_str(),
- capability.size(), &dummy);
+ return SPV_SUCCESS == libspirv::AssemblyGrammar(ScopedContext(env).context)
+ .lookupOperand(SPV_OPERAND_TYPE_CAPABILITY,
+ capability.c_str(),
+ capability.size(), &dummy);
}
TEST_P(ValidateCapability, Capability) {
@@ -1626,4 +1626,4 @@ OpDecorate %intt BuiltIn PointSize
HasSubstr("Capability value 4427 is not allowed by Vulkan 1.0"));
}
-} // namespace anonymous
+} // namespace
diff --git a/test/val/val_cfg_test.cpp b/test/val/val_cfg_test.cpp
index c1b5ce24..78cbe093 100644
--- a/test/val/val_cfg_test.cpp
+++ b/test/val/val_cfg_test.cpp
@@ -262,8 +262,8 @@ TEST_P(ValidateCFG, LoopUnreachableFromEntryButLeadingToReturn) {
OpFunctionEnd
)";
CompileSuccessfully(str);
- ASSERT_EQ(SPV_SUCCESS, ValidateInstructions()) << str
- << getDiagnosticString();
+ ASSERT_EQ(SPV_SUCCESS, ValidateInstructions())
+ << str << getDiagnosticString();
}
TEST_P(ValidateCFG, Simple) {
@@ -278,9 +278,10 @@ TEST_P(ValidateCFG, Simple) {
loop.SetBody("OpLoopMerge %merge %cont None\n");
}
- string str = header(GetParam()) + nameOps("loop", "entry", "cont", "merge",
- make_pair("func", "Main")) +
- types_consts() + "%func = OpFunction %voidt None %funct\n";
+ string str =
+ header(GetParam()) +
+ nameOps("loop", "entry", "cont", "merge", make_pair("func", "Main")) +
+ types_consts() + "%func = OpFunction %voidt None %funct\n";
str += entry >> loop;
str += loop >> vector<Block>({cont, merge});
@@ -1258,9 +1259,10 @@ TEST_P(ValidateCFG, ContinueTargetCanBeMergeBlockForNestedStructureGood) {
if_head.SetBody("OpSelectionMerge %if_merge None\n");
}
- string str = header(GetParam()) + nameOps("entry", "loop", "if_head",
- "if_true", "if_merge", "merge") +
- types_consts() + "%func = OpFunction %voidt None %funct\n";
+ string str =
+ header(GetParam()) +
+ nameOps("entry", "loop", "if_head", "if_true", "if_merge", "merge") +
+ types_consts() + "%func = OpFunction %voidt None %funct\n";
str += entry >> loop;
str += loop >> if_head;
@@ -1298,8 +1300,8 @@ TEST_P(ValidateCFG, SingleLatchBlockMultipleBranchesToLoopHeader) {
str += "OpFunctionEnd";
CompileSuccessfully(str);
- EXPECT_EQ(SPV_SUCCESS, ValidateInstructions()) << str
- << getDiagnosticString();
+ EXPECT_EQ(SPV_SUCCESS, ValidateInstructions())
+ << str << getDiagnosticString();
}
TEST_P(ValidateCFG, SingleLatchBlockHeaderContinueTargetIsItselfGood) {
@@ -1330,8 +1332,8 @@ TEST_P(ValidateCFG, SingleLatchBlockHeaderContinueTargetIsItselfGood) {
str += "OpFunctionEnd";
CompileSuccessfully(str);
- EXPECT_EQ(SPV_SUCCESS, ValidateInstructions()) << str
- << getDiagnosticString();
+ EXPECT_EQ(SPV_SUCCESS, ValidateInstructions())
+ << str << getDiagnosticString();
}
// Unit test to check the case where a basic block is the entry block of 2
@@ -1399,4 +1401,4 @@ TEST_F(ValidateCFG, OpReturnInNonVoidFunc) {
/// TODO(umar): Switch instructions
/// TODO(umar): Nested CFG constructs
-} /// namespace
+} // namespace
diff --git a/test/val/val_conversion_test.cpp b/test/val/val_conversion_test.cpp
index 391651d3..75b101eb 100644
--- a/test/val/val_conversion_test.cpp
+++ b/test/val/val_conversion_test.cpp
@@ -31,13 +31,13 @@ std::string GenerateShaderCode(
const std::string& body,
const std::string& capabilities_and_extensions = "") {
const std::string capabilities =
-R"(
+ R"(
OpCapability Shader
OpCapability Int64
OpCapability Float64)";
const std::string after_extension_before_body =
-R"(
+ R"(
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main"
%void = OpTypeVoid
@@ -143,19 +143,19 @@ OpEntryPoint Fragment %main "main"
%main_entry = OpLabel)";
const std::string after_body =
-R"(
+ R"(
OpReturn
OpFunctionEnd)";
return capabilities + capabilities_and_extensions +
- after_extension_before_body + body + after_body;
+ after_extension_before_body + body + after_body;
}
std::string GenerateKernelCode(
const std::string& body,
const std::string& capabilities_and_extensions = "") {
const std::string capabilities =
-R"(
+ R"(
OpCapability Addresses
OpCapability Kernel
OpCapability Linkage
@@ -164,7 +164,7 @@ OpCapability Int64
OpCapability Float64)";
const std::string after_extension_before_body =
-R"(
+ R"(
OpMemoryModel Physical32 OpenCL
%void = OpTypeVoid
%func = OpTypeFunction %void
@@ -250,12 +250,12 @@ OpMemoryModel Physical32 OpenCL
%main_entry = OpLabel)";
const std::string after_body =
-R"(
+ R"(
OpReturn
OpFunctionEnd)";
return capabilities + capabilities_and_extensions +
- after_extension_before_body + body + after_body;
+ after_extension_before_body + body + after_body;
}
TEST_F(ValidateConversion, ConvertFToUSuccess) {
@@ -276,8 +276,9 @@ TEST_F(ValidateConversion, ConvertFToUWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected unsigned int scalar or vector type as Result Type: ConvertFToU"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected unsigned int scalar or vector type as Result "
+ "Type: ConvertFToU"));
}
TEST_F(ValidateConversion, ConvertFToUWrongInputType) {
@@ -287,8 +288,9 @@ TEST_F(ValidateConversion, ConvertFToUWrongInputType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to be float scalar or vector: ConvertFToU"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected input to be float scalar or vector: ConvertFToU"));
}
TEST_F(ValidateConversion, ConvertFToUDifferentDimension) {
@@ -298,8 +300,9 @@ TEST_F(ValidateConversion, ConvertFToUDifferentDimension) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to have the same dimension as Result Type: ConvertFToU"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected input to have the same dimension as Result "
+ "Type: ConvertFToU"));
}
TEST_F(ValidateConversion, ConvertFToSSuccess) {
@@ -320,8 +323,10 @@ TEST_F(ValidateConversion, ConvertFToSWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar or vector type as Result Type: ConvertFToS"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected int scalar or vector type as Result Type: ConvertFToS"));
}
TEST_F(ValidateConversion, ConvertFToSWrongInputType) {
@@ -331,8 +336,9 @@ TEST_F(ValidateConversion, ConvertFToSWrongInputType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to be float scalar or vector: ConvertFToS"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected input to be float scalar or vector: ConvertFToS"));
}
TEST_F(ValidateConversion, ConvertFToSDifferentDimension) {
@@ -342,8 +348,9 @@ TEST_F(ValidateConversion, ConvertFToSDifferentDimension) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to have the same dimension as Result Type: ConvertFToS"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected input to have the same dimension as Result "
+ "Type: ConvertFToS"));
}
TEST_F(ValidateConversion, ConvertSToFSuccess) {
@@ -364,8 +371,10 @@ TEST_F(ValidateConversion, ConvertSToFWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float scalar or vector type as Result Type: ConvertSToF"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected float scalar or vector type as Result Type: ConvertSToF"));
}
TEST_F(ValidateConversion, ConvertSToFWrongInputType) {
@@ -375,8 +384,9 @@ TEST_F(ValidateConversion, ConvertSToFWrongInputType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to be int scalar or vector: ConvertSToF"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected input to be int scalar or vector: ConvertSToF"));
}
TEST_F(ValidateConversion, ConvertSToFDifferentDimension) {
@@ -386,8 +396,9 @@ TEST_F(ValidateConversion, ConvertSToFDifferentDimension) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to have the same dimension as Result Type: ConvertSToF"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected input to have the same dimension as Result "
+ "Type: ConvertSToF"));
}
TEST_F(ValidateConversion, UConvertSuccess) {
@@ -466,8 +477,9 @@ TEST_F(ValidateConversion, SConvertWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar or vector type as Result Type: SConvert"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected int scalar or vector type as Result Type: SConvert"));
}
TEST_F(ValidateConversion, SConvertWrongInputType) {
@@ -477,8 +489,8 @@ TEST_F(ValidateConversion, SConvertWrongInputType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to be int scalar or vector: SConvert"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected input to be int scalar or vector: SConvert"));
}
TEST_F(ValidateConversion, SConvertDifferentDimension) {
@@ -488,8 +500,9 @@ TEST_F(ValidateConversion, SConvertDifferentDimension) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to have the same dimension as Result Type: SConvert"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected input to have the same dimension as Result "
+ "Type: SConvert"));
}
TEST_F(ValidateConversion, SConvertSameBitWidth) {
@@ -499,8 +512,9 @@ TEST_F(ValidateConversion, SConvertSameBitWidth) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to have different bit width from Result Type: SConvert"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected input to have different bit width from "
+ "Result Type: SConvert"));
}
TEST_F(ValidateConversion, FConvertSuccess) {
@@ -521,8 +535,10 @@ TEST_F(ValidateConversion, FConvertWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected float scalar or vector type as Result Type: FConvert"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected float scalar or vector type as Result Type: FConvert"));
}
TEST_F(ValidateConversion, FConvertWrongInputType) {
@@ -532,8 +548,9 @@ TEST_F(ValidateConversion, FConvertWrongInputType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to be float scalar or vector: FConvert"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected input to be float scalar or vector: FConvert"));
}
TEST_F(ValidateConversion, FConvertDifferentDimension) {
@@ -543,8 +560,9 @@ TEST_F(ValidateConversion, FConvertDifferentDimension) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to have the same dimension as Result Type: FConvert"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected input to have the same dimension as Result "
+ "Type: FConvert"));
}
TEST_F(ValidateConversion, FConvertSameBitWidth) {
@@ -554,8 +572,9 @@ TEST_F(ValidateConversion, FConvertSameBitWidth) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to have different bit width from Result Type: FConvert"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected input to have different bit width from "
+ "Result Type: FConvert"));
}
TEST_F(ValidateConversion, QuantizeToF16Success) {
@@ -576,9 +595,10 @@ TEST_F(ValidateConversion, QuantizeToF16WrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected 32-bit float scalar or vector type as Result Type: "
- "QuantizeToF16"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected 32-bit float scalar or vector type as Result Type: "
+ "QuantizeToF16"));
}
TEST_F(ValidateConversion, QuantizeToF16WrongResultTypeBitWidth) {
@@ -588,9 +608,10 @@ TEST_F(ValidateConversion, QuantizeToF16WrongResultTypeBitWidth) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected 32-bit float scalar or vector type as Result Type: "
- "QuantizeToF16"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected 32-bit float scalar or vector type as Result Type: "
+ "QuantizeToF16"));
}
TEST_F(ValidateConversion, QuantizeToF16WrongInputType) {
@@ -600,8 +621,10 @@ TEST_F(ValidateConversion, QuantizeToF16WrongInputType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input type to be equal to Result Type: QuantizeToF16"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected input type to be equal to Result Type: QuantizeToF16"));
}
TEST_F(ValidateConversion, ConvertPtrToUSuccess) {
@@ -623,9 +646,9 @@ TEST_F(ValidateConversion, ConvertPtrToUWrongResultType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected unsigned int scalar type as Result Type: "
- "ConvertPtrToU"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected unsigned int scalar type as Result Type: "
+ "ConvertPtrToU"));
}
TEST_F(ValidateConversion, ConvertPtrToUNotPointer) {
@@ -635,8 +658,8 @@ TEST_F(ValidateConversion, ConvertPtrToUNotPointer) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to be a pointer: ConvertPtrToU"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected input to be a pointer: ConvertPtrToU"));
}
TEST_F(ValidateConversion, SatConvertSToUSuccess) {
@@ -657,9 +680,9 @@ TEST_F(ValidateConversion, SatConvertSToUWrongResultType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar or vector type as Result Type: "
- "SatConvertSToU"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected int scalar or vector type as Result Type: "
+ "SatConvertSToU"));
}
TEST_F(ValidateConversion, SatConvertSToUWrongInputType) {
@@ -669,8 +692,9 @@ TEST_F(ValidateConversion, SatConvertSToUWrongInputType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar or vector as input: SatConvertSToU"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected int scalar or vector as input: SatConvertSToU"));
}
TEST_F(ValidateConversion, SatConvertSToUDifferentDimension) {
@@ -680,9 +704,10 @@ TEST_F(ValidateConversion, SatConvertSToUDifferentDimension) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to have the same dimension as Result Type: "
- "SatConvertSToU"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected input to have the same dimension as Result Type: "
+ "SatConvertSToU"));
}
TEST_F(ValidateConversion, ConvertUToPtrSuccess) {
@@ -702,8 +727,8 @@ TEST_F(ValidateConversion, ConvertUToPtrWrongResultType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be a pointer: ConvertUToPtr"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to be a pointer: ConvertUToPtr"));
}
TEST_F(ValidateConversion, ConvertUToPtrNotInt) {
@@ -713,8 +738,8 @@ TEST_F(ValidateConversion, ConvertUToPtrNotInt) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar as input: ConvertUToPtr"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected int scalar as input: ConvertUToPtr"));
}
TEST_F(ValidateConversion, ConvertUToPtrNotIntScalar) {
@@ -724,8 +749,8 @@ TEST_F(ValidateConversion, ConvertUToPtrNotIntScalar) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected int scalar as input: ConvertUToPtr"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected int scalar as input: ConvertUToPtr"));
}
TEST_F(ValidateConversion, PtrCastToGenericSuccess) {
@@ -746,8 +771,9 @@ TEST_F(ValidateConversion, PtrCastToGenericWrongResultType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be a pointer: PtrCastToGeneric"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Result Type to be a pointer: PtrCastToGeneric"));
}
TEST_F(ValidateConversion, PtrCastToGenericWrongResultStorageClass) {
@@ -758,8 +784,9 @@ TEST_F(ValidateConversion, PtrCastToGenericWrongResultStorageClass) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to have storage class Generic: PtrCastToGeneric"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to have storage class Generic: "
+ "PtrCastToGeneric"));
}
TEST_F(ValidateConversion, PtrCastToGenericWrongInputType) {
@@ -770,8 +797,8 @@ TEST_F(ValidateConversion, PtrCastToGenericWrongInputType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to be a pointer: PtrCastToGeneric"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected input to be a pointer: PtrCastToGeneric"));
}
TEST_F(ValidateConversion, PtrCastToGenericWrongInputStorageClass) {
@@ -781,9 +808,9 @@ TEST_F(ValidateConversion, PtrCastToGenericWrongInputStorageClass) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to have storage class Workgroup, "
- "CrossWorkgroup or Function: PtrCastToGeneric"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected input to have storage class Workgroup, "
+ "CrossWorkgroup or Function: PtrCastToGeneric"));
}
TEST_F(ValidateConversion, PtrCastToGenericPointToDifferentType) {
@@ -794,9 +821,10 @@ TEST_F(ValidateConversion, PtrCastToGenericPointToDifferentType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input and Result Type to point to the same type: "
- "PtrCastToGeneric"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected input and Result Type to point to the same type: "
+ "PtrCastToGeneric"));
}
TEST_F(ValidateConversion, GenericCastToPtrSuccess) {
@@ -821,8 +849,9 @@ TEST_F(ValidateConversion, GenericCastToPtrWrongResultType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be a pointer: GenericCastToPtr"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Result Type to be a pointer: GenericCastToPtr"));
}
TEST_F(ValidateConversion, GenericCastToPtrWrongResultStorageClass) {
@@ -834,9 +863,9 @@ TEST_F(ValidateConversion, GenericCastToPtrWrongResultStorageClass) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to have storage class Workgroup, "
- "CrossWorkgroup or Function: GenericCastToPtr"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to have storage class Workgroup, "
+ "CrossWorkgroup or Function: GenericCastToPtr"));
}
TEST_F(ValidateConversion, GenericCastToPtrWrongInputType) {
@@ -848,8 +877,8 @@ TEST_F(ValidateConversion, GenericCastToPtrWrongInputType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to be a pointer: GenericCastToPtr"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected input to be a pointer: GenericCastToPtr"));
}
TEST_F(ValidateConversion, GenericCastToPtrWrongInputStorageClass) {
@@ -860,9 +889,9 @@ TEST_F(ValidateConversion, GenericCastToPtrWrongInputStorageClass) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to have storage class Generic: "
- "GenericCastToPtr"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected input to have storage class Generic: "
+ "GenericCastToPtr"));
}
TEST_F(ValidateConversion, GenericCastToPtrPointToDifferentType) {
@@ -874,9 +903,10 @@ TEST_F(ValidateConversion, GenericCastToPtrPointToDifferentType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input and Result Type to point to the same type: "
- "GenericCastToPtr"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected input and Result Type to point to the same type: "
+ "GenericCastToPtr"));
}
TEST_F(ValidateConversion, GenericCastToPtrExplicitSuccess) {
@@ -901,8 +931,10 @@ TEST_F(ValidateConversion, GenericCastToPtrExplicitWrongResultType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be a pointer: GenericCastToPtrExplicit"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Result Type to be a pointer: GenericCastToPtrExplicit"));
}
TEST_F(ValidateConversion, GenericCastToPtrExplicitResultStorageClassDiffers) {
@@ -914,9 +946,9 @@ TEST_F(ValidateConversion, GenericCastToPtrExplicitResultStorageClassDiffers) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be of target storage class: "
- "GenericCastToPtrExplicit"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to be of target storage class: "
+ "GenericCastToPtrExplicit"));
}
TEST_F(ValidateConversion, GenericCastToPtrExplicitWrongResultStorageClass) {
@@ -928,9 +960,10 @@ TEST_F(ValidateConversion, GenericCastToPtrExplicitWrongResultStorageClass) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected target storage class to be Workgroup, "
- "CrossWorkgroup or Function: GenericCastToPtrExplicit"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected target storage class to be Workgroup, "
+ "CrossWorkgroup or Function: GenericCastToPtrExplicit"));
}
TEST_F(ValidateConversion, GenericCastToPtrExplicitWrongInputType) {
@@ -942,8 +975,9 @@ TEST_F(ValidateConversion, GenericCastToPtrExplicitWrongInputType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to be a pointer: GenericCastToPtrExplicit"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected input to be a pointer: GenericCastToPtrExplicit"));
}
TEST_F(ValidateConversion, GenericCastToPtrExplicitWrongInputStorageClass) {
@@ -954,9 +988,9 @@ TEST_F(ValidateConversion, GenericCastToPtrExplicitWrongInputStorageClass) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to have storage class Generic: "
- "GenericCastToPtrExplicit"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected input to have storage class Generic: "
+ "GenericCastToPtrExplicit"));
}
TEST_F(ValidateConversion, GenericCastToPtrExplicitPointToDifferentType) {
@@ -968,9 +1002,10 @@ TEST_F(ValidateConversion, GenericCastToPtrExplicitPointToDifferentType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input and Result Type to point to the same type: "
- "GenericCastToPtrExplicit"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected input and Result Type to point to the same type: "
+ "GenericCastToPtrExplicit"));
}
TEST_F(ValidateConversion, BitcastSuccess) {
@@ -998,8 +1033,8 @@ TEST_F(ValidateConversion, BitcastInputHasNoType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to have a type: Bitcast"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected input to have a type: Bitcast"));
}
TEST_F(ValidateConversion, BitcastWrongResultType) {
@@ -1009,9 +1044,10 @@ TEST_F(ValidateConversion, BitcastWrongResultType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be a pointer or int or float vector "
- "or scalar type: Bitcast"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Result Type to be a pointer or int or float vector "
+ "or scalar type: Bitcast"));
}
TEST_F(ValidateConversion, BitcastWrongInputType) {
@@ -1021,9 +1057,9 @@ TEST_F(ValidateConversion, BitcastWrongInputType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to be a pointer or int or float vector "
- "or scalar: Bitcast"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected input to be a pointer or int or float vector "
+ "or scalar: Bitcast"));
}
TEST_F(ValidateConversion, BitcastPtrWrongInputType) {
@@ -1033,9 +1069,10 @@ TEST_F(ValidateConversion, BitcastPtrWrongInputType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to be a pointer or int scalar if Result Type "
- "is pointer: Bitcast"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected input to be a pointer or int scalar if Result Type "
+ "is pointer: Bitcast"));
}
TEST_F(ValidateConversion, BitcastPtrWrongResultType) {
@@ -1045,9 +1082,11 @@ TEST_F(ValidateConversion, BitcastPtrWrongResultType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Pointer can only be converted to another pointer or int scalar: "
- "Bitcast"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Pointer can only be converted to another pointer or int scalar: "
+ "Bitcast"));
}
TEST_F(ValidateConversion, BitcastDifferentTotalBitWidth) {
@@ -1057,9 +1096,11 @@ TEST_F(ValidateConversion, BitcastDifferentTotalBitWidth) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected input to have the same total bit width as Result Type: "
- "Bitcast"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected input to have the same total bit width as Result Type: "
+ "Bitcast"));
}
} // anonymous namespace
diff --git a/test/val/val_data_test.cpp b/test/val/val_data_test.cpp
index 289ed5dd..8e666569 100644
--- a/test/val/val_data_test.cpp
+++ b/test/val/val_data_test.cpp
@@ -27,8 +27,8 @@ namespace {
using ::testing::HasSubstr;
using ::testing::MatchesRegex;
-using std::string;
using std::pair;
+using std::string;
using std::stringstream;
using ValidateData = spvtest::ValidateBase<pair<string, bool>>;
@@ -231,9 +231,10 @@ TEST_F(ValidateData, int16_good) {
}
TEST_F(ValidateData, storage_uniform_buffer_block_16_good) {
- string str = HeaderWith("StorageUniformBufferBlock16 "
- "OpExtension \"SPV_KHR_16bit_storage\"") +
- "%2 = OpTypeInt 16 1 %3 = OpTypeFloat 16";
+ string str = HeaderWith(
+ "StorageUniformBufferBlock16 "
+ "OpExtension \"SPV_KHR_16bit_storage\"") +
+ "%2 = OpTypeInt 16 1 %3 = OpTypeFloat 16";
CompileSuccessfully(str.c_str());
ASSERT_EQ(SPV_SUCCESS, ValidateInstructions());
}
@@ -247,17 +248,19 @@ TEST_F(ValidateData, storage_uniform_16_good) {
}
TEST_F(ValidateData, storage_push_constant_16_good) {
- string str = HeaderWith("StoragePushConstant16 "
- "OpExtension \"SPV_KHR_16bit_storage\"") +
- "%2 = OpTypeInt 16 1 %3 = OpTypeFloat 16";
+ string str = HeaderWith(
+ "StoragePushConstant16 "
+ "OpExtension \"SPV_KHR_16bit_storage\"") +
+ "%2 = OpTypeInt 16 1 %3 = OpTypeFloat 16";
CompileSuccessfully(str.c_str());
ASSERT_EQ(SPV_SUCCESS, ValidateInstructions());
}
TEST_F(ValidateData, storage_input_output_16_good) {
- string str = HeaderWith("StorageInputOutput16 "
- "OpExtension \"SPV_KHR_16bit_storage\"") +
- "%2 = OpTypeInt 16 1 %3 = OpTypeFloat 16";
+ string str = HeaderWith(
+ "StorageInputOutput16 "
+ "OpExtension \"SPV_KHR_16bit_storage\"") +
+ "%2 = OpTypeInt 16 1 %3 = OpTypeFloat 16";
CompileSuccessfully(str.c_str());
ASSERT_EQ(SPV_SUCCESS, ValidateInstructions());
}
@@ -568,7 +571,7 @@ TEST_F(ValidateData, ext_16bit_storage_caps_allow_free_fp_rounding_mode) {
}
TEST_F(ValidateData, default_disallow_free_fp_rounding_mode) {
- string str = R"(
+ string str = R"(
OpCapability Shader
OpCapability Linkage
OpMemoryModel Logical GLSL450
@@ -576,11 +579,11 @@ TEST_F(ValidateData, default_disallow_free_fp_rounding_mode) {
%1 = OpTypeFloat 32
%2 = OpConstant %1 1.25
)";
- CompileSuccessfully(str.c_str());
- ASSERT_EQ(SPV_ERROR_INVALID_CAPABILITY, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(),
- HasSubstr("Operand 2 of Decorate requires one of these "
- "capabilities: Kernel"));
+ CompileSuccessfully(str.c_str());
+ ASSERT_EQ(SPV_ERROR_INVALID_CAPABILITY, ValidateInstructions());
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Operand 2 of Decorate requires one of these "
+ "capabilities: Kernel"));
}
} // anonymous namespace
diff --git a/test/val/val_decoration_test.cpp b/test/val/val_decoration_test.cpp
index 03e5535b..2feba52a 100644
--- a/test/val/val_decoration_test.cpp
+++ b/test/val/val_decoration_test.cpp
@@ -15,17 +15,17 @@
// Common validation fixtures for unit tests
#include "gmock/gmock.h"
+#include "source/val/decoration.h"
#include "unit_spirv.h"
#include "val_fixtures.h"
-#include "source/val/decoration.h"
namespace {
+using libspirv::Decoration;
using std::string;
using std::vector;
-using ::testing::HasSubstr;
using ::testing::Eq;
-using libspirv::Decoration;
+using ::testing::HasSubstr;
using ValidateDecorations = spvtest::ValidateBase<bool>;
@@ -449,4 +449,3 @@ TEST_F(ValidateDecorations, FunctionDefinitionWithoutImportLinkageGood) {
}
} // anonymous namespace
-
diff --git a/test/val/val_derivatives_test.cpp b/test/val/val_derivatives_test.cpp
index f8c3c978..864dad09 100644
--- a/test/val/val_derivatives_test.cpp
+++ b/test/val/val_derivatives_test.cpp
@@ -112,9 +112,10 @@ TEST_F(ValidateDerivatives, OpDPdxWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be float scalar or vector type: "
- "DPdx"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Result Type to be float scalar or vector type: "
+ "DPdx"));
}
TEST_F(ValidateDerivatives, OpDPdxWrongPType) {
@@ -125,9 +126,9 @@ TEST_F(ValidateDerivatives, OpDPdxWrongPType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected P type and Result Type to be the same: "
- "DPdx"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected P type and Result Type to be the same: "
+ "DPdx"));
}
TEST_F(ValidateDerivatives, OpDPdxWrongExecutionModel) {
@@ -138,8 +139,10 @@ TEST_F(ValidateDerivatives, OpDPdxWrongExecutionModel) {
CompileSuccessfully(GenerateShaderCode(body, "", "Vertex").c_str());
ASSERT_EQ(SPV_ERROR_INVALID_ID, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Derivative instructions require Fragment execution model: DPdx"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Derivative instructions require Fragment execution model: DPdx"));
}
} // anonymous namespace
diff --git a/test/val/val_extensions_test.cpp b/test/val/val_extensions_test.cpp
index dad4772e..e4993ca0 100644
--- a/test/val/val_extensions_test.cpp
+++ b/test/val/val_extensions_test.cpp
@@ -42,41 +42,28 @@ string GetErrorString(const std::string& extension) {
return "Found unrecognized extension " + extension;
}
-INSTANTIATE_TEST_CASE_P(ExpectSuccess, ValidateKnownExtensions, Values(
- // Match the order as published on the SPIR-V Registry.
- "SPV_AMD_shader_explicit_vertex_parameter",
- "SPV_AMD_shader_trinary_minmax",
- "SPV_AMD_gcn_shader",
- "SPV_KHR_shader_ballot",
- "SPV_AMD_shader_ballot",
- "SPV_AMD_gpu_shader_half_float",
- "SPV_KHR_shader_draw_parameters",
- "SPV_KHR_subgroup_vote",
- "SPV_KHR_16bit_storage",
- "SPV_KHR_device_group",
- "SPV_KHR_multiview",
- "SPV_NVX_multiview_per_view_attributes",
- "SPV_NV_viewport_array2",
- "SPV_NV_stereo_view_rendering",
- "SPV_NV_sample_mask_override_coverage",
- "SPV_NV_geometry_shader_passthrough",
- "SPV_AMD_texture_gather_bias_lod",
- "SPV_KHR_storage_buffer_storage_class",
- "SPV_KHR_variable_pointers",
- "SPV_AMD_gpu_shader_int16",
- "SPV_KHR_post_depth_coverage",
- "SPV_KHR_shader_atomic_counter_ops",
- "SPV_EXT_shader_stencil_export",
- "SPV_EXT_shader_viewport_index_layer",
- "SPV_AMD_shader_image_load_store_lod",
- "SPV_AMD_shader_fragment_mask"
- ));
-
-INSTANTIATE_TEST_CASE_P(FailSilently, ValidateUnknownExtensions, Values(
- "ERROR_unknown_extension",
- "SPV_KHR_",
- "SPV_KHR_shader_ballot_ERROR"
- ));
+INSTANTIATE_TEST_CASE_P(
+ ExpectSuccess, ValidateKnownExtensions,
+ Values(
+ // Match the order as published on the SPIR-V Registry.
+ "SPV_AMD_shader_explicit_vertex_parameter",
+ "SPV_AMD_shader_trinary_minmax", "SPV_AMD_gcn_shader",
+ "SPV_KHR_shader_ballot", "SPV_AMD_shader_ballot",
+ "SPV_AMD_gpu_shader_half_float", "SPV_KHR_shader_draw_parameters",
+ "SPV_KHR_subgroup_vote", "SPV_KHR_16bit_storage",
+ "SPV_KHR_device_group", "SPV_KHR_multiview",
+ "SPV_NVX_multiview_per_view_attributes", "SPV_NV_viewport_array2",
+ "SPV_NV_stereo_view_rendering", "SPV_NV_sample_mask_override_coverage",
+ "SPV_NV_geometry_shader_passthrough", "SPV_AMD_texture_gather_bias_lod",
+ "SPV_KHR_storage_buffer_storage_class", "SPV_KHR_variable_pointers",
+ "SPV_AMD_gpu_shader_int16", "SPV_KHR_post_depth_coverage",
+ "SPV_KHR_shader_atomic_counter_ops", "SPV_EXT_shader_stencil_export",
+ "SPV_EXT_shader_viewport_index_layer",
+ "SPV_AMD_shader_image_load_store_lod", "SPV_AMD_shader_fragment_mask"));
+
+INSTANTIATE_TEST_CASE_P(FailSilently, ValidateUnknownExtensions,
+ Values("ERROR_unknown_extension", "SPV_KHR_",
+ "SPV_KHR_shader_ballot_ERROR"));
TEST_P(ValidateKnownExtensions, ExpectSuccess) {
const std::string extension = GetParam();
@@ -114,7 +101,8 @@ TEST_F(ValidateExtensionCapabilities, DeclCapabilityFailure) {
CompileSuccessfully(str.c_str());
ASSERT_EQ(SPV_ERROR_MISSING_EXTENSION, ValidateInstructions());
EXPECT_THAT(getDiagnosticString(), HasSubstr("1st operand of Capability"));
- EXPECT_THAT(getDiagnosticString(), HasSubstr("requires one of these extensions"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("requires one of these extensions"));
EXPECT_THAT(getDiagnosticString(), HasSubstr("SPV_KHR_device_group"));
}
diff --git a/test/val/val_fixtures.cpp b/test/val/val_fixtures.cpp
index c72cbf5e..81db1587 100644
--- a/test/val/val_fixtures.cpp
+++ b/test/val/val_fixtures.cpp
@@ -82,8 +82,8 @@ spv_result_t ValidateBase<T>::ValidateAndRetrieveValidationState(
template <typename T>
std::string ValidateBase<T>::getDiagnosticString() {
- return diagnostic_ == nullptr ?
- std::string() : std::string(diagnostic_->error);
+ return diagnostic_ == nullptr ? std::string()
+ : std::string(diagnostic_->error);
}
template <typename T>
@@ -107,4 +107,4 @@ template class spvtest::ValidateBase<
std::function<spv_result_t(int)>>>>;
template class spvtest::ValidateBase<SpvCapability>;
template class spvtest::ValidateBase<std::pair<std::string, std::string>>;
-}
+} // namespace spvtest
diff --git a/test/val/val_fixtures.h b/test/val/val_fixtures.h
index 0e6114f4..5865db21 100644
--- a/test/val/val_fixtures.h
+++ b/test/val/val_fixtures.h
@@ -17,8 +17,8 @@
#ifndef LIBSPIRV_TEST_VALIDATE_FIXTURES_H_
#define LIBSPIRV_TEST_VALIDATE_FIXTURES_H_
-#include "unit_spirv.h"
#include "source/val/validation_state.h"
+#include "unit_spirv.h"
namespace spvtest {
@@ -60,5 +60,5 @@ class ValidateBase : public ::testing::Test,
spv_validator_options options_;
std::unique_ptr<libspirv::ValidationState_t> vstate_;
};
-}
+} // namespace spvtest
#endif
diff --git a/test/val/val_id_test.cpp b/test/val/val_id_test.cpp
index 1cdc2674..0727923a 100644
--- a/test/val/val_id_test.cpp
+++ b/test/val/val_id_test.cpp
@@ -28,12 +28,12 @@
namespace {
-using ::testing::HasSubstr;
-using ::testing::ValuesIn;
using spvtest::ScopedContext;
using std::ostringstream;
using std::string;
using std::vector;
+using ::testing::HasSubstr;
+using ::testing::ValuesIn;
using ValidateIdWithMessage = spvtest::ValidateBase<bool>;
@@ -2516,8 +2516,7 @@ TEST_F(ValidateIdWithMessage, OpStoreBuiltin) {
CompileSuccessfully(spirv.c_str());
EXPECT_EQ(SPV_ERROR_INVALID_ID, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(),
- HasSubstr("storage class is read-only"));
+ EXPECT_THAT(getDiagnosticString(), HasSubstr("storage class is read-only"));
}
TEST_F(ValidateIdWithMessage, OpCopyMemoryGood) {
@@ -2736,8 +2735,8 @@ TEST_P(AccessChainInstructionTest, AccessChainGood) {
const std::string elem = AccessChainRequiresElemId(instr) ? "%int_0 " : "";
string spirv = kGLSL450MemoryModel + kDeeplyNestedStructureSetup +
"%float_entry = " + instr +
- R"( %_ptr_Private_float %my_matrix )" + elem +
- R"(%int_0 %int_1
+ R"( %_ptr_Private_float %my_matrix )" + elem +
+ R"(%int_0 %int_1
OpReturn
OpFunctionEnd
)";
@@ -2770,8 +2769,8 @@ TEST_P(AccessChainInstructionTest, AccessChainBaseTypeVoidBad) {
const std::string elem = AccessChainRequiresElemId(instr) ? "%int_0 " : "";
string spirv = kGLSL450MemoryModel + kDeeplyNestedStructureSetup + R"(
%float_entry = )" +
- instr + " %_ptr_Private_float %void " + elem +
- R"(%int_0 %int_1
+ instr + " %_ptr_Private_float %void " + elem +
+ R"(%int_0 %int_1
OpReturn
OpFunctionEnd
)";
@@ -2788,8 +2787,7 @@ TEST_P(AccessChainInstructionTest, AccessChainBaseTypeNonPtrVariableBad) {
const std::string instr = GetParam();
const std::string elem = AccessChainRequiresElemId(instr) ? "%int_0 " : "";
string spirv = kGLSL450MemoryModel + kDeeplyNestedStructureSetup + R"(
-%entry = )" +
- instr +
+%entry = )" + instr +
R"( %_ptr_Private_float %_ptr_Private_float )" + elem +
R"(%int_0 %int_1
OpReturn
@@ -2809,8 +2807,7 @@ TEST_P(AccessChainInstructionTest,
const std::string instr = GetParam();
const std::string elem = AccessChainRequiresElemId(instr) ? "%int_0 " : "";
string spirv = kGLSL450MemoryModel + kDeeplyNestedStructureSetup + R"(
-%entry = )" +
- instr +
+%entry = )" + instr +
R"( %_ptr_Function_float %my_matrix )" + elem +
R"(%int_0 %int_1
OpReturn
@@ -2831,8 +2828,7 @@ TEST_P(AccessChainInstructionTest,
const std::string instr = GetParam();
const std::string elem = AccessChainRequiresElemId(instr) ? "%int_0 " : "";
string spirv = kGLSL450MemoryModel + kDeeplyNestedStructureSetup + R"(
-%entry = )" +
- instr +
+%entry = )" + instr +
R"( %_ptr_Private_float %my_float_var )" + elem + R"(%int_0
OpReturn
OpFunctionEnd
@@ -2851,8 +2847,7 @@ TEST_P(AccessChainInstructionTest, AccessChainNoIndexesGood) {
const std::string instr = GetParam();
const std::string elem = AccessChainRequiresElemId(instr) ? "%int_0 " : "";
string spirv = kGLSL450MemoryModel + kDeeplyNestedStructureSetup + R"(
-%entry = )" +
- instr +
+%entry = )" + instr +
R"( %_ptr_Private_float %my_float_var )" + elem + R"(
OpReturn
OpFunctionEnd
@@ -2867,8 +2862,7 @@ TEST_P(AccessChainInstructionTest, AccessChainNoIndexesBad) {
const std::string instr = GetParam();
const std::string elem = AccessChainRequiresElemId(instr) ? "%int_0 " : "";
string spirv = kGLSL450MemoryModel + kDeeplyNestedStructureSetup + R"(
-%entry = )" +
- instr +
+%entry = )" + instr +
R"( %_ptr_Private_mat4x3 %my_float_var )" + elem + R"(
OpReturn
OpFunctionEnd
@@ -3017,10 +3011,9 @@ TEST_P(AccessChainInstructionTest, CustomizedAccessChainTooManyIndexesBad) {
TEST_P(AccessChainInstructionTest, AccessChainUndefinedIndexBad) {
const std::string instr = GetParam();
const std::string elem = AccessChainRequiresElemId(instr) ? "%int_0 " : "";
- string spirv =
- kGLSL450MemoryModel + kDeeplyNestedStructureSetup + R"(
+ string spirv = kGLSL450MemoryModel + kDeeplyNestedStructureSetup + R"(
%entry = )" + instr +
- R"( %_ptr_Private_float %my_matrix )" + elem + R"(%float %int_1
+ R"( %_ptr_Private_float %my_matrix )" + elem + R"(%float %int_1
OpReturn
OpFunctionEnd
)";
@@ -3037,9 +3030,9 @@ TEST_P(AccessChainInstructionTest, AccessChainStructIndexNotConstantBad) {
const std::string instr = GetParam();
const std::string elem = AccessChainRequiresElemId(instr) ? "%int_0 " : "";
string spirv = kGLSL450MemoryModel + kDeeplyNestedStructureSetup + R"(
-%f = )" +
- instr + R"( %_ptr_Uniform_float %blockName_var )" + elem +
- R"(%int_0 %spec_int %int_2
+%f = )" + instr + R"( %_ptr_Uniform_float %blockName_var )" +
+ elem +
+ R"(%int_0 %spec_int %int_2
OpReturn
OpFunctionEnd
)";
@@ -3057,8 +3050,7 @@ TEST_P(AccessChainInstructionTest,
const std::string instr = GetParam();
const std::string elem = AccessChainRequiresElemId(instr) ? "%int_0 " : "";
string spirv = kGLSL450MemoryModel + kDeeplyNestedStructureSetup + R"(
-%entry = )" +
- instr +
+%entry = )" + instr +
R"( %_ptr_Uniform_float %blockName_var )" + elem +
R"(%int_0 %int_1 %int_2
OpReturn
@@ -3078,8 +3070,7 @@ TEST_P(AccessChainInstructionTest, AccessChainStructTooManyIndexesBad) {
const std::string instr = GetParam();
const std::string elem = AccessChainRequiresElemId(instr) ? "%int_0 " : "";
string spirv = kGLSL450MemoryModel + kDeeplyNestedStructureSetup + R"(
-%entry = )" +
- instr +
+%entry = )" + instr +
R"( %_ptr_Uniform_float %blockName_var )" + elem +
R"(%int_0 %int_2 %int_2
OpReturn
@@ -3098,8 +3089,7 @@ TEST_P(AccessChainInstructionTest, AccessChainStructIndexOutOfBoundBad) {
const std::string instr = GetParam();
const std::string elem = AccessChainRequiresElemId(instr) ? "%int_0 " : "";
string spirv = kGLSL450MemoryModel + kDeeplyNestedStructureSetup + R"(
-%entry = )" +
- instr +
+%entry = )" + instr +
R"( %_ptr_Uniform_float %blockName_var )" + elem +
R"(%int_3 %int_2 %int_2
OpReturn
@@ -3186,8 +3176,7 @@ TEST_P(AccessChainInstructionTest, AccessChainMatrixMoreArgsThanNeededBad) {
const std::string instr = GetParam();
const std::string elem = AccessChainRequiresElemId(instr) ? "%int_0 " : "";
string spirv = kGLSL450MemoryModel + kDeeplyNestedStructureSetup + R"(
-%entry = )" +
- instr +
+%entry = )" + instr +
R"( %_ptr_Private_float %my_matrix )" + elem +
R"(%int_0 %int_1 %int_0
OpReturn
@@ -3207,8 +3196,7 @@ TEST_P(AccessChainInstructionTest,
const std::string instr = GetParam();
const std::string elem = AccessChainRequiresElemId(instr) ? "%int_0 " : "";
string spirv = kGLSL450MemoryModel + kDeeplyNestedStructureSetup + R"(
-%entry = )" +
- instr +
+%entry = )" + instr +
R"( %_ptr_Private_mat4x3 %my_matrix )" + elem +
R"(%int_0 %int_1
OpReturn
@@ -4094,10 +4082,9 @@ TEST_F(ValidateIdWithMessage, OpVectorShuffleVector1ComponentType) {
OpFunctionEnd)";
CompileSuccessfully(spirv.c_str());
EXPECT_EQ(SPV_ERROR_INVALID_ID, ValidateInstructions());
- EXPECT_THAT(
- getDiagnosticString(),
- HasSubstr("The Component Type of Vector 1 must be the same as "
- "ResultType."));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("The Component Type of Vector 1 must be the same as "
+ "ResultType."));
}
TEST_F(ValidateIdWithMessage, OpVectorShuffleVector2ComponentType) {
@@ -4128,10 +4115,9 @@ TEST_F(ValidateIdWithMessage, OpVectorShuffleVector2ComponentType) {
OpFunctionEnd)";
CompileSuccessfully(spirv.c_str());
EXPECT_EQ(SPV_ERROR_INVALID_ID, ValidateInstructions());
- EXPECT_THAT(
- getDiagnosticString(),
- HasSubstr("The Component Type of Vector 2 must be the same as "
- "ResultType."));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("The Component Type of Vector 2 must be the same as "
+ "ResultType."));
}
TEST_F(ValidateIdWithMessage, OpVectorShuffleLiterals) {
@@ -4276,7 +4262,8 @@ TEST_F(ValidateIdWithMessage, OpBranchConditional_CondIsScalarInt) {
EXPECT_EQ(SPV_ERROR_INVALID_ID, ValidateInstructions());
EXPECT_THAT(
getDiagnosticString(),
- HasSubstr("Condition operand for OpBranchConditional must be of boolean type"));
+ HasSubstr(
+ "Condition operand for OpBranchConditional must be of boolean type"));
}
TEST_F(ValidateIdWithMessage, OpBranchConditional_TrueTargetIsNotLabel) {
@@ -4288,13 +4275,13 @@ TEST_F(ValidateIdWithMessage, OpBranchConditional_TrueTargetIsNotLabel) {
// EXPECT_EQ(SPV_ERROR_INVALID_ID, ValidateInstructions());
// EXPECT_THAT(
// getDiagnosticString(),
- // HasSubstr("The 'True Label' operand for OpBranchConditional must be the ID of an OpLabel instruction"));
+ // HasSubstr("The 'True Label' operand for OpBranchConditional must be the
+ // ID of an OpLabel instruction"));
// xxxnsubtil: this is actually caught by the ID validation instead
EXPECT_EQ(SPV_ERROR_INVALID_CFG, ValidateInstructions());
- EXPECT_THAT(
- getDiagnosticString(),
- HasSubstr("are referenced but not defined in function"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("are referenced but not defined in function"));
}
TEST_F(ValidateIdWithMessage, OpBranchConditional_FalseTargetIsNotLabel) {
@@ -4306,13 +4293,13 @@ TEST_F(ValidateIdWithMessage, OpBranchConditional_FalseTargetIsNotLabel) {
// EXPECT_EQ(SPV_ERROR_INVALID_ID, ValidateInstructions());
// EXPECT_THAT(
// getDiagnosticString(),
- // HasSubstr("The 'False Label' operand for OpBranchConditional must be the ID of an OpLabel instruction"));
+ // HasSubstr("The 'False Label' operand for OpBranchConditional must be
+ // the ID of an OpLabel instruction"));
// xxxnsubtil: this is actually caught by the ID validation
EXPECT_EQ(SPV_ERROR_INVALID_CFG, ValidateInstructions());
- EXPECT_THAT(
- getDiagnosticString(),
- HasSubstr("are referenced but not defined in function"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("are referenced but not defined in function"));
}
TEST_F(ValidateIdWithMessage, OpBranchConditional_NotEnoughWeights) {
diff --git a/test/val/val_image_test.cpp b/test/val/val_image_test.cpp
index 559bc651..9ad74df2 100644
--- a/test/val/val_image_test.cpp
+++ b/test/val/val_image_test.cpp
@@ -330,8 +330,9 @@ TEST_F(ValidateImage, SampledImageWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be OpTypeSampledImage: SampledImage"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Result Type to be OpTypeSampledImage: SampledImage"));
}
TEST_F(ValidateImage, SampledImageNotImage) {
@@ -344,8 +345,9 @@ TEST_F(ValidateImage, SampledImageNotImage) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image to be of type OpTypeImage: SampledImage"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image to be of type OpTypeImage: SampledImage"));
}
TEST_F(ValidateImage, SampledImageImageNotForSampling) {
@@ -357,8 +359,10 @@ TEST_F(ValidateImage, SampledImageImageNotForSampling) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled' parameter to be 0 or 1: SampledImage"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Image 'Sampled' parameter to be 0 or 1: SampledImage"));
}
TEST_F(ValidateImage, SampledImageImageDimSubpassData) {
@@ -370,8 +374,9 @@ TEST_F(ValidateImage, SampledImageImageDimSubpassData) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Dim' parameter to be not SubpassData"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image 'Dim' parameter to be not SubpassData"));
}
TEST_F(ValidateImage, SampledImageNotSampler) {
@@ -383,8 +388,9 @@ TEST_F(ValidateImage, SampledImageNotSampler) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Sampler to be of type OpTypeSampler: SampledImage"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Sampler to be of type OpTypeSampler: SampledImage"));
}
TEST_F(ValidateImage, SampleImplicitLodSuccess) {
@@ -414,9 +420,9 @@ TEST_F(ValidateImage, SampleImplicitLodWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be int or float vector type: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to be int or float vector type: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodWrongNumComponentsResultType) {
@@ -429,9 +435,9 @@ TEST_F(ValidateImage, SampleImplicitLodWrongNumComponentsResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to have 4 components: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to have 4 components: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodNotSampledImage) {
@@ -442,9 +448,10 @@ TEST_F(ValidateImage, SampleImplicitLodNotSampledImage) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Sampled Image to be of type OpTypeSampledImage: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Sampled Image to be of type OpTypeSampledImage: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodWrongSampledType) {
@@ -457,9 +464,10 @@ TEST_F(ValidateImage, SampleImplicitLodWrongSampledType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled Type' to be the same as Result Type components: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled Type' to be the same as "
+ "Result Type components: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodVoidSampledType) {
@@ -484,9 +492,9 @@ TEST_F(ValidateImage, SampleImplicitLodWrongCoordinateType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to be float scalar or vector: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to be float scalar or vector: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodCoordinateSizeTooSmall) {
@@ -499,9 +507,10 @@ TEST_F(ValidateImage, SampleImplicitLodCoordinateSizeTooSmall) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to have at least 2 components, but given only 1: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to have at least 2 components, "
+ "but given only 1: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleExplicitLodSuccessShader) {
@@ -558,9 +567,9 @@ TEST_F(ValidateImage, SampleExplicitLodWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be int or float vector type: "
- "ImageSampleExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to be int or float vector type: "
+ "ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, SampleExplicitLodWrongNumComponentsResultType) {
@@ -573,9 +582,9 @@ TEST_F(ValidateImage, SampleExplicitLodWrongNumComponentsResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to have 4 components: "
- "ImageSampleExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to have 4 components: "
+ "ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, SampleExplicitLodNotSampledImage) {
@@ -586,9 +595,10 @@ TEST_F(ValidateImage, SampleExplicitLodNotSampledImage) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Sampled Image to be of type OpTypeSampledImage: "
- "ImageSampleExplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Sampled Image to be of type OpTypeSampledImage: "
+ "ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, SampleExplicitLodWrongSampledType) {
@@ -601,9 +611,10 @@ TEST_F(ValidateImage, SampleExplicitLodWrongSampledType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled Type' to be the same as Result Type components: "
- "ImageSampleExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled Type' to be the same as "
+ "Result Type components: "
+ "ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, SampleExplicitLodVoidSampledType) {
@@ -628,9 +639,9 @@ TEST_F(ValidateImage, SampleExplicitLodWrongCoordinateType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to be float scalar or vector: "
- "ImageSampleExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to be float scalar or vector: "
+ "ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, SampleExplicitLodCoordinateSizeTooSmall) {
@@ -643,9 +654,10 @@ TEST_F(ValidateImage, SampleExplicitLodCoordinateSizeTooSmall) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to have at least 2 components, but given only 1: "
- "ImageSampleExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to have at least 2 components, "
+ "but given only 1: "
+ "ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, SampleExplicitLodBias) {
@@ -658,9 +670,10 @@ TEST_F(ValidateImage, SampleExplicitLodBias) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand Bias can only be used with ImplicitLod opcodes: "
- "ImageSampleExplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Image Operand Bias can only be used with ImplicitLod opcodes: "
+ "ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, LodAndGrad) {
@@ -673,9 +686,11 @@ TEST_F(ValidateImage, LodAndGrad) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand bits Lod and Grad cannot be set at the same time: "
- "ImageSampleExplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Image Operand bits Lod and Grad cannot be set at the same time: "
+ "ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, ImplicitLodWithLod) {
@@ -688,9 +703,10 @@ TEST_F(ValidateImage, ImplicitLodWithLod) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand Lod cannot be used with ImplicitLod opcodes: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Image Operand Lod cannot be used with ImplicitLod opcodes: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, LodWrongType) {
@@ -702,9 +718,9 @@ TEST_F(ValidateImage, LodWrongType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image Operand Lod to be int or float scalar: "
- "ImageSampleExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Image Operand Lod to be int or float scalar: "
+ "ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, LodWrongDim) {
@@ -716,9 +732,10 @@ TEST_F(ValidateImage, LodWrongDim) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand Lod requires 'Dim' parameter to be 1D, 2D, 3D or Cube: "
- "ImageSampleExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Image Operand Lod requires 'Dim' parameter to be 1D, "
+ "2D, 3D or Cube: "
+ "ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, LodMultisampled) {
@@ -730,9 +747,9 @@ TEST_F(ValidateImage, LodMultisampled) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand Lod requires 'MS' parameter to be 0: "
- "ImageSampleExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Image Operand Lod requires 'MS' parameter to be 0: "
+ "ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, MinLodIncompatible) {
@@ -744,9 +761,11 @@ TEST_F(ValidateImage, MinLodIncompatible) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand MinLod can only be used with ImplicitLod opcodes or "
- "together with Image Operand Grad: ImageSampleExplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Image Operand MinLod can only be used with ImplicitLod opcodes or "
+ "together with Image Operand Grad: ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, ImplicitLodWithGrad) {
@@ -759,9 +778,10 @@ TEST_F(ValidateImage, ImplicitLodWithGrad) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand Grad can only be used with ExplicitLod opcodes: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Image Operand Grad can only be used with ExplicitLod opcodes: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLod3DArrayedMultisampledSuccess) {
@@ -803,9 +823,9 @@ TEST_F(ValidateImage, SampleImplicitLodBiasWrongType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image Operand Bias to be float scalar: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Image Operand Bias to be float scalar: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodBiasWrongDim) {
@@ -818,9 +838,10 @@ TEST_F(ValidateImage, SampleImplicitLodBiasWrongDim) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand Bias requires 'Dim' parameter to be 1D, 2D, 3D or Cube: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Image Operand Bias requires 'Dim' parameter to be 1D, "
+ "2D, 3D or Cube: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodBiasMultisampled) {
@@ -833,9 +854,9 @@ TEST_F(ValidateImage, SampleImplicitLodBiasMultisampled) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand Bias requires 'MS' parameter to be 0: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Image Operand Bias requires 'MS' parameter to be 0: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleExplicitLodGradDxWrongType) {
@@ -848,9 +869,10 @@ TEST_F(ValidateImage, SampleExplicitLodGradDxWrongType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected both Image Operand Grad ids to be float scalars or vectors: "
- "ImageSampleExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected both Image Operand Grad ids to be float "
+ "scalars or vectors: "
+ "ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, SampleExplicitLodGradDyWrongType) {
@@ -863,9 +885,10 @@ TEST_F(ValidateImage, SampleExplicitLodGradDyWrongType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected both Image Operand Grad ids to be float scalars or vectors: "
- "ImageSampleExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected both Image Operand Grad ids to be float "
+ "scalars or vectors: "
+ "ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, SampleExplicitLodGradDxWrongSize) {
@@ -878,9 +901,11 @@ TEST_F(ValidateImage, SampleExplicitLodGradDxWrongSize) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image Operand Grad dx to have 3 components, but given 2: "
- "ImageSampleExplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Image Operand Grad dx to have 3 components, but given 2: "
+ "ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, SampleExplicitLodGradDyWrongSize) {
@@ -893,9 +918,11 @@ TEST_F(ValidateImage, SampleExplicitLodGradDyWrongSize) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image Operand Grad dy to have 3 components, but given 2: "
- "ImageSampleExplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Image Operand Grad dy to have 3 components, but given 2: "
+ "ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, SampleExplicitLodGradMultisampled) {
@@ -908,9 +935,9 @@ TEST_F(ValidateImage, SampleExplicitLodGradMultisampled) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand Grad requires 'MS' parameter to be 0: "
- "ImageSampleExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Image Operand Grad requires 'MS' parameter to be 0: "
+ "ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodConstOffsetCubeDim) {
@@ -923,9 +950,11 @@ TEST_F(ValidateImage, SampleImplicitLodConstOffsetCubeDim) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand ConstOffset cannot be used with Cube Image 'Dim': "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Image Operand ConstOffset cannot be used with Cube Image 'Dim': "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodConstOffsetWrongType) {
@@ -938,9 +967,11 @@ TEST_F(ValidateImage, SampleImplicitLodConstOffsetWrongType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image Operand ConstOffset to be int scalar or vector: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Image Operand ConstOffset to be int scalar or vector: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodConstOffsetWrongSize) {
@@ -953,9 +984,10 @@ TEST_F(ValidateImage, SampleImplicitLodConstOffsetWrongSize) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image Operand ConstOffset to have 3 components, but given 2: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Image Operand ConstOffset to have 3 "
+ "components, but given 2: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodConstOffsetNotConst) {
@@ -969,9 +1001,10 @@ TEST_F(ValidateImage, SampleImplicitLodConstOffsetNotConst) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image Operand ConstOffset to be a const object: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image Operand ConstOffset to be a const object: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodOffsetCubeDim) {
@@ -984,9 +1017,10 @@ TEST_F(ValidateImage, SampleImplicitLodOffsetCubeDim) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand Offset cannot be used with Cube Image 'Dim': "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Image Operand Offset cannot be used with Cube Image 'Dim': "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodOffsetWrongType) {
@@ -999,9 +1033,10 @@ TEST_F(ValidateImage, SampleImplicitLodOffsetWrongType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image Operand Offset to be int scalar or vector: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image Operand Offset to be int scalar or vector: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodOffsetWrongSize) {
@@ -1014,9 +1049,11 @@ TEST_F(ValidateImage, SampleImplicitLodOffsetWrongSize) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image Operand Offset to have 3 components, but given 2: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Image Operand Offset to have 3 components, but given 2: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodMoreThanOneOffset) {
@@ -1029,9 +1066,10 @@ TEST_F(ValidateImage, SampleImplicitLodMoreThanOneOffset) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operands Offset, ConstOffset, ConstOffsets cannot be used together: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Image Operands Offset, ConstOffset, ConstOffsets "
+ "cannot be used together: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodMinLodWrongType) {
@@ -1044,9 +1082,9 @@ TEST_F(ValidateImage, SampleImplicitLodMinLodWrongType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image Operand MinLod to be float scalar: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Image Operand MinLod to be float scalar: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodMinLodWrongDim) {
@@ -1059,9 +1097,10 @@ TEST_F(ValidateImage, SampleImplicitLodMinLodWrongDim) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand MinLod requires 'Dim' parameter to be 1D, 2D, 3D or Cube: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Image Operand MinLod requires 'Dim' parameter to be "
+ "1D, 2D, 3D or Cube: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleImplicitLodMinLodMultisampled) {
@@ -1074,9 +1113,9 @@ TEST_F(ValidateImage, SampleImplicitLodMinLodMultisampled) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand MinLod requires 'MS' parameter to be 0: "
- "ImageSampleImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Image Operand MinLod requires 'MS' parameter to be 0: "
+ "ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, SampleProjExplicitLodSuccess2D) {
@@ -1118,9 +1157,9 @@ TEST_F(ValidateImage, SampleProjExplicitLodWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be int or float vector type: "
- "ImageSampleProjExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to be int or float vector type: "
+ "ImageSampleProjExplicitLod"));
}
TEST_F(ValidateImage, SampleProjExplicitLodWrongNumComponentsResultType) {
@@ -1133,9 +1172,9 @@ TEST_F(ValidateImage, SampleProjExplicitLodWrongNumComponentsResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to have 4 components: "
- "ImageSampleProjExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to have 4 components: "
+ "ImageSampleProjExplicitLod"));
}
TEST_F(ValidateImage, SampleProjExplicitLodNotSampledImage) {
@@ -1146,9 +1185,10 @@ TEST_F(ValidateImage, SampleProjExplicitLodNotSampledImage) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Sampled Image to be of type OpTypeSampledImage: "
- "ImageSampleProjExplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Sampled Image to be of type OpTypeSampledImage: "
+ "ImageSampleProjExplicitLod"));
}
TEST_F(ValidateImage, SampleProjExplicitLodWrongSampledType) {
@@ -1161,9 +1201,10 @@ TEST_F(ValidateImage, SampleProjExplicitLodWrongSampledType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled Type' to be the same as Result Type components: "
- "ImageSampleProjExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled Type' to be the same as "
+ "Result Type components: "
+ "ImageSampleProjExplicitLod"));
}
TEST_F(ValidateImage, SampleProjExplicitLodVoidSampledType) {
@@ -1188,9 +1229,9 @@ TEST_F(ValidateImage, SampleProjExplicitLodWrongCoordinateType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to be float scalar or vector: "
- "ImageSampleProjExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to be float scalar or vector: "
+ "ImageSampleProjExplicitLod"));
}
TEST_F(ValidateImage, SampleProjExplicitLodCoordinateSizeTooSmall) {
@@ -1203,9 +1244,10 @@ TEST_F(ValidateImage, SampleProjExplicitLodCoordinateSizeTooSmall) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to have at least 3 components, but given only 2: "
- "ImageSampleProjExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to have at least 3 components, "
+ "but given only 2: "
+ "ImageSampleProjExplicitLod"));
}
TEST_F(ValidateImage, SampleProjImplicitLodSuccess) {
@@ -1235,9 +1277,9 @@ TEST_F(ValidateImage, SampleProjImplicitLodWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be int or float vector type: "
- "ImageSampleProjImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to be int or float vector type: "
+ "ImageSampleProjImplicitLod"));
}
TEST_F(ValidateImage, SampleProjImplicitLodWrongNumComponentsResultType) {
@@ -1250,9 +1292,9 @@ TEST_F(ValidateImage, SampleProjImplicitLodWrongNumComponentsResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to have 4 components: "
- "ImageSampleProjImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to have 4 components: "
+ "ImageSampleProjImplicitLod"));
}
TEST_F(ValidateImage, SampleProjImplicitLodNotSampledImage) {
@@ -1263,9 +1305,10 @@ TEST_F(ValidateImage, SampleProjImplicitLodNotSampledImage) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Sampled Image to be of type OpTypeSampledImage: "
- "ImageSampleProjImplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Sampled Image to be of type OpTypeSampledImage: "
+ "ImageSampleProjImplicitLod"));
}
TEST_F(ValidateImage, SampleProjImplicitLodWrongSampledType) {
@@ -1278,9 +1321,10 @@ TEST_F(ValidateImage, SampleProjImplicitLodWrongSampledType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled Type' to be the same as Result Type components: "
- "ImageSampleProjImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled Type' to be the same as "
+ "Result Type components: "
+ "ImageSampleProjImplicitLod"));
}
TEST_F(ValidateImage, SampleProjImplicitLodVoidSampledType) {
@@ -1305,9 +1349,9 @@ TEST_F(ValidateImage, SampleProjImplicitLodWrongCoordinateType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to be float scalar or vector: "
- "ImageSampleProjImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to be float scalar or vector: "
+ "ImageSampleProjImplicitLod"));
}
TEST_F(ValidateImage, SampleProjImplicitLodCoordinateSizeTooSmall) {
@@ -1320,9 +1364,10 @@ TEST_F(ValidateImage, SampleProjImplicitLodCoordinateSizeTooSmall) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to have at least 3 components, but given only 2: "
- "ImageSampleProjImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to have at least 3 components, "
+ "but given only 2: "
+ "ImageSampleProjImplicitLod"));
}
TEST_F(ValidateImage, SampleDrefImplicitLodSuccess) {
@@ -1352,9 +1397,9 @@ TEST_F(ValidateImage, SampleDrefImplicitLodWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be int or float scalar type: "
- "ImageSampleDrefImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to be int or float scalar type: "
+ "ImageSampleDrefImplicitLod"));
}
TEST_F(ValidateImage, SampleDrefImplicitLodNotSampledImage) {
@@ -1365,9 +1410,10 @@ TEST_F(ValidateImage, SampleDrefImplicitLodNotSampledImage) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Sampled Image to be of type OpTypeSampledImage: "
- "ImageSampleDrefImplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Sampled Image to be of type OpTypeSampledImage: "
+ "ImageSampleDrefImplicitLod"));
}
TEST_F(ValidateImage, SampleDrefImplicitLodWrongSampledType) {
@@ -1380,9 +1426,10 @@ TEST_F(ValidateImage, SampleDrefImplicitLodWrongSampledType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled Type' to be the same as Result Type: "
- "ImageSampleDrefImplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled Type' to be the same as Result Type: "
+ "ImageSampleDrefImplicitLod"));
}
TEST_F(ValidateImage, SampleDrefImplicitLodVoidSampledType) {
@@ -1395,9 +1442,10 @@ TEST_F(ValidateImage, SampleDrefImplicitLodVoidSampledType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled Type' to be the same as Result Type: "
- "ImageSampleDrefImplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled Type' to be the same as Result Type: "
+ "ImageSampleDrefImplicitLod"));
}
TEST_F(ValidateImage, SampleDrefImplicitLodWrongCoordinateType) {
@@ -1410,9 +1458,9 @@ TEST_F(ValidateImage, SampleDrefImplicitLodWrongCoordinateType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to be float scalar or vector: "
- "ImageSampleDrefImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to be float scalar or vector: "
+ "ImageSampleDrefImplicitLod"));
}
TEST_F(ValidateImage, SampleDrefImplicitLodCoordinateSizeTooSmall) {
@@ -1425,9 +1473,10 @@ TEST_F(ValidateImage, SampleDrefImplicitLodCoordinateSizeTooSmall) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to have at least 2 components, but given only 1: "
- "ImageSampleDrefImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to have at least 2 components, "
+ "but given only 1: "
+ "ImageSampleDrefImplicitLod"));
}
TEST_F(ValidateImage, SampleDrefImplicitLodWrongDrefType) {
@@ -1440,9 +1489,9 @@ TEST_F(ValidateImage, SampleDrefImplicitLodWrongDrefType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Dref to be of Image 'Sampled Type': "
- "ImageSampleDrefImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Dref to be of Image 'Sampled Type': "
+ "ImageSampleDrefImplicitLod"));
}
TEST_F(ValidateImage, SampleDrefExplicitLodSuccess) {
@@ -1471,9 +1520,9 @@ TEST_F(ValidateImage, SampleDrefExplicitLodWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be int or float scalar type: "
- "ImageSampleDrefExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to be int or float scalar type: "
+ "ImageSampleDrefExplicitLod"));
}
TEST_F(ValidateImage, SampleDrefExplicitLodNotSampledImage) {
@@ -1484,9 +1533,10 @@ TEST_F(ValidateImage, SampleDrefExplicitLodNotSampledImage) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Sampled Image to be of type OpTypeSampledImage: "
- "ImageSampleDrefExplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Sampled Image to be of type OpTypeSampledImage: "
+ "ImageSampleDrefExplicitLod"));
}
TEST_F(ValidateImage, SampleDrefExplicitLodWrongSampledType) {
@@ -1499,9 +1549,10 @@ TEST_F(ValidateImage, SampleDrefExplicitLodWrongSampledType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled Type' to be the same as Result Type: "
- "ImageSampleDrefExplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled Type' to be the same as Result Type: "
+ "ImageSampleDrefExplicitLod"));
}
TEST_F(ValidateImage, SampleDrefExplicitLodVoidSampledType) {
@@ -1514,9 +1565,10 @@ TEST_F(ValidateImage, SampleDrefExplicitLodVoidSampledType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled Type' to be the same as Result Type: "
- "ImageSampleDrefExplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled Type' to be the same as Result Type: "
+ "ImageSampleDrefExplicitLod"));
}
TEST_F(ValidateImage, SampleDrefExplicitLodWrongCoordinateType) {
@@ -1529,9 +1581,9 @@ TEST_F(ValidateImage, SampleDrefExplicitLodWrongCoordinateType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to be float scalar or vector: "
- "ImageSampleDrefExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to be float scalar or vector: "
+ "ImageSampleDrefExplicitLod"));
}
TEST_F(ValidateImage, SampleDrefExplicitLodCoordinateSizeTooSmall) {
@@ -1544,9 +1596,10 @@ TEST_F(ValidateImage, SampleDrefExplicitLodCoordinateSizeTooSmall) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to have at least 3 components, but given only 2: "
- "ImageSampleDrefExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to have at least 3 components, "
+ "but given only 2: "
+ "ImageSampleDrefExplicitLod"));
}
TEST_F(ValidateImage, SampleDrefExplicitLodWrongDrefType) {
@@ -1559,9 +1612,9 @@ TEST_F(ValidateImage, SampleDrefExplicitLodWrongDrefType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Dref to be of Image 'Sampled Type': "
- "ImageSampleDrefExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Dref to be of Image 'Sampled Type': "
+ "ImageSampleDrefExplicitLod"));
}
TEST_F(ValidateImage, SampleProjDrefImplicitLodSuccess) {
@@ -1591,9 +1644,9 @@ TEST_F(ValidateImage, SampleProjDrefImplicitLodWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be int or float scalar type: "
- "ImageSampleProjDrefImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to be int or float scalar type: "
+ "ImageSampleProjDrefImplicitLod"));
}
TEST_F(ValidateImage, SampleProjDrefImplicitLodNotSampledImage) {
@@ -1604,9 +1657,10 @@ TEST_F(ValidateImage, SampleProjDrefImplicitLodNotSampledImage) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Sampled Image to be of type OpTypeSampledImage: "
- "ImageSampleProjDrefImplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Sampled Image to be of type OpTypeSampledImage: "
+ "ImageSampleProjDrefImplicitLod"));
}
TEST_F(ValidateImage, SampleProjDrefImplicitLodWrongSampledType) {
@@ -1619,9 +1673,10 @@ TEST_F(ValidateImage, SampleProjDrefImplicitLodWrongSampledType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled Type' to be the same as Result Type: "
- "ImageSampleProjDrefImplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled Type' to be the same as Result Type: "
+ "ImageSampleProjDrefImplicitLod"));
}
TEST_F(ValidateImage, SampleProjDrefImplicitLodVoidSampledType) {
@@ -1634,9 +1689,10 @@ TEST_F(ValidateImage, SampleProjDrefImplicitLodVoidSampledType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled Type' to be the same as Result Type: "
- "ImageSampleProjDrefImplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled Type' to be the same as Result Type: "
+ "ImageSampleProjDrefImplicitLod"));
}
TEST_F(ValidateImage, SampleProjDrefImplicitLodWrongCoordinateType) {
@@ -1649,9 +1705,9 @@ TEST_F(ValidateImage, SampleProjDrefImplicitLodWrongCoordinateType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to be float scalar or vector: "
- "ImageSampleProjDrefImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to be float scalar or vector: "
+ "ImageSampleProjDrefImplicitLod"));
}
TEST_F(ValidateImage, SampleProjDrefImplicitLodCoordinateSizeTooSmall) {
@@ -1664,9 +1720,10 @@ TEST_F(ValidateImage, SampleProjDrefImplicitLodCoordinateSizeTooSmall) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to have at least 3 components, but given only 2: "
- "ImageSampleProjDrefImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to have at least 3 components, "
+ "but given only 2: "
+ "ImageSampleProjDrefImplicitLod"));
}
TEST_F(ValidateImage, SampleProjDrefImplicitLodWrongDrefType) {
@@ -1679,9 +1736,9 @@ TEST_F(ValidateImage, SampleProjDrefImplicitLodWrongDrefType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Dref to be of Image 'Sampled Type': "
- "ImageSampleProjDrefImplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Dref to be of Image 'Sampled Type': "
+ "ImageSampleProjDrefImplicitLod"));
}
TEST_F(ValidateImage, SampleProjDrefExplicitLodSuccess) {
@@ -1710,9 +1767,9 @@ TEST_F(ValidateImage, SampleProjDrefExplicitLodWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be int or float scalar type: "
- "ImageSampleProjDrefExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to be int or float scalar type: "
+ "ImageSampleProjDrefExplicitLod"));
}
TEST_F(ValidateImage, SampleProjDrefExplicitLodNotSampledImage) {
@@ -1723,9 +1780,10 @@ TEST_F(ValidateImage, SampleProjDrefExplicitLodNotSampledImage) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Sampled Image to be of type OpTypeSampledImage: "
- "ImageSampleProjDrefExplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Sampled Image to be of type OpTypeSampledImage: "
+ "ImageSampleProjDrefExplicitLod"));
}
TEST_F(ValidateImage, SampleProjDrefExplicitLodWrongSampledType) {
@@ -1738,9 +1796,10 @@ TEST_F(ValidateImage, SampleProjDrefExplicitLodWrongSampledType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled Type' to be the same as Result Type: "
- "ImageSampleProjDrefExplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled Type' to be the same as Result Type: "
+ "ImageSampleProjDrefExplicitLod"));
}
TEST_F(ValidateImage, SampleProjDrefExplicitLodVoidSampledType) {
@@ -1753,9 +1812,10 @@ TEST_F(ValidateImage, SampleProjDrefExplicitLodVoidSampledType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled Type' to be the same as Result Type: "
- "ImageSampleProjDrefExplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled Type' to be the same as Result Type: "
+ "ImageSampleProjDrefExplicitLod"));
}
TEST_F(ValidateImage, SampleProjDrefExplicitLodWrongCoordinateType) {
@@ -1768,9 +1828,9 @@ TEST_F(ValidateImage, SampleProjDrefExplicitLodWrongCoordinateType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to be float scalar or vector: "
- "ImageSampleProjDrefExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to be float scalar or vector: "
+ "ImageSampleProjDrefExplicitLod"));
}
TEST_F(ValidateImage, SampleProjDrefExplicitLodCoordinateSizeTooSmall) {
@@ -1783,9 +1843,10 @@ TEST_F(ValidateImage, SampleProjDrefExplicitLodCoordinateSizeTooSmall) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to have at least 2 components, but given only 1: "
- "ImageSampleProjDrefExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to have at least 2 components, "
+ "but given only 1: "
+ "ImageSampleProjDrefExplicitLod"));
}
TEST_F(ValidateImage, FetchSuccess) {
@@ -1806,9 +1867,9 @@ TEST_F(ValidateImage, FetchWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be int or float vector type: "
- "ImageFetch"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to be int or float vector type: "
+ "ImageFetch"));
}
TEST_F(ValidateImage, FetchWrongNumComponentsResultType) {
@@ -1819,8 +1880,9 @@ TEST_F(ValidateImage, FetchWrongNumComponentsResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to have 4 components: ImageFetch"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Result Type to have 4 components: ImageFetch"));
}
TEST_F(ValidateImage, FetchNotImage) {
@@ -1833,8 +1895,9 @@ TEST_F(ValidateImage, FetchNotImage) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image to be of type OpTypeImage: ImageFetch"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image to be of type OpTypeImage: ImageFetch"));
}
TEST_F(ValidateImage, FetchNotSampled) {
@@ -1845,8 +1908,9 @@ TEST_F(ValidateImage, FetchNotSampled) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled' parameter to be 1: ImageFetch"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled' parameter to be 1: ImageFetch"));
}
TEST_F(ValidateImage, FetchCube) {
@@ -1857,8 +1921,8 @@ TEST_F(ValidateImage, FetchCube) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image 'Dim' cannot be Cube: ImageFetch"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Image 'Dim' cannot be Cube: ImageFetch"));
}
TEST_F(ValidateImage, FetchWrongSampledType) {
@@ -1869,9 +1933,10 @@ TEST_F(ValidateImage, FetchWrongSampledType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled Type' to be the same as Result Type components: "
- "ImageFetch"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled Type' to be the same as "
+ "Result Type components: "
+ "ImageFetch"));
}
TEST_F(ValidateImage, FetchVoidSampledType) {
@@ -1894,9 +1959,9 @@ TEST_F(ValidateImage, FetchWrongCoordinateType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to be int scalar or vector: "
- "ImageFetch"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to be int scalar or vector: "
+ "ImageFetch"));
}
TEST_F(ValidateImage, FetchCoordinateSizeTooSmall) {
@@ -1907,9 +1972,10 @@ TEST_F(ValidateImage, FetchCoordinateSizeTooSmall) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to have at least 2 components, but given only 1: "
- "ImageFetch"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to have at least 2 components, "
+ "but given only 1: "
+ "ImageFetch"));
}
TEST_F(ValidateImage, GatherSuccess) {
@@ -1935,9 +2001,9 @@ TEST_F(ValidateImage, GatherWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be int or float vector type: "
- "ImageGather"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to be int or float vector type: "
+ "ImageGather"));
}
TEST_F(ValidateImage, GatherWrongNumComponentsResultType) {
@@ -1950,9 +2016,9 @@ TEST_F(ValidateImage, GatherWrongNumComponentsResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to have 4 components: "
- "ImageGather"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to have 4 components: "
+ "ImageGather"));
}
TEST_F(ValidateImage, GatherNotSampledImage) {
@@ -1963,9 +2029,10 @@ TEST_F(ValidateImage, GatherNotSampledImage) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Sampled Image to be of type OpTypeSampledImage: "
- "ImageGather"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Sampled Image to be of type OpTypeSampledImage: "
+ "ImageGather"));
}
TEST_F(ValidateImage, GatherWrongSampledType) {
@@ -1978,9 +2045,10 @@ TEST_F(ValidateImage, GatherWrongSampledType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled Type' to be the same as Result Type components: "
- "ImageGather"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled Type' to be the same as "
+ "Result Type components: "
+ "ImageGather"));
}
TEST_F(ValidateImage, GatherVoidSampledType) {
@@ -2005,9 +2073,9 @@ TEST_F(ValidateImage, GatherWrongCoordinateType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to be float scalar or vector: "
- "ImageGather"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to be float scalar or vector: "
+ "ImageGather"));
}
TEST_F(ValidateImage, GatherCoordinateSizeTooSmall) {
@@ -2020,9 +2088,10 @@ TEST_F(ValidateImage, GatherCoordinateSizeTooSmall) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to have at least 4 components, but given only 1: "
- "ImageGather"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to have at least 4 components, "
+ "but given only 1: "
+ "ImageGather"));
}
TEST_F(ValidateImage, GatherWrongComponentType) {
@@ -2035,8 +2104,8 @@ TEST_F(ValidateImage, GatherWrongComponentType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Component to be int scalar: ImageGather"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Component to be int scalar: ImageGather"));
}
TEST_F(ValidateImage, GatherDimCube) {
@@ -2049,9 +2118,11 @@ TEST_F(ValidateImage, GatherDimCube) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand ConstOffsets cannot be used with Cube Image 'Dim': "
- "ImageGather"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Image Operand ConstOffsets cannot be used with Cube Image 'Dim': "
+ "ImageGather"));
}
TEST_F(ValidateImage, GatherConstOffsetsNotArray) {
@@ -2064,9 +2135,10 @@ TEST_F(ValidateImage, GatherConstOffsetsNotArray) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image Operand ConstOffsets to be an array of size 4: "
- "ImageGather"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image Operand ConstOffsets to be an array of size 4: "
+ "ImageGather"));
}
TEST_F(ValidateImage, GatherConstOffsetsArrayWrongSize) {
@@ -2079,9 +2151,10 @@ TEST_F(ValidateImage, GatherConstOffsetsArrayWrongSize) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image Operand ConstOffsets to be an array of size 4: "
- "ImageGather"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image Operand ConstOffsets to be an array of size 4: "
+ "ImageGather"));
}
TEST_F(ValidateImage, GatherConstOffsetsArrayNotVector) {
@@ -2094,9 +2167,10 @@ TEST_F(ValidateImage, GatherConstOffsetsArrayNotVector) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image Operand ConstOffsets array componenets to be int vectors "
- "of size 2: ImageGather"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Image Operand ConstOffsets array componenets "
+ "to be int vectors "
+ "of size 2: ImageGather"));
}
TEST_F(ValidateImage, GatherConstOffsetsArrayVectorWrongSize) {
@@ -2109,9 +2183,10 @@ TEST_F(ValidateImage, GatherConstOffsetsArrayVectorWrongSize) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image Operand ConstOffsets array componenets to be int vectors "
- "of size 2: ImageGather"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Image Operand ConstOffsets array componenets "
+ "to be int vectors "
+ "of size 2: ImageGather"));
}
TEST_F(ValidateImage, GatherConstOffsetsArrayNotConst) {
@@ -2125,9 +2200,10 @@ TEST_F(ValidateImage, GatherConstOffsetsArrayNotConst) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image Operand ConstOffsets to be a const object: "
- "ImageGather"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image Operand ConstOffsets to be a const object: "
+ "ImageGather"));
}
TEST_F(ValidateImage, NotGatherWithConstOffsets) {
@@ -2140,9 +2216,11 @@ TEST_F(ValidateImage, NotGatherWithConstOffsets) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand ConstOffsets can only be used with OpImageGather "
- "and OpImageDrefGather: ImageSampleImplicitLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Image Operand ConstOffsets can only be used with OpImageGather "
+ "and OpImageDrefGather: ImageSampleImplicitLod"));
}
TEST_F(ValidateImage, DrefGatherSuccess) {
@@ -2168,9 +2246,10 @@ TEST_F(ValidateImage, DrefGatherVoidSampledType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled Type' to be the same as Result Type components: "
- "ImageDrefGather"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled Type' to be the same as "
+ "Result Type components: "
+ "ImageDrefGather"));
}
TEST_F(ValidateImage, DrefGatherWrongDrefType) {
@@ -2183,8 +2262,10 @@ TEST_F(ValidateImage, DrefGatherWrongDrefType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Dref to be of Image 'Sampled Type': ImageDrefGather"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Dref to be of Image 'Sampled Type': ImageDrefGather"));
}
TEST_F(ValidateImage, ReadSuccess1) {
@@ -2238,9 +2319,10 @@ TEST_F(ValidateImage, ReadNeedCapabilityStorageImageReadWithoutFormat) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Capability StorageImageReadWithoutFormat is required to read storage "
- "image: ImageRead"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Capability StorageImageReadWithoutFormat is required "
+ "to read storage "
+ "image: ImageRead"));
}
TEST_F(ValidateImage, ReadNeedCapabilityImage1D) {
@@ -2251,8 +2333,10 @@ TEST_F(ValidateImage, ReadNeedCapabilityImage1D) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Capability Image1D is required to access storage image: ImageRead"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Capability Image1D is required to access storage image: ImageRead"));
}
TEST_F(ValidateImage, ReadNeedCapabilityImageCubeArray) {
@@ -2263,9 +2347,11 @@ TEST_F(ValidateImage, ReadNeedCapabilityImageCubeArray) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Capability ImageCubeArray is required to access storage image: "
- "ImageRead"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Capability ImageCubeArray is required to access storage image: "
+ "ImageRead"));
}
// TODO(atgoo@github.com) Disabled until the spec is clarified.
@@ -2278,8 +2364,10 @@ TEST_F(ValidateImage, DISABLED_ReadWrongResultType) {
const std::string extra = "\nOpCapability StorageImageReadWithoutFormat\n";
CompileSuccessfully(GenerateShaderCode(body, extra).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be int or float vector type: ImageRead"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Result Type to be int or float vector type: ImageRead"));
}
// TODO(atgoo@github.com) Disabled until the spec is clarified.
@@ -2292,8 +2380,9 @@ TEST_F(ValidateImage, DISABLED_ReadWrongNumComponentsResultType) {
const std::string extra = "\nOpCapability StorageImageReadWithoutFormat\n";
CompileSuccessfully(GenerateShaderCode(body, extra).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to have 4 components: ImageRead"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Result Type to have 4 components: ImageRead"));
}
TEST_F(ValidateImage, ReadNotImage) {
@@ -2305,8 +2394,8 @@ TEST_F(ValidateImage, ReadNotImage) {
const std::string extra = "\nOpCapability StorageImageReadWithoutFormat\n";
CompileSuccessfully(GenerateShaderCode(body, extra).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image to be of type OpTypeImage: ImageRead"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Image to be of type OpTypeImage: ImageRead"));
}
TEST_F(ValidateImage, ReadImageSampled) {
@@ -2318,8 +2407,9 @@ TEST_F(ValidateImage, ReadImageSampled) {
const std::string extra = "\nOpCapability StorageImageReadWithoutFormat\n";
CompileSuccessfully(GenerateShaderCode(body, extra).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled' parameter to be 0 or 2: ImageRead"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled' parameter to be 0 or 2: ImageRead"));
}
TEST_F(ValidateImage, ReadWrongSampledType) {
@@ -2331,9 +2421,10 @@ TEST_F(ValidateImage, ReadWrongSampledType) {
const std::string extra = "\nOpCapability StorageImageReadWithoutFormat\n";
CompileSuccessfully(GenerateShaderCode(body, extra).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled Type' to be the same as Result Type components: "
- "ImageRead"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled Type' to be the same as "
+ "Result Type components: "
+ "ImageRead"));
}
TEST_F(ValidateImage, ReadVoidSampledType) {
@@ -2358,8 +2449,9 @@ TEST_F(ValidateImage, ReadWrongCoordinateType) {
const std::string extra = "\nOpCapability StorageImageReadWithoutFormat\n";
CompileSuccessfully(GenerateShaderCode(body, extra).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to be int scalar or vector: ImageRead"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Coordinate to be int scalar or vector: ImageRead"));
}
TEST_F(ValidateImage, ReadCoordinateSizeTooSmall) {
@@ -2371,9 +2463,10 @@ TEST_F(ValidateImage, ReadCoordinateSizeTooSmall) {
const std::string extra = "\nOpCapability StorageImageReadWithoutFormat\n";
CompileSuccessfully(GenerateShaderCode(body, extra).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to have at least 2 components, but given only 1: "
- "ImageRead"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to have at least 2 components, "
+ "but given only 1: "
+ "ImageRead"));
}
TEST_F(ValidateImage, WriteSuccess1) {
@@ -2430,8 +2523,8 @@ TEST_F(ValidateImage, WriteSubpassData) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image 'Dim' cannot be SubpassData: ImageWrite"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Image 'Dim' cannot be SubpassData: ImageWrite"));
}
TEST_F(ValidateImage, WriteNeedCapabilityStorageImageWriteWithoutFormat) {
@@ -2442,9 +2535,11 @@ TEST_F(ValidateImage, WriteNeedCapabilityStorageImageWriteWithoutFormat) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Capability StorageImageWriteWithoutFormat is required to write to "
- "storage image: ImageWrite"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Capability StorageImageWriteWithoutFormat is required to write to "
+ "storage image: ImageWrite"));
}
TEST_F(ValidateImage, WriteNeedCapabilityImage1D) {
@@ -2455,8 +2550,9 @@ TEST_F(ValidateImage, WriteNeedCapabilityImage1D) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Capability Image1D is required to access storage image: ImageWrite"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Capability Image1D is required to access storage "
+ "image: ImageWrite"));
}
TEST_F(ValidateImage, WriteNeedCapabilityImageCubeArray) {
@@ -2467,9 +2563,11 @@ TEST_F(ValidateImage, WriteNeedCapabilityImageCubeArray) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Capability ImageCubeArray is required to access storage image: "
- "ImageWrite"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Capability ImageCubeArray is required to access storage image: "
+ "ImageWrite"));
}
TEST_F(ValidateImage, WriteNotImage) {
@@ -2480,8 +2578,9 @@ TEST_F(ValidateImage, WriteNotImage) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image to be of type OpTypeImage: ImageWrite"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image to be of type OpTypeImage: ImageWrite"));
}
TEST_F(ValidateImage, WriteImageSampled) {
@@ -2493,8 +2592,9 @@ TEST_F(ValidateImage, WriteImageSampled) {
const std::string extra = "\nOpCapability StorageImageWriteWithoutFormat\n";
CompileSuccessfully(GenerateShaderCode(body, extra).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled' parameter to be 0 or 2: ImageWrite"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image 'Sampled' parameter to be 0 or 2: ImageWrite"));
}
TEST_F(ValidateImage, WriteWrongCoordinateType) {
@@ -2506,8 +2606,9 @@ TEST_F(ValidateImage, WriteWrongCoordinateType) {
const std::string extra = "\nOpCapability StorageImageWriteWithoutFormat\n";
CompileSuccessfully(GenerateShaderCode(body, extra).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to be int scalar or vector: ImageWrite"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Coordinate to be int scalar or vector: ImageWrite"));
}
TEST_F(ValidateImage, WriteCoordinateSizeTooSmall) {
@@ -2519,9 +2620,10 @@ TEST_F(ValidateImage, WriteCoordinateSizeTooSmall) {
const std::string extra = "\nOpCapability StorageImageWriteWithoutFormat\n";
CompileSuccessfully(GenerateShaderCode(body, extra).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to have at least 2 components, but given only 1: "
- "ImageWrite"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to have at least 2 components, "
+ "but given only 1: "
+ "ImageWrite"));
}
TEST_F(ValidateImage, WriteTexelWrongType) {
@@ -2533,8 +2635,10 @@ TEST_F(ValidateImage, WriteTexelWrongType) {
const std::string extra = "\nOpCapability StorageImageWriteWithoutFormat\n";
CompileSuccessfully(GenerateShaderCode(body, extra).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Texel to be int or float vector or scalar: ImageWrite"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Texel to be int or float vector or scalar: ImageWrite"));
}
TEST_F(ValidateImage, DISABLED_WriteTexelNotVector4) {
@@ -2546,8 +2650,8 @@ TEST_F(ValidateImage, DISABLED_WriteTexelNotVector4) {
const std::string extra = "\nOpCapability StorageImageWriteWithoutFormat\n";
CompileSuccessfully(GenerateShaderCode(body, extra).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Texel to have 4 components: ImageWrite"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Texel to have 4 components: ImageWrite"));
}
TEST_F(ValidateImage, WriteTexelWrongComponentType) {
@@ -2559,9 +2663,11 @@ TEST_F(ValidateImage, WriteTexelWrongComponentType) {
const std::string extra = "\nOpCapability StorageImageWriteWithoutFormat\n";
CompileSuccessfully(GenerateShaderCode(body, extra).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image 'Sampled Type' to be the same as Texel components: "
- "ImageWrite"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Image 'Sampled Type' to be the same as Texel components: "
+ "ImageWrite"));
}
TEST_F(ValidateImage, WriteSampleNotInteger) {
@@ -2573,9 +2679,9 @@ TEST_F(ValidateImage, WriteSampleNotInteger) {
const std::string extra = "\nOpCapability StorageImageWriteWithoutFormat\n";
CompileSuccessfully(GenerateShaderCode(body, extra).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image Operand Sample to be int scalar: "
- "ImageWrite"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Image Operand Sample to be int scalar: "
+ "ImageWrite"));
}
TEST_F(ValidateImage, SampleNotMultisampled) {
@@ -2587,8 +2693,10 @@ TEST_F(ValidateImage, SampleNotMultisampled) {
const std::string extra = "\nOpCapability StorageImageWriteWithoutFormat\n";
CompileSuccessfully(GenerateShaderCode(body, extra).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand Sample requires non-zero 'MS' parameter: ImageWrite"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Image Operand Sample requires non-zero 'MS' parameter: ImageWrite"));
}
TEST_F(ValidateImage, SampleWrongOpcode) {
@@ -2601,9 +2709,10 @@ TEST_F(ValidateImage, SampleWrongOpcode) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image Operand Sample can only be used with OpImageFetch, OpImageRead "
- "and OpImageWrite: ImageSampleExplicitLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Image Operand Sample can only be used with "
+ "OpImageFetch, OpImageRead "
+ "and OpImageWrite: ImageSampleExplicitLod"));
}
TEST_F(ValidateImage, SampleImageToImageSuccess) {
@@ -2628,8 +2737,8 @@ TEST_F(ValidateImage, SampleImageToImageWrongResultType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be OpTypeImage: Image"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to be OpTypeImage: Image"));
}
TEST_F(ValidateImage, SampleImageToImageNotSampledImage) {
@@ -2640,8 +2749,10 @@ TEST_F(ValidateImage, SampleImageToImageNotSampledImage) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Sample Image to be of type OpTypeSampleImage: Image"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Sample Image to be of type OpTypeSampleImage: Image"));
}
TEST_F(ValidateImage, SampleImageToImageNotTheSameImageType) {
@@ -2654,8 +2765,9 @@ TEST_F(ValidateImage, SampleImageToImageNotTheSameImageType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Sample Image image type to be equal to Result Type: Image"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Sample Image image type to be equal to "
+ "Result Type: Image"));
}
TEST_F(ValidateImage, QueryFormatSuccess) {
@@ -2676,8 +2788,10 @@ TEST_F(ValidateImage, QueryFormatWrongResultType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be int scalar type: ImageQueryFormat"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Result Type to be int scalar type: ImageQueryFormat"));
}
TEST_F(ValidateImage, QueryFormatNotImage) {
@@ -2690,8 +2804,10 @@ TEST_F(ValidateImage, QueryFormatNotImage) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operand to be of type OpTypeImage: ImageQueryFormat"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected operand to be of type OpTypeImage: ImageQueryFormat"));
}
TEST_F(ValidateImage, QueryOrderSuccess) {
@@ -2712,8 +2828,9 @@ TEST_F(ValidateImage, QueryOrderWrongResultType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be int scalar type: ImageQueryOrder"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Result Type to be int scalar type: ImageQueryOrder"));
}
TEST_F(ValidateImage, QueryOrderNotImage) {
@@ -2726,8 +2843,9 @@ TEST_F(ValidateImage, QueryOrderNotImage) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operand to be of type OpTypeImage: ImageQueryOrder"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected operand to be of type OpTypeImage: ImageQueryOrder"));
}
TEST_F(ValidateImage, QuerySizeLodSuccess) {
@@ -2748,9 +2866,9 @@ TEST_F(ValidateImage, QuerySizeLodWrongResultType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be int scalar or vector type: "
- "ImageQuerySizeLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to be int scalar or vector type: "
+ "ImageQuerySizeLod"));
}
TEST_F(ValidateImage, QuerySizeLodResultTypeWrongSize) {
@@ -2761,8 +2879,10 @@ TEST_F(ValidateImage, QuerySizeLodResultTypeWrongSize) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Result Type has 1 components, but 2 expected: ImageQuerySizeLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Result Type has 1 components, but 2 expected: ImageQuerySizeLod"));
}
TEST_F(ValidateImage, QuerySizeLodNotImage) {
@@ -2775,8 +2895,9 @@ TEST_F(ValidateImage, QuerySizeLodNotImage) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image to be of type OpTypeImage: ImageQuerySizeLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image to be of type OpTypeImage: ImageQuerySizeLod"));
}
TEST_F(ValidateImage, QuerySizeLodWrongImageDim) {
@@ -2787,8 +2908,9 @@ TEST_F(ValidateImage, QuerySizeLodWrongImageDim) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image 'Dim' must be 1D, 2D, 3D or Cube: ImageQuerySizeLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Image 'Dim' must be 1D, 2D, 3D or Cube: ImageQuerySizeLod"));
}
TEST_F(ValidateImage, QuerySizeLodMultisampled) {
@@ -2799,8 +2921,8 @@ TEST_F(ValidateImage, QuerySizeLodMultisampled) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image 'MS' must be 0: ImageQuerySizeLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Image 'MS' must be 0: ImageQuerySizeLod"));
}
TEST_F(ValidateImage, QuerySizeLodWrongLodType) {
@@ -2811,8 +2933,9 @@ TEST_F(ValidateImage, QuerySizeLodWrongLodType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Level of Detail to be int or float scalar: ImageQuerySizeLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Level of Detail to be int or float scalar: "
+ "ImageQuerySizeLod"));
}
TEST_F(ValidateImage, QuerySizeSuccess) {
@@ -2833,9 +2956,9 @@ TEST_F(ValidateImage, QuerySizeWrongResultType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be int scalar or vector type: "
- "ImageQuerySize"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Result Type to be int scalar or vector type: "
+ "ImageQuerySize"));
}
TEST_F(ValidateImage, QuerySizeNotImage) {
@@ -2848,8 +2971,9 @@ TEST_F(ValidateImage, QuerySizeNotImage) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image to be of type OpTypeImage: ImageQuerySize"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image to be of type OpTypeImage: ImageQuerySize"));
}
// TODO(atgoo@github.com) Add more tests for OpQuerySize.
@@ -2889,8 +3013,9 @@ TEST_F(ValidateImage, QueryLodWrongResultType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be float vector type: ImageQueryLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Result Type to be float vector type: ImageQueryLod"));
}
TEST_F(ValidateImage, QueryLodResultTypeWrongSize) {
@@ -2903,8 +3028,9 @@ TEST_F(ValidateImage, QueryLodResultTypeWrongSize) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to have 2 components: ImageQueryLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Result Type to have 2 components: ImageQueryLod"));
}
TEST_F(ValidateImage, QueryLodNotSampledImage) {
@@ -2915,9 +3041,10 @@ TEST_F(ValidateImage, QueryLodNotSampledImage) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image operand to be of type OpTypeSampledImage: "
- "ImageQueryLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image operand to be of type OpTypeSampledImage: "
+ "ImageQueryLod"));
}
TEST_F(ValidateImage, QueryLodWrongDim) {
@@ -2930,8 +3057,9 @@ TEST_F(ValidateImage, QueryLodWrongDim) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image 'Dim' must be 1D, 2D, 3D or Cube: ImageQueryLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Image 'Dim' must be 1D, 2D, 3D or Cube: ImageQueryLod"));
}
TEST_F(ValidateImage, QueryLodWrongCoordinateType) {
@@ -2944,8 +3072,10 @@ TEST_F(ValidateImage, QueryLodWrongCoordinateType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to be float scalar or vector: ImageQueryLod"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Coordinate to be float scalar or vector: ImageQueryLod"));
}
TEST_F(ValidateImage, QueryLodCoordinateSizeTooSmall) {
@@ -2958,9 +3088,10 @@ TEST_F(ValidateImage, QueryLodCoordinateSizeTooSmall) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Coordinate to have at least 2 components, but given only 1: "
- "ImageQueryLod"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected Coordinate to have at least 2 components, "
+ "but given only 1: "
+ "ImageQueryLod"));
}
TEST_F(ValidateImage, QueryLevelsSuccess) {
@@ -2981,8 +3112,10 @@ TEST_F(ValidateImage, QueryLevelsWrongResultType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Result Type to be int scalar type: ImageQueryLevels"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected Result Type to be int scalar type: ImageQueryLevels"));
}
TEST_F(ValidateImage, QueryLevelsNotImage) {
@@ -2995,8 +3128,9 @@ TEST_F(ValidateImage, QueryLevelsNotImage) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected Image to be of type OpTypeImage: ImageQueryLevels"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected Image to be of type OpTypeImage: ImageQueryLevels"));
}
TEST_F(ValidateImage, QueryLevelsWrongDim) {
@@ -3007,8 +3141,9 @@ TEST_F(ValidateImage, QueryLevelsWrongDim) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image 'Dim' must be 1D, 2D, 3D or Cube: ImageQueryLevels"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Image 'Dim' must be 1D, 2D, 3D or Cube: ImageQueryLevels"));
}
TEST_F(ValidateImage, QuerySamplesSuccess) {
@@ -3029,8 +3164,8 @@ TEST_F(ValidateImage, QuerySamplesNot2D) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image 'Dim' must be 2D: ImageQuerySamples"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Image 'Dim' must be 2D: ImageQuerySamples"));
}
TEST_F(ValidateImage, QuerySamplesNotMultisampled) {
@@ -3041,8 +3176,8 @@ TEST_F(ValidateImage, QuerySamplesNotMultisampled) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Image 'MS' must be 1: ImageQuerySamples"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Image 'MS' must be 1: ImageQuerySamples"));
}
TEST_F(ValidateImage, QueryLodWrongExecutionModel) {
@@ -3055,8 +3190,8 @@ TEST_F(ValidateImage, QueryLodWrongExecutionModel) {
CompileSuccessfully(GenerateShaderCode(body, "", "Vertex").c_str());
ASSERT_EQ(SPV_ERROR_INVALID_ID, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "OpImageQueryLod requires Fragment execution model"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("OpImageQueryLod requires Fragment execution model"));
}
TEST_F(ValidateImage, QueryLodWrongExecutionModelWithFunc) {
@@ -3074,8 +3209,8 @@ OpFunctionEnd
CompileSuccessfully(GenerateShaderCode(body, "", "Vertex").c_str());
ASSERT_EQ(SPV_ERROR_INVALID_ID, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "OpImageQueryLod requires Fragment execution model"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("OpImageQueryLod requires Fragment execution model"));
}
TEST_F(ValidateImage, ImplicitLodWrongExecutionModel) {
@@ -3088,8 +3223,9 @@ TEST_F(ValidateImage, ImplicitLodWrongExecutionModel) {
CompileSuccessfully(GenerateShaderCode(body, "", "Vertex").c_str());
ASSERT_EQ(SPV_ERROR_INVALID_ID, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "ImplicitLod instructions require Fragment execution model"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("ImplicitLod instructions require Fragment execution model"));
}
} // anonymous namespace
diff --git a/test/val/val_instructions_test.cpp b/test/val/val_instructions_test.cpp
index 56c25ba1..70f4ae55 100644
--- a/test/val/val_instructions_test.cpp
+++ b/test/val/val_instructions_test.cpp
@@ -79,4 +79,4 @@ INSTANTIATE_TEST_CASE_P(
CASE(DrefExplicitLod, "%float %img %coord %dref Lod %lod"),
}), );
#undef CASE
-}
+} // namespace
diff --git a/test/val/val_layout_test.cpp b/test/val/val_layout_test.cpp
index c6750e16..06ecdc7f 100644
--- a/test/val/val_layout_test.cpp
+++ b/test/val/val_layout_test.cpp
@@ -28,16 +28,16 @@ using std::function;
using std::ostream;
using std::ostream_iterator;
using std::pair;
-using std::stringstream;
using std::string;
+using std::stringstream;
using std::tie;
using std::tuple;
using std::vector;
+using libspirv::spvResultToString;
using ::testing::Eq;
using ::testing::HasSubstr;
using ::testing::StrEq;
-using libspirv::spvResultToString;
using pred_type = function<spv_result_t(int)>;
using ValidateLayout =
@@ -504,7 +504,8 @@ TEST_F(ValidateLayout, ModuleProcessedInvalidIn10) {
)";
CompileSuccessfully(str, SPV_ENV_UNIVERSAL_1_1);
- ASSERT_EQ(SPV_ERROR_INVALID_BINARY, ValidateInstructions(SPV_ENV_UNIVERSAL_1_0));
+ ASSERT_EQ(SPV_ERROR_INVALID_BINARY,
+ ValidateInstructions(SPV_ENV_UNIVERSAL_1_0));
// In a 1.0 environment the binary parse fails before we even get to
// validation. This occurs no matter where the OpModuleProcessed is placed.
EXPECT_THAT(getDiagnosticString(), HasSubstr("Invalid opcode: 330"));
@@ -537,7 +538,8 @@ TEST_F(ValidateLayout, ModuleProcessedBeforeLastNameIsTooEarly) {
)";
CompileSuccessfully(str, SPV_ENV_UNIVERSAL_1_1);
- ASSERT_EQ(SPV_ERROR_INVALID_LAYOUT, ValidateInstructions(SPV_ENV_UNIVERSAL_1_1));
+ ASSERT_EQ(SPV_ERROR_INVALID_LAYOUT,
+ ValidateInstructions(SPV_ENV_UNIVERSAL_1_1));
// By the mechanics of the validator, we assume ModuleProcessed is in the
// right spot, but then that OpName is in the wrong spot.
EXPECT_THAT(getDiagnosticString(),
@@ -555,9 +557,11 @@ TEST_F(ValidateLayout, ModuleProcessedInvalidAfterFirstAnnotation) {
)";
CompileSuccessfully(str, SPV_ENV_UNIVERSAL_1_1);
- ASSERT_EQ(SPV_ERROR_INVALID_LAYOUT, ValidateInstructions(SPV_ENV_UNIVERSAL_1_1));
- EXPECT_THAT(getDiagnosticString(),
- HasSubstr("ModuleProcessed cannot appear in a function declaration"));
+ ASSERT_EQ(SPV_ERROR_INVALID_LAYOUT,
+ ValidateInstructions(SPV_ENV_UNIVERSAL_1_1));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("ModuleProcessed cannot appear in a function declaration"));
}
TEST_F(ValidateLayout, ModuleProcessedInvalidInFunctionBeforeLabel) {
@@ -575,9 +579,11 @@ TEST_F(ValidateLayout, ModuleProcessedInvalidInFunctionBeforeLabel) {
)";
CompileSuccessfully(str, SPV_ENV_UNIVERSAL_1_1);
- ASSERT_EQ(SPV_ERROR_INVALID_LAYOUT, ValidateInstructions(SPV_ENV_UNIVERSAL_1_1));
- EXPECT_THAT(getDiagnosticString(),
- HasSubstr("ModuleProcessed cannot appear in a function declaration"));
+ ASSERT_EQ(SPV_ERROR_INVALID_LAYOUT,
+ ValidateInstructions(SPV_ENV_UNIVERSAL_1_1));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("ModuleProcessed cannot appear in a function declaration"));
}
TEST_F(ValidateLayout, ModuleProcessedInvalidInBasicBlock) {
@@ -595,11 +601,12 @@ TEST_F(ValidateLayout, ModuleProcessedInvalidInBasicBlock) {
)";
CompileSuccessfully(str, SPV_ENV_UNIVERSAL_1_1);
- ASSERT_EQ(SPV_ERROR_INVALID_LAYOUT, ValidateInstructions(SPV_ENV_UNIVERSAL_1_1));
- EXPECT_THAT(getDiagnosticString(),
- HasSubstr("ModuleProcessed cannot appear in a function declaration"));
+ ASSERT_EQ(SPV_ERROR_INVALID_LAYOUT,
+ ValidateInstructions(SPV_ENV_UNIVERSAL_1_1));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("ModuleProcessed cannot appear in a function declaration"));
}
-
// TODO(umar): Test optional instructions
-}
+} // namespace
diff --git a/test/val/val_limits_test.cpp b/test/val/val_limits_test.cpp
index c9e07e7d..791ffa07 100644
--- a/test/val/val_limits_test.cpp
+++ b/test/val/val_limits_test.cpp
@@ -24,9 +24,9 @@
namespace {
+using std::string;
using ::testing::HasSubstr;
using ::testing::MatchesRegex;
-using std::string;
using ValidateLimits = spvtest::ValidateBase<bool>;
@@ -302,8 +302,8 @@ TEST_F(ValidateLimits, CustomizedOpTypeFunctionGood) {
for (int i = 0; i < num_args; ++i) {
spirv << " %1";
}
- spvValidatorOptionsSetUniversalLimit(options_,
- spv_validator_limit_max_function_args, 100u);
+ spvValidatorOptionsSetUniversalLimit(
+ options_, spv_validator_limit_max_function_args, 100u);
CompileSuccessfully(spirv.str());
EXPECT_EQ(SPV_SUCCESS, ValidateInstructions());
}
@@ -318,8 +318,8 @@ TEST_F(ValidateLimits, CustomizedOpTypeFunctionBad) {
for (int i = 0; i < num_args; ++i) {
spirv << " %1";
}
- spvValidatorOptionsSetUniversalLimit(options_,
- spv_validator_limit_max_function_args, 100u);
+ spvValidatorOptionsSetUniversalLimit(
+ options_, spv_validator_limit_max_function_args, 100u);
CompileSuccessfully(spirv.str());
EXPECT_EQ(SPV_ERROR_INVALID_ID, ValidateInstructions());
EXPECT_THAT(getDiagnosticString(),
@@ -526,8 +526,8 @@ TEST_F(ValidateLimits, StructNestingDepthGood) {
%int = OpTypeInt 32 0
%s_depth_1 = OpTypeStruct %int
)";
- for(auto i=2; i<=255; ++i) {
- spirv << "%s_depth_" << i << " = OpTypeStruct %int %s_depth_" << i-1;
+ for (auto i = 2; i <= 255; ++i) {
+ spirv << "%s_depth_" << i << " = OpTypeStruct %int %s_depth_" << i - 1;
spirv << "\n";
}
CompileSuccessfully(spirv.str());
@@ -541,8 +541,8 @@ TEST_F(ValidateLimits, StructNestingDepthBad) {
%int = OpTypeInt 32 0
%s_depth_1 = OpTypeStruct %int
)";
- for(auto i=2; i<=256; ++i) {
- spirv << "%s_depth_" << i << " = OpTypeStruct %int %s_depth_" << i-1;
+ for (auto i = 2; i <= 256; ++i) {
+ spirv << "%s_depth_" << i << " = OpTypeStruct %int %s_depth_" << i - 1;
spirv << "\n";
}
CompileSuccessfully(spirv.str());
diff --git a/test/val/val_logicals_test.cpp b/test/val/val_logicals_test.cpp
index 348b6f2b..8464a216 100644
--- a/test/val/val_logicals_test.cpp
+++ b/test/val/val_logicals_test.cpp
@@ -31,13 +31,13 @@ std::string GenerateShaderCode(
const std::string& body,
const std::string& capabilities_and_extensions = "") {
const std::string capabilities =
-R"(
+ R"(
OpCapability Shader
OpCapability Int64
OpCapability Float64)";
const std::string after_extension_before_body =
-R"(
+ R"(
%ext_inst = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %main "main"
@@ -147,19 +147,19 @@ OpEntryPoint Fragment %main "main"
%main_entry = OpLabel)";
const std::string after_body =
-R"(
+ R"(
OpReturn
OpFunctionEnd)";
return capabilities + capabilities_and_extensions +
- after_extension_before_body + body + after_body;
+ after_extension_before_body + body + after_body;
}
std::string GenerateKernelCode(
const std::string& body,
const std::string& capabilities_and_extensions = "") {
const std::string capabilities =
-R"(
+ R"(
OpCapability Addresses
OpCapability Kernel
OpCapability Linkage
@@ -167,7 +167,7 @@ OpCapability Int64
OpCapability Float64)";
const std::string after_extension_before_body =
-R"(
+ R"(
OpMemoryModel Physical32 OpenCL
%void = OpTypeVoid
%func = OpTypeFunction %void
@@ -249,12 +249,12 @@ OpMemoryModel Physical32 OpenCL
%main_entry = OpLabel)";
const std::string after_body =
-R"(
+ R"(
OpReturn
OpFunctionEnd)";
return capabilities + capabilities_and_extensions +
- after_extension_before_body + body + after_body;
+ after_extension_before_body + body + after_body;
}
TEST_F(ValidateLogicals, OpAnySuccess) {
@@ -275,8 +275,8 @@ TEST_F(ValidateLogicals, OpAnyWrongTypeId) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected bool scalar type as Result Type: Any"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected bool scalar type as Result Type: Any"));
}
TEST_F(ValidateLogicals, OpAnyWrongOperand) {
@@ -286,8 +286,8 @@ TEST_F(ValidateLogicals, OpAnyWrongOperand) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operand to be vector bool: Any"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected operand to be vector bool: Any"));
}
TEST_F(ValidateLogicals, OpIsNanSuccess) {
@@ -310,8 +310,9 @@ TEST_F(ValidateLogicals, OpIsNanWrongTypeId) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected bool scalar or vector type as Result Type: IsNan"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected bool scalar or vector type as Result Type: IsNan"));
}
TEST_F(ValidateLogicals, OpIsNanOperandNotFloat) {
@@ -321,8 +322,9 @@ TEST_F(ValidateLogicals, OpIsNanOperandNotFloat) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operand to be scalar or vector float: IsNan"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected operand to be scalar or vector float: IsNan"));
}
TEST_F(ValidateLogicals, OpIsNanOperandWrongSize) {
@@ -332,9 +334,11 @@ TEST_F(ValidateLogicals, OpIsNanOperandWrongSize) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected vector sizes of Result Type and the operand to be equal: "
- "IsNan"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected vector sizes of Result Type and the operand to be equal: "
+ "IsNan"));
}
TEST_F(ValidateLogicals, OpLessOrGreaterSuccess) {
@@ -357,8 +361,10 @@ TEST_F(ValidateLogicals, OpLessOrGreaterWrongTypeId) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected bool scalar or vector type as Result Type: LessOrGreater"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected bool scalar or vector type as Result Type: LessOrGreater"));
}
TEST_F(ValidateLogicals, OpLessOrGreaterLeftOperandNotFloat) {
@@ -368,8 +374,10 @@ TEST_F(ValidateLogicals, OpLessOrGreaterLeftOperandNotFloat) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operands to be scalar or vector float: LessOrGreater"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected operands to be scalar or vector float: LessOrGreater"));
}
TEST_F(ValidateLogicals, OpLessOrGreaterLeftOperandWrongSize) {
@@ -379,9 +387,11 @@ TEST_F(ValidateLogicals, OpLessOrGreaterLeftOperandWrongSize) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected vector sizes of Result Type and the operands to be equal: "
- "LessOrGreater"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected vector sizes of Result Type and the operands to be equal: "
+ "LessOrGreater"));
}
TEST_F(ValidateLogicals, OpLessOrGreaterOperandsDifferentType) {
@@ -391,9 +401,10 @@ TEST_F(ValidateLogicals, OpLessOrGreaterOperandsDifferentType) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected left and right operands to have the same type: "
- "LessOrGreater"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected left and right operands to have the same type: "
+ "LessOrGreater"));
}
TEST_F(ValidateLogicals, OpFOrdEqualSuccess) {
@@ -416,8 +427,10 @@ TEST_F(ValidateLogicals, OpFOrdEqualWrongTypeId) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected bool scalar or vector type as Result Type: FOrdEqual"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected bool scalar or vector type as Result Type: FOrdEqual"));
}
TEST_F(ValidateLogicals, OpFOrdEqualLeftOperandNotFloat) {
@@ -427,8 +440,9 @@ TEST_F(ValidateLogicals, OpFOrdEqualLeftOperandNotFloat) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operands to be scalar or vector float: FOrdEqual"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected operands to be scalar or vector float: FOrdEqual"));
}
TEST_F(ValidateLogicals, OpFOrdEqualLeftOperandWrongSize) {
@@ -438,9 +452,11 @@ TEST_F(ValidateLogicals, OpFOrdEqualLeftOperandWrongSize) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected vector sizes of Result Type and the operands to be equal: "
- "FOrdEqual"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected vector sizes of Result Type and the operands to be equal: "
+ "FOrdEqual"));
}
TEST_F(ValidateLogicals, OpFOrdEqualOperandsDifferentType) {
@@ -450,9 +466,10 @@ TEST_F(ValidateLogicals, OpFOrdEqualOperandsDifferentType) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected left and right operands to have the same type: "
- "FOrdEqual"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected left and right operands to have the same type: "
+ "FOrdEqual"));
}
TEST_F(ValidateLogicals, OpLogicalEqualSuccess) {
@@ -474,8 +491,10 @@ TEST_F(ValidateLogicals, OpLogicalEqualWrongTypeId) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected bool scalar or vector type as Result Type: LogicalEqual"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected bool scalar or vector type as Result Type: LogicalEqual"));
}
TEST_F(ValidateLogicals, OpLogicalEqualWrongLeftOperand) {
@@ -485,8 +504,9 @@ TEST_F(ValidateLogicals, OpLogicalEqualWrongLeftOperand) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected both operands to be of Result Type: LogicalEqual"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected both operands to be of Result Type: LogicalEqual"));
}
TEST_F(ValidateLogicals, OpLogicalEqualWrongRightOperand) {
@@ -496,8 +516,9 @@ TEST_F(ValidateLogicals, OpLogicalEqualWrongRightOperand) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected both operands to be of Result Type: LogicalEqual"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected both operands to be of Result Type: LogicalEqual"));
}
TEST_F(ValidateLogicals, OpLogicalNotSuccess) {
@@ -519,8 +540,10 @@ TEST_F(ValidateLogicals, OpLogicalNotWrongTypeId) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected bool scalar or vector type as Result Type: LogicalNot"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected bool scalar or vector type as Result Type: LogicalNot"));
}
TEST_F(ValidateLogicals, OpLogicalNotWrongOperand) {
@@ -530,8 +553,8 @@ TEST_F(ValidateLogicals, OpLogicalNotWrongOperand) {
CompileSuccessfully(GenerateKernelCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operand to be of Result Type: LogicalNot"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected operand to be of Result Type: LogicalNot"));
}
TEST_F(ValidateLogicals, OpSelectSuccess) {
@@ -554,8 +577,9 @@ TEST_F(ValidateLogicals, OpSelectWrongTypeId) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected scalar or vector type as Result Type: Select"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected scalar or vector type as Result Type: Select"));
}
TEST_F(ValidateLogicals, OpSelectPointerNoCapability) {
@@ -569,9 +593,11 @@ OpStore %y %f32vec4_1234
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Using pointers with OpSelect requires capability VariablePointers "
- "or VariablePointersStorageBuffer"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Using pointers with OpSelect requires capability VariablePointers "
+ "or VariablePointersStorageBuffer"));
}
TEST_F(ValidateLogicals, OpSelectPointerWithCapability1) {
@@ -617,8 +643,9 @@ TEST_F(ValidateLogicals, OpSelectWrongCondition) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected bool scalar or vector type as condition: Select"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected bool scalar or vector type as condition: Select"));
}
TEST_F(ValidateLogicals, OpSelectWrongConditionDimension) {
@@ -628,9 +655,11 @@ TEST_F(ValidateLogicals, OpSelectWrongConditionDimension) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected vector sizes of Result Type and the condition to be equal: "
- "Select"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected vector sizes of Result Type and the condition to be equal: "
+ "Select"));
}
TEST_F(ValidateLogicals, OpSelectWrongLeftObject) {
@@ -640,8 +669,8 @@ TEST_F(ValidateLogicals, OpSelectWrongLeftObject) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected both objects to be of Result Type: Select"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected both objects to be of Result Type: Select"));
}
TEST_F(ValidateLogicals, OpSelectWrongRightObject) {
@@ -651,8 +680,8 @@ TEST_F(ValidateLogicals, OpSelectWrongRightObject) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected both objects to be of Result Type: Select"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected both objects to be of Result Type: Select"));
}
TEST_F(ValidateLogicals, OpIEqualSuccess) {
@@ -675,8 +704,9 @@ TEST_F(ValidateLogicals, OpIEqualWrongTypeId) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected bool scalar or vector type as Result Type: IEqual"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected bool scalar or vector type as Result Type: IEqual"));
}
TEST_F(ValidateLogicals, OpIEqualLeftOperandNotInt) {
@@ -686,8 +716,9 @@ TEST_F(ValidateLogicals, OpIEqualLeftOperandNotInt) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operands to be scalar or vector int: IEqual"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected operands to be scalar or vector int: IEqual"));
}
TEST_F(ValidateLogicals, OpIEqualLeftOperandWrongSize) {
@@ -697,9 +728,11 @@ TEST_F(ValidateLogicals, OpIEqualLeftOperandWrongSize) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected vector sizes of Result Type and the operands to be equal: "
- "IEqual"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected vector sizes of Result Type and the operands to be equal: "
+ "IEqual"));
}
TEST_F(ValidateLogicals, OpIEqualRightOperandNotInt) {
@@ -709,8 +742,9 @@ TEST_F(ValidateLogicals, OpIEqualRightOperandNotInt) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operands to be scalar or vector int: IEqual"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected operands to be scalar or vector int: IEqual"));
}
TEST_F(ValidateLogicals, OpIEqualDifferentBitWidth) {
@@ -720,8 +754,9 @@ TEST_F(ValidateLogicals, OpIEqualDifferentBitWidth) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected both operands to have the same component bit width: IEqual"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected both operands to have the same component bit "
+ "width: IEqual"));
}
TEST_F(ValidateLogicals, OpUGreaterThanSuccess) {
@@ -746,8 +781,10 @@ TEST_F(ValidateLogicals, OpUGreaterThanWrongTypeId) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected bool scalar or vector type as Result Type: UGreaterThan"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected bool scalar or vector type as Result Type: UGreaterThan"));
}
TEST_F(ValidateLogicals, OpUGreaterThanLeftOperandNotInt) {
@@ -757,8 +794,9 @@ TEST_F(ValidateLogicals, OpUGreaterThanLeftOperandNotInt) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operands to be scalar or vector int: UGreaterThan"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected operands to be scalar or vector int: UGreaterThan"));
}
TEST_F(ValidateLogicals, OpUGreaterThanLeftOperandWrongSize) {
@@ -768,9 +806,11 @@ TEST_F(ValidateLogicals, OpUGreaterThanLeftOperandWrongSize) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected vector sizes of Result Type and the operands to be equal: "
- "UGreaterThan"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected vector sizes of Result Type and the operands to be equal: "
+ "UGreaterThan"));
}
TEST_F(ValidateLogicals, OpUGreaterThanRightOperandNotInt) {
@@ -780,8 +820,9 @@ TEST_F(ValidateLogicals, OpUGreaterThanRightOperandNotInt) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operands to be scalar or vector int: UGreaterThan"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected operands to be scalar or vector int: UGreaterThan"));
}
TEST_F(ValidateLogicals, OpUGreaterThanDifferentBitWidth) {
@@ -791,9 +832,10 @@ TEST_F(ValidateLogicals, OpUGreaterThanDifferentBitWidth) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected both operands to have the same component bit width: "
- "UGreaterThan"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected both operands to have the same component bit width: "
+ "UGreaterThan"));
}
TEST_F(ValidateLogicals, OpSGreaterThanSuccess) {
@@ -818,8 +860,10 @@ TEST_F(ValidateLogicals, OpSGreaterThanWrongTypeId) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected bool scalar or vector type as Result Type: SGreaterThan"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected bool scalar or vector type as Result Type: SGreaterThan"));
}
TEST_F(ValidateLogicals, OpSGreaterThanLeftOperandNotInt) {
@@ -829,8 +873,9 @@ TEST_F(ValidateLogicals, OpSGreaterThanLeftOperandNotInt) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operands to be scalar or vector int: SGreaterThan"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected operands to be scalar or vector int: SGreaterThan"));
}
TEST_F(ValidateLogicals, OpSGreaterThanLeftOperandWrongSize) {
@@ -840,9 +885,11 @@ TEST_F(ValidateLogicals, OpSGreaterThanLeftOperandWrongSize) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected vector sizes of Result Type and the operands to be equal: "
- "SGreaterThan"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr(
+ "Expected vector sizes of Result Type and the operands to be equal: "
+ "SGreaterThan"));
}
TEST_F(ValidateLogicals, OpSGreaterThanRightOperandNotInt) {
@@ -852,8 +899,9 @@ TEST_F(ValidateLogicals, OpSGreaterThanRightOperandNotInt) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected operands to be scalar or vector int: SGreaterThan"));
+ EXPECT_THAT(
+ getDiagnosticString(),
+ HasSubstr("Expected operands to be scalar or vector int: SGreaterThan"));
}
TEST_F(ValidateLogicals, OpSGreaterThanDifferentBitWidth) {
@@ -863,8 +911,9 @@ TEST_F(ValidateLogicals, OpSGreaterThanDifferentBitWidth) {
CompileSuccessfully(GenerateShaderCode(body).c_str());
ASSERT_EQ(SPV_ERROR_INVALID_DATA, ValidateInstructions());
- EXPECT_THAT(getDiagnosticString(), HasSubstr(
- "Expected both operands to have the same component bit width: SGreaterThan"));
+ EXPECT_THAT(getDiagnosticString(),
+ HasSubstr("Expected both operands to have the same component bit "
+ "width: SGreaterThan"));
}
} // anonymous namespace
diff --git a/test/val/val_ssa_test.cpp b/test/val/val_ssa_test.cpp
index 22e94f23..973d4b83 100644
--- a/test/val/val_ssa_test.cpp
+++ b/test/val/val_ssa_test.cpp
@@ -25,8 +25,8 @@
using ::testing::HasSubstr;
using ::testing::MatchesRegex;
-using std::string;
using std::pair;
+using std::string;
using std::stringstream;
namespace {
diff --git a/test/val/val_state_test.cpp b/test/val/val_state_test.cpp
index 2fed5651..ea09cf97 100644
--- a/test/val/val_state_test.cpp
+++ b/test/val/val_state_test.cpp
@@ -47,6 +47,7 @@ class ValidationStateTest : public testing::Test {
spvContextDestroy(context_);
spvValidatorOptionsDestroy(options_);
}
+
protected:
spv_context context_;
spv_validator_options options_;
@@ -121,20 +122,15 @@ TEST_F(ValidationState_HasAnyOfExtensions, SingleCapMask) {
}
TEST_F(ValidationState_HasAnyOfExtensions, MultiCapMask) {
- const auto set1 = ExtensionSet {
- Extension::kSPV_KHR_multiview,
- Extension::kSPV_KHR_16bit_storage
- };
- const auto set2 = ExtensionSet {
- Extension::kSPV_KHR_shader_draw_parameters,
- Extension::kSPV_NV_stereo_view_rendering,
- Extension::kSPV_KHR_shader_ballot
- };
+ const auto set1 = ExtensionSet{Extension::kSPV_KHR_multiview,
+ Extension::kSPV_KHR_16bit_storage};
+ const auto set2 = ExtensionSet{Extension::kSPV_KHR_shader_draw_parameters,
+ Extension::kSPV_NV_stereo_view_rendering,
+ Extension::kSPV_KHR_shader_ballot};
EXPECT_FALSE(state_.HasAnyOfExtensions(set1));
EXPECT_FALSE(state_.HasAnyOfExtensions(set2));
state_.RegisterExtension(Extension::kSPV_KHR_multiview);
EXPECT_TRUE(state_.HasAnyOfExtensions(set1));
EXPECT_FALSE(state_.HasAnyOfExtensions(set2));
}
-
-}
+} // namespace
diff --git a/test/val/val_storage_test.cpp b/test/val/val_storage_test.cpp
index 579c3813..02ef6f58 100644
--- a/test/val/val_storage_test.cpp
+++ b/test/val/val_storage_test.cpp
@@ -175,4 +175,4 @@ TEST_F(ValidateStorage, GenericVariableInsideFunction) {
EXPECT_THAT(getDiagnosticString(),
HasSubstr("OpVariable storage class cannot be Generic"));
}
-}
+} // namespace
diff --git a/test/val/val_type_unique_test.cpp b/test/val/val_type_unique_test.cpp
index 8bca1f03..ad16f246 100644
--- a/test/val/val_type_unique_test.cpp
+++ b/test/val/val_type_unique_test.cpp
@@ -91,8 +91,8 @@ OpFunctionEnd
// Returns expected error string if |opcode| produces a duplicate type
// declaration.
string GetErrorString(SpvOp opcode) {
- return "Duplicate non-aggregate type declarations are not allowed. Opcode: "
- + std::string(spvOpcodeString(opcode));
+ return "Duplicate non-aggregate type declarations are not allowed. Opcode: " +
+ std::string(spvOpcodeString(opcode));
}
TEST_F(ValidateTypeUnique, success) {