diff --git a/app/src/main/cpp/skyline/gpu/interconnect/maxwell_3d/state_updater.h b/app/src/main/cpp/skyline/gpu/interconnect/maxwell_3d/state_updater.h index fee34110..90a8b846 100644 --- a/app/src/main/cpp/skyline/gpu/interconnect/maxwell_3d/state_updater.h +++ b/app/src/main/cpp/skyline/gpu/interconnect/maxwell_3d/state_updater.h @@ -230,6 +230,15 @@ namespace skyline::gpu::interconnect::maxwell3d { }; using SetDescriptorSetWithUpdateCmd = CmdHolder; + struct SetPipelineCmdImpl { + void Record(GPU &gpu, vk::raii::CommandBuffer &commandBuffer) { + commandBuffer.bindPipeline(vk::PipelineBindPoint::eGraphics, pipeline); + } + + vk::Pipeline pipeline; + }; + using SetPipelineCmd = CmdHolder; + /** * @brief Single-use helper for recording a batch of state updates into a command buffer */ @@ -413,5 +422,11 @@ namespace skyline::gpu::interconnect::maxwell3d { .dstSet = dstSet, }); } + + void SetPipeline(vk::Pipeline pipeline) { + AppendCmd({ + .pipeline = pipeline, + }); + } }; }