vk_buffer_cache: Respect max vertex bindings in BindVertexBuffers (#11471)
This commit is contained in:
		@@ -529,17 +529,20 @@ void BufferCacheRuntime::BindVertexBuffers(VideoCommon::HostBindings<Buffer>& bi
 | 
			
		||||
        buffer_handles.push_back(handle);
 | 
			
		||||
    }
 | 
			
		||||
    if (device.IsExtExtendedDynamicStateSupported()) {
 | 
			
		||||
        scheduler.Record([bindings_ = std::move(bindings),
 | 
			
		||||
        scheduler.Record([this, bindings_ = std::move(bindings),
 | 
			
		||||
                          buffer_handles_ = std::move(buffer_handles)](vk::CommandBuffer cmdbuf) {
 | 
			
		||||
            cmdbuf.BindVertexBuffers2EXT(bindings_.min_index,
 | 
			
		||||
                                         bindings_.max_index - bindings_.min_index,
 | 
			
		||||
                                         std::min(bindings_.max_index - bindings_.min_index,
 | 
			
		||||
                                                  device.GetMaxVertexInputBindings()),
 | 
			
		||||
                                         buffer_handles_.data(), bindings_.offsets.data(),
 | 
			
		||||
                                         bindings_.sizes.data(), bindings_.strides.data());
 | 
			
		||||
        });
 | 
			
		||||
    } else {
 | 
			
		||||
        scheduler.Record([bindings_ = std::move(bindings),
 | 
			
		||||
        scheduler.Record([this, bindings_ = std::move(bindings),
 | 
			
		||||
                          buffer_handles_ = std::move(buffer_handles)](vk::CommandBuffer cmdbuf) {
 | 
			
		||||
            cmdbuf.BindVertexBuffers(bindings_.min_index, bindings_.max_index - bindings_.min_index,
 | 
			
		||||
            cmdbuf.BindVertexBuffers(bindings_.min_index,
 | 
			
		||||
                                     std::min(bindings_.max_index - bindings_.min_index,
 | 
			
		||||
                                              device.GetMaxVertexInputBindings()),
 | 
			
		||||
                                     buffer_handles_.data(), bindings_.offsets.data());
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user