tests/shader_runner_metal: Unify the UAV and TEXTURE cases when computing descriptor bindings.

This commit is contained in:
Giovanni Mascellani
2025-10-20 22:37:27 +02:00
committed by Henri Verbeet
parent 59b87c769a
commit 82619e81c3
Notes: Henri Verbeet 2025-10-30 20:00:07 +01:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1757

View File

@@ -434,24 +434,12 @@ static bool compile_shader(struct metal_runner *runner, enum shader_type type, s
switch (resource->r.desc.type)
{
case RESOURCE_TYPE_TEXTURE:
binding = &bindings[interface_info.binding_count];
binding->type = VKD3D_SHADER_DESCRIPTOR_TYPE_SRV;
binding->register_space = 0;
binding->register_index = resource->r.desc.slot;
binding->shader_visibility = VKD3D_SHADER_VISIBILITY_ALL;
if (resource->r.desc.dimension == RESOURCE_DIMENSION_BUFFER)
binding->flags = VKD3D_SHADER_BINDING_FLAG_BUFFER;
else
binding->flags = VKD3D_SHADER_BINDING_FLAG_IMAGE;
binding->binding.set = 0;
binding->binding.binding = interface_info.binding_count;
binding->binding.count = 1;
++interface_info.binding_count;
break;
case RESOURCE_TYPE_UAV:
binding = &bindings[interface_info.binding_count];
binding->type = VKD3D_SHADER_DESCRIPTOR_TYPE_UAV;
if (resource->r.desc.type == RESOURCE_TYPE_UAV)
binding->type = VKD3D_SHADER_DESCRIPTOR_TYPE_UAV;
else
binding->type = VKD3D_SHADER_DESCRIPTOR_TYPE_SRV;
binding->register_space = 0;
binding->register_index = resource->r.desc.slot;
binding->shader_visibility = VKD3D_SHADER_VISIBILITY_ALL;