diff --git a/src/video_core/renderer_metal/mtl_graphics_pipeline.cpp b/src/video_core/renderer_metal/mtl_graphics_pipeline.cpp index d7ba25aa18..2e2e1d926d 100644 --- a/src/video_core/renderer_metal/mtl_graphics_pipeline.cpp +++ b/src/video_core/renderer_metal/mtl_graphics_pipeline.cpp @@ -167,14 +167,18 @@ void GraphicsPipeline::Configure(bool is_indexed) { const size_t& view_index{all_views[stage].view_index}; const size_t& sampler_index{all_samplers[stage].sampler_index}; - texture_cache.FillGraphicsImageViews(std::span(views.data(), view_index)); + // Buffers + buffer_cache.BindHostStageBuffers(stage); + // Textures + texture_cache.FillGraphicsImageViews(std::span(views.data(), view_index)); for (u8 i = 0; i < view_index; i++) { const VideoCommon::ImageViewInOut& view{views[i]}; ImageView& image_view{texture_cache.GetImageView(view.id)}; command_recorder.SetTexture(stage, image_view.GetHandle(), i); } + // Samplers for (u8 i = 0; i < sampler_index; i++) { const VideoCommon::SamplerId& sampler_id{samplers[i]}; Sampler& sampler{texture_cache.GetSampler(sampler_id)};