| 639 | Values(true), Values(None, Volatile), Values(TestResult()))); |
| 640 | |
| 641 | TEST_P(VulkanMemorySemantics, Case) { |
| 642 | const uint32_t semantics = std::get<0>(GetParam()) | std::get<1>(GetParam()) | |
| 643 | std::get<2>(GetParam()) | std::get<3>(GetParam()) | |
| 644 | std::get<4>(GetParam()); |
| 645 | const Operand operand = std::get<5>(GetParam()); |
| 646 | const TestResult& result = std::get<6>(GetParam()); |
| 647 | const std::string instruction = GenerateInstruction(operand); |
| 648 | |
| 649 | CompileSuccessfully(GenerateVulkanCode(instruction, semantics), |
| 650 | SPV_ENV_VULKAN_1_4); |
| 651 | ASSERT_EQ(result.result, ValidateInstructions(SPV_ENV_VULKAN_1_4)); |
| 652 | if (result.vuid) { |
| 653 | EXPECT_THAT(getDiagnosticString(), AnyVUID(result.vuid)); |
| 654 | } |
| 655 | if (result.error) { |
| 656 | EXPECT_THAT(getDiagnosticString(), HasSubstr(result.error)); |
| 657 | } |
| 658 | } |
| 659 | |
| 660 | TEST_P(VulkanUnequalMemorySemantics, Case) { |
| 661 | const uint32_t equal_volatile = std::get<9>(GetParam()); |
nothing calls this directly
no test coverage detected