Modify get_resource_array_size() to retrieve size of descriptors in an argument buffer from resource_bindings (reversing change made in b236352).
Retrieve size of runtime array from get_resource_array_size().
@HansKristian-Work This PR reverses the b236352 commit from PR #2329. It was not clear why the restriction from that commit is required (what is the ABI referenced there?), and it means that variables held within an argument buffer descriptor set cannot have their sizes established by the app. This is particularly troublesome for SPIR-V runtime arrays, whose size must be set by the app.
Several hundred CTS tests use a runtime array in SPIR-V to read from a fixed-size array defined in a Vulkan descriptor set.
If the restriction in b236352 is still required, perhaps this PR could add a parameter to msl_options to control when is it required.
get_resource_array_size()
to retrieve size of descriptors in an argument buffer from resource_bindings (reversing change made in b236352).get_resource_array_size()
.@HansKristian-Work This PR reverses the b236352 commit from PR #2329. It was not clear why the restriction from that commit is required (what is the ABI referenced there?), and it means that variables held within an argument buffer descriptor set cannot have their sizes established by the app. This is particularly troublesome for SPIR-V runtime arrays, whose size must be set by the app.
Several hundred CTS tests use a runtime array in SPIR-V to read from a fixed-size array defined in a Vulkan descriptor set.
If the restriction in b236352 is still required, perhaps this PR could add a parameter to
msl_options
to control when is it required.