Previously, UpdateVertexInput() was always called when
has_dynamic_vertex_input was true, even if the current graphics pipeline
was not created with VK_DYNAMIC_STATE_VERTEX_INPUT_EXT. This could lead
to unnecessary or invalid state updates.
This change:
- Adds GraphicsPipeline::HasDynamicVertexInput() to check whether the
pipeline was created with dynamic vertex input enabled.
- Calls UpdateVertexInput() only when the current pipeline supports
VK_DYNAMIC_STATE_VERTEX_INPUT_EXT.
This ensures vertex input state updates are applied only when valid,
improving correctness and preventing redundant updates.