mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-10 05:28:56 +02:00
[vulkan] Dead code removal from VertexInputDynamicState
This commit is contained in:
parent
9eacaf2444
commit
2081d659d2
3 changed files with 14 additions and 37 deletions
|
|
@ -564,26 +564,14 @@ void BufferCacheRuntime::BindVertexBuffer(u32 index, VkBuffer buffer, u32 offset
|
||||||
if (index >= device.GetMaxVertexInputBindings()) {
|
if (index >= device.GetMaxVertexInputBindings()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const bool use_dynamic_vertex_input_binding_stride =
|
if (!device.HasNullDescriptor() && buffer == VK_NULL_HANDLE) {
|
||||||
device.IsExtExtendedDynamicStateSupported() &&
|
ReserveNullBuffer();
|
||||||
use_vertex_input_binding_stride_dynamic_state;
|
buffer = *null_buffer;
|
||||||
if (use_dynamic_vertex_input_binding_stride) {
|
offset = 0;
|
||||||
scheduler.Record([index, buffer, offset, size, stride](vk::CommandBuffer cmdbuf) {
|
|
||||||
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_stride = stride;
|
|
||||||
cmdbuf.BindVertexBuffers2EXT(index, 1, &buffer, &vk_offset, &vk_size, &vk_stride);
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
if (!device.HasNullDescriptor() && buffer == VK_NULL_HANDLE) {
|
|
||||||
ReserveNullBuffer();
|
|
||||||
buffer = *null_buffer;
|
|
||||||
offset = 0;
|
|
||||||
}
|
|
||||||
scheduler.Record([index, buffer, offset](vk::CommandBuffer cmdbuf) {
|
|
||||||
cmdbuf.BindVertexBuffer(index, buffer, offset);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
scheduler.Record([index, buffer, offset](vk::CommandBuffer cmdbuf) {
|
||||||
|
cmdbuf.BindVertexBuffer(index, buffer, offset);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void BufferCacheRuntime::BindVertexBuffers(VideoCommon::HostBindings<Buffer>& bindings) {
|
void BufferCacheRuntime::BindVertexBuffers(VideoCommon::HostBindings<Buffer>& bindings) {
|
||||||
|
|
@ -607,15 +595,12 @@ void BufferCacheRuntime::BindVertexBuffers(VideoCommon::HostBindings<Buffer>& bi
|
||||||
if (binding_count == 0) {
|
if (binding_count == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (device.IsExtExtendedDynamicStateSupported()) {
|
scheduler.Record([bindings_ = std::move(bindings),
|
||||||
scheduler.Record([bindings_ = std::move(bindings), buffer_handles_ = std::move(buffer_handles), binding_count](vk::CommandBuffer cmdbuf) {
|
buffer_handles_ = std::move(buffer_handles),
|
||||||
cmdbuf.BindVertexBuffers2EXT(bindings_.min_index, binding_count, buffer_handles_.data(), bindings_.offsets.data(), bindings_.sizes.data(), bindings_.strides.data());
|
binding_count](vk::CommandBuffer cmdbuf) {
|
||||||
});
|
cmdbuf.BindVertexBuffers(bindings_.min_index, binding_count, buffer_handles_.data(),
|
||||||
} else {
|
bindings_.offsets.data());
|
||||||
scheduler.Record([bindings_ = std::move(bindings), buffer_handles_ = std::move(buffer_handles), binding_count](vk::CommandBuffer cmdbuf) {
|
});
|
||||||
cmdbuf.BindVertexBuffers(bindings_.min_index, binding_count, buffer_handles_.data(), bindings_.offsets.data());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BufferCacheRuntime::BindTransformFeedbackBuffer(u32 index, VkBuffer buffer, u32 offset,
|
void BufferCacheRuntime::BindTransformFeedbackBuffer(u32 index, VkBuffer buffer, u32 offset,
|
||||||
|
|
|
||||||
|
|
@ -127,9 +127,6 @@ public:
|
||||||
|
|
||||||
void BindVertexBuffers(VideoCommon::HostBindings<Buffer>& bindings);
|
void BindVertexBuffers(VideoCommon::HostBindings<Buffer>& bindings);
|
||||||
|
|
||||||
void SetUseVertexInputBindingStrideDynamicState(bool enabled) {
|
|
||||||
use_vertex_input_binding_stride_dynamic_state = enabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
void BindTransformFeedbackBuffer(u32 index, VkBuffer buffer, u32 offset, u32 size);
|
void BindTransformFeedbackBuffer(u32 index, VkBuffer buffer, u32 offset, u32 size);
|
||||||
|
|
||||||
|
|
@ -187,8 +184,6 @@ private:
|
||||||
std::unique_ptr<Uint8Pass> uint8_pass;
|
std::unique_ptr<Uint8Pass> uint8_pass;
|
||||||
QuadIndexedPass quad_index_pass;
|
QuadIndexedPass quad_index_pass;
|
||||||
|
|
||||||
bool use_vertex_input_binding_stride_dynamic_state = true;
|
|
||||||
|
|
||||||
bool limit_dynamic_storage_buffers = false;
|
bool limit_dynamic_storage_buffers = false;
|
||||||
u32 max_dynamic_storage_buffers = (std::numeric_limits<u32>::max)();
|
u32 max_dynamic_storage_buffers = (std::numeric_limits<u32>::max)();
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -462,7 +462,6 @@ bool GraphicsPipeline::ConfigureImpl(bool is_indexed) {
|
||||||
bind_stage_info(4);
|
bind_stage_info(4);
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer_cache.runtime.SetUseVertexInputBindingStrideDynamicState(UsesExtendedDynamicState());
|
|
||||||
buffer_cache.UpdateGraphicsBuffers(is_indexed);
|
buffer_cache.UpdateGraphicsBuffers(is_indexed);
|
||||||
buffer_cache.BindHostGeometryBuffers(is_indexed);
|
buffer_cache.BindHostGeometryBuffers(is_indexed);
|
||||||
|
|
||||||
|
|
@ -910,8 +909,6 @@ void GraphicsPipeline::MakePipeline(VkRenderPass render_pass) {
|
||||||
VK_DYNAMIC_STATE_STENCIL_OP_EXT,
|
VK_DYNAMIC_STATE_STENCIL_OP_EXT,
|
||||||
};
|
};
|
||||||
dynamic_states.insert(dynamic_states.end(), extended.begin(), extended.end());
|
dynamic_states.insert(dynamic_states.end(), extended.begin(), extended.end());
|
||||||
|
|
||||||
dynamic_states.push_back(VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT);
|
|
||||||
} else {
|
} else {
|
||||||
dynamic_states.push_back(VK_DYNAMIC_STATE_VIEWPORT);
|
dynamic_states.push_back(VK_DYNAMIC_STATE_VIEWPORT);
|
||||||
dynamic_states.push_back(VK_DYNAMIC_STATE_SCISSOR);
|
dynamic_states.push_back(VK_DYNAMIC_STATE_SCISSOR);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue