diff --git a/src/Magnum/Vk/Test/PipelineVkTest.cpp b/src/Magnum/Vk/Test/PipelineVkTest.cpp index 4e7226913..2bc5f0534 100644 --- a/src/Magnum/Vk/Test/PipelineVkTest.cpp +++ b/src/Magnum/Vk/Test/PipelineVkTest.cpp @@ -271,42 +271,18 @@ void PipelineVkTest::constructCompute() { } void PipelineVkTest::constructMove() { - RenderPass renderPass{device(), RenderPassCreateInfo{} - .setAttachments({ - AttachmentDescription{PixelFormat::RGBA8Unorm, - AttachmentLoadOperation::Clear, - AttachmentStoreOperation::Store, - ImageLayout::Undefined, - ImageLayout::ColorAttachment} - }) - .addSubpass(SubpassDescription{}.setColorAttachments({ - AttachmentReference{0, ImageLayout::ColorAttachment} - })) - }; - - /* Not sure if this is really needed, but the shader needs those inputs so - playing it safe */ - MeshLayout meshLayout{MeshPrimitive::Triangles}; - meshLayout - .addBinding(0, 2*4*4) - .addAttribute(0, 0, Vk::VertexFormat::Vector4, 0) - .addAttribute(1, 0, Vk::VertexFormat::Vector4, 4*4); - PipelineLayout pipelineLayout{device(), PipelineLayoutCreateInfo{}}; Shader shader{device(), ShaderCreateInfo{ - Utility::Directory::read(Utility::Directory::join(VK_TEST_DIR, "triangle-shaders.spv")) + Utility::Directory::read(Utility::Directory::join(VK_TEST_DIR, "compute-noop.spv")) }}; ShaderSet shaderSet; - shaderSet - .addShader(ShaderStage::Vertex, shader, "ver"_s) - .addShader(ShaderStage::Fragment, shader, "fra"_s); + shaderSet.addShader(ShaderStage::Compute, shader, "main"_s); - Pipeline a{device(), RasterizationPipelineCreateInfo{ - shaderSet, meshLayout, pipelineLayout, renderPass, 0, 1} - .setViewport({{}, {200, 200}}) - }; + Pipeline a{device(), ComputePipelineCreateInfo{ + shaderSet, pipelineLayout + }}; VkPipeline handle = a.handle(); Pipeline b = std::move(a); @@ -326,42 +302,18 @@ void PipelineVkTest::constructMove() { } void PipelineVkTest::wrap() { - RenderPass renderPass{device(), RenderPassCreateInfo{} - .setAttachments({ - AttachmentDescription{PixelFormat::RGBA8Unorm, - AttachmentLoadOperation::Clear, - AttachmentStoreOperation::Store, - ImageLayout::Undefined, - ImageLayout::ColorAttachment} - }) - .addSubpass(SubpassDescription{}.setColorAttachments({ - AttachmentReference{0, ImageLayout::ColorAttachment} - })) - }; - - /* Not sure if this is really needed, but the shader needs those inputs so - playing it safe */ - MeshLayout meshLayout{MeshPrimitive::Triangles}; - meshLayout - .addBinding(0, 2*4*4) - .addAttribute(0, 0, Vk::VertexFormat::Vector4, 0) - .addAttribute(1, 0, Vk::VertexFormat::Vector4, 4*4); - PipelineLayout pipelineLayout{device(), PipelineLayoutCreateInfo{}}; Shader shader{device(), ShaderCreateInfo{ - Utility::Directory::read(Utility::Directory::join(VK_TEST_DIR, "triangle-shaders.spv")) + Utility::Directory::read(Utility::Directory::join(VK_TEST_DIR, "compute-noop.spv")) }}; ShaderSet shaderSet; - shaderSet - .addShader(ShaderStage::Vertex, shader, "ver"_s) - .addShader(ShaderStage::Fragment, shader, "fra"_s); + shaderSet.addShader(ShaderStage::Compute, shader, "main"_s); VkPipeline pipeline{}; - CORRADE_COMPARE(Result(device()->CreateGraphicsPipelines(device(), {}, 1, - RasterizationPipelineCreateInfo{shaderSet, meshLayout, pipelineLayout, renderPass, 0, 1} - .setViewport({{}, {200, 200}}), + CORRADE_COMPARE(Result(device()->CreateComputePipelines(device(), {}, 1, + ComputePipelineCreateInfo{shaderSet, pipelineLayout}, nullptr, &pipeline)), Result::Success); auto wrapped = Pipeline::wrap(device(), pipeline, HandleFlag::DestroyOnDestruction);