|
|
@ -564,7 +564,7 @@ void BufferCacheRuntime::BindVertexBuffer(u32 index, VkBuffer buffer, u32 offset |
|
|
if (index >= device.GetMaxVertexInputBindings()) { |
|
|
if (index >= device.GetMaxVertexInputBindings()) { |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
if (device.IsExtExtendedDynamicStateSupported() && !vertex_input_dynamic_state_active) { |
|
|
|
|
|
|
|
|
if (device.IsExtExtendedDynamicStateSupported()) { |
|
|
scheduler.Record([index, buffer, offset, size, stride](vk::CommandBuffer cmdbuf) { |
|
|
scheduler.Record([index, buffer, offset, size, stride](vk::CommandBuffer cmdbuf) { |
|
|
const VkDeviceSize vk_offset = buffer != VK_NULL_HANDLE ? offset : 0; |
|
|
const VkDeviceSize vk_offset = buffer != VK_NULL_HANDLE ? offset : 0; |
|
|
const VkDeviceSize vk_size = buffer != VK_NULL_HANDLE ? size : VK_WHOLE_SIZE; |
|
|
const VkDeviceSize vk_size = buffer != VK_NULL_HANDLE ? size : VK_WHOLE_SIZE; |
|
|
@ -604,7 +604,7 @@ void BufferCacheRuntime::BindVertexBuffers(VideoCommon::HostBindings<Buffer>& bi |
|
|
if (binding_count == 0) { |
|
|
if (binding_count == 0) { |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
if (device.IsExtExtendedDynamicStateSupported() && !vertex_input_dynamic_state_active) { |
|
|
|
|
|
|
|
|
if (device.IsExtExtendedDynamicStateSupported()) { |
|
|
scheduler.Record([bindings_ = std::move(bindings), buffer_handles_ = std::move(buffer_handles), binding_count](vk::CommandBuffer cmdbuf) { |
|
|
scheduler.Record([bindings_ = std::move(bindings), buffer_handles_ = std::move(buffer_handles), binding_count](vk::CommandBuffer cmdbuf) { |
|
|
cmdbuf.BindVertexBuffers2EXT(bindings_.min_index, binding_count, buffer_handles_.data(), bindings_.offsets.data(), bindings_.sizes.data(), bindings_.strides.data()); |
|
|
cmdbuf.BindVertexBuffers2EXT(bindings_.min_index, binding_count, buffer_handles_.data(), bindings_.offsets.data(), bindings_.sizes.data(), bindings_.strides.data()); |
|
|
}); |
|
|
}); |
|
|
|