20 std::shared_ptr<Context> copy = context;
21 auto cmd_buffer = context->CreateCommandBuffer();
26 std::shared_ptr<RenderPass> render_pass =
27 cmd_buffer->CreateRenderPass(
target);
31 EXPECT_EQ(std::count(called_functions->begin(), called_functions->end(),
32 "vkCmdSetStencilReference"),
36 render_pass->SetStencilReference(0);
37 render_pass->SetStencilReference(0);
38 render_pass->SetStencilReference(0);
41 EXPECT_EQ(std::count(called_functions->begin(), called_functions->end(),
42 "vkCmdSetStencilReference"),
46 render_pass->SetStencilReference(1);
48 EXPECT_EQ(std::count(called_functions->begin(), called_functions->end(),
49 "vkCmdSetStencilReference"),
58 auto cmd_buffer = context->CreateCommandBuffer();
64 std::shared_ptr<RenderPass> render_pass =
65 cmd_buffer->CreateRenderPass(
target);
70 VkCommandBuffer raw_cmd_buffer =
72 const std::vector<VkViewport>& recorded =
74 ASSERT_EQ(recorded.size(), 1u);
81 ASSERT_EQ(recorded.size(), 2u);
82 const VkViewport& vp = recorded[1];
83 EXPECT_FLOAT_EQ(vp.x, 25.0f);
86 EXPECT_FLOAT_EQ(vp.y, 90.0f);
87 EXPECT_FLOAT_EQ(vp.width, 50.0f);
88 EXPECT_FLOAT_EQ(vp.height, -80.0f);
89 EXPECT_FLOAT_EQ(vp.minDepth, 0.25f);
90 EXPECT_FLOAT_EQ(vp.maxDepth, 0.75f);
std::shared_ptr< ContextVK > Build()
Create a Vulkan context with Vulkan functions mocked. The caller is given a chance to tinker on the s...