Module: vkd3d Branch: master Commit: 535d4a78b153de25e114096272de5ef12d4e1dd7 URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=535d4a78b153de25e1140962...
Author: Conor McCarthy cmccarthy@codeweavers.com Date: Wed Nov 24 00:41:33 2021 +1000
vkd3d-shader/spirv: Use runtime descriptor arrays.
Runtime descriptor arrays should be used for descriptor bindings with a variable count.
Support for SpvCapabilityRuntimeDescriptorArrayEXT is required by the Vulkan spec as part of descriptor indexing support.
The current implementation depends on a separate array declaration for each range because binding_base_idx is stored in the array data. This occurs in practice because binding.count is always different. Use of runtime arrays eliminates the count from the key, so binding_base_idx must be separated from the array data.
Signed-off-by: Conor McCarthy cmccarthy@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
libs/vkd3d-shader/spirv.c | 59 ++++++++++++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 24 deletions(-)
Diff: https://source.winehq.org/git/vkd3d.git/?a=commitdiff;h=535d4a78b153de25e114...