From 671fbfea7dc62f0c1af8e0c38562a781c52185b9 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Mon, 26 May 2025 13:10:03 +0200 Subject: [PATCH] vkd3d-shader/msl: Ensure we have a non-NULL "resource_type_info" pointer in msl_ld(). Since we're going to dereference it. --- libs/vkd3d-shader/msl.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/libs/vkd3d-shader/msl.c b/libs/vkd3d-shader/msl.c index d354c7efc..36ab80d3c 100644 --- a/libs/vkd3d-shader/msl.c +++ b/libs/vkd3d-shader/msl.c @@ -763,16 +763,13 @@ static void msl_ld(struct msl_generator *gen, const struct vkd3d_shader_instruct data_type = VKD3D_DATA_FLOAT; } - if ((resource_type_info = msl_get_resource_type_info(resource_type))) - { - coord_mask = vkd3d_write_mask_from_component_count(resource_type_info->read_coord_size); - } - else + if (!(resource_type_info = msl_get_resource_type_info(resource_type))) { msl_compiler_error(gen, VKD3D_SHADER_ERROR_MSL_INTERNAL, "Internal compiler error: Unhandled resource type %#x.", resource_type); - coord_mask = vkd3d_write_mask_from_component_count(2); + resource_type_info = msl_get_resource_type_info(VKD3D_SHADER_RESOURCE_TEXTURE_2D); } + coord_mask = vkd3d_write_mask_from_component_count(resource_type_info->read_coord_size); if (!(binding = msl_get_srv_binding(gen, resource_space, resource_idx, resource_type))) {