Add support for VK_KHR_shader_fma#864
Conversation
|
The vulkan SDK we are using is too old. We need a newer one, but the action we are using does not seem to be able to get |
|
Using
|
When a program has multiple entry points, and only a subset of them use image/sampler metadata, the SPIR-V shader declares a larger push constant block that accommodates all potential metadata across the program. Previously, the push constant range in the pipeline layout was calculated per entry point in `cvk_entry_point::init()`. This resulted in a mismatch between the declared SPIR-V push constant block size and the pipeline layout's push constant range size on entry points without metadata usage, triggering Vulkan validation layer errors. This commit resolves the issue by: * Moving the complete push constant range calculation from `cvk_entry_point` to `cvk_program::prepare_push_constant_range()`. * Consolidating all potential push constant sources (binary constants, push constant kernel arguments, image metadata, and sampler metadata) upfront across the entire program. * Ensuring the pipeline layout's push constant range consistently covers the maximum declared SPIR-V block size across all entry points. * Updating the POD buffer size assertion in `create_pod_buffer()` to precisely match `m_entry_point->pod_buffer_size()`.
This reverts commit e532b05.
|
It seems that on Note that while that PR is trying to add support for |
|
Addressing independent fixes (needed for VK_KHR_shader_fma) here: |
|
Hum, |
No description provided.