diff --git a/patches/vkd3d-latest/0001-Updated-vkd3d-to-39391230d27d58f4e7e8786ba32a0ca133b.patch b/patches/vkd3d-latest/0001-Updated-vkd3d-to-39391230d27d58f4e7e8786ba32a0ca133b.patch index 14b6924c..22eaa530 100644 --- a/patches/vkd3d-latest/0001-Updated-vkd3d-to-39391230d27d58f4e7e8786ba32a0ca133b.patch +++ b/patches/vkd3d-latest/0001-Updated-vkd3d-to-39391230d27d58f4e7e8786ba32a0ca133b.patch @@ -1,4 +1,4 @@ -From e3af0db8f4cb14ce0592fdbb9b3a2ec314daf7ef Mon Sep 17 00:00:00 2001 +From a25a7eb8134bf1f6c060662e622facfaf18e6d83 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Mon, 26 May 2025 07:03:34 +1000 Subject: [PATCH] Updated vkd3d to 39391230d27d58f4e7e8786ba32a0ca133b28fc0. diff --git a/patches/vkd3d-latest/0002-Updated-vkd3d-to-74ebd4621f3177f45ce22512019ee968ec4.patch b/patches/vkd3d-latest/0002-Updated-vkd3d-to-74ebd4621f3177f45ce22512019ee968ec4.patch index 3799bcef..0d852dae 100644 --- a/patches/vkd3d-latest/0002-Updated-vkd3d-to-74ebd4621f3177f45ce22512019ee968ec4.patch +++ b/patches/vkd3d-latest/0002-Updated-vkd3d-to-74ebd4621f3177f45ce22512019ee968ec4.patch @@ -1,4 +1,4 @@ -From 82311f84ad8344655c3649f05d002092fb88df6b Mon Sep 17 00:00:00 2001 +From 7061e3c9a573dde01a402de9ab32121b32d168a5 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 5 Nov 2025 10:32:36 +1100 Subject: [PATCH] Updated vkd3d to 74ebd4621f3177f45ce22512019ee968ec400f4d. diff --git a/patches/vkd3d-latest/0003-Updated-vkd3d-to-1569bb3fb8c745d895ad555da1de5e6a2a8.patch b/patches/vkd3d-latest/0003-Updated-vkd3d-to-1569bb3fb8c745d895ad555da1de5e6a2a8.patch index 1b57e040..85cf00f9 100644 --- a/patches/vkd3d-latest/0003-Updated-vkd3d-to-1569bb3fb8c745d895ad555da1de5e6a2a8.patch +++ b/patches/vkd3d-latest/0003-Updated-vkd3d-to-1569bb3fb8c745d895ad555da1de5e6a2a8.patch @@ -1,4 +1,4 @@ -From 96fcc9490766c82944e09eb5d549386679236bd9 Mon Sep 17 00:00:00 2001 +From b582077d7b505c05312b523d03f2ac3581efc450 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Tue, 11 Nov 2025 08:00:39 +1100 Subject: [PATCH] Updated vkd3d to 1569bb3fb8c745d895ad555da1de5e6a2a846218. diff --git a/patches/vkd3d-latest/0004-Updated-vkd3d-to-7f377879fc526dfb69966ed1672d3036e80.patch b/patches/vkd3d-latest/0004-Updated-vkd3d-to-7f377879fc526dfb69966ed1672d3036e80.patch index 5357b663..e0c20392 100644 --- a/patches/vkd3d-latest/0004-Updated-vkd3d-to-7f377879fc526dfb69966ed1672d3036e80.patch +++ b/patches/vkd3d-latest/0004-Updated-vkd3d-to-7f377879fc526dfb69966ed1672d3036e80.patch @@ -1,4 +1,4 @@ -From 1c19b515adc2181cff5be945b742fbd357330bbe Mon Sep 17 00:00:00 2001 +From c47787abcf2dc7c91ca0789a9024280ed88e9f39 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 14 Nov 2025 08:07:32 +1100 Subject: [PATCH] Updated vkd3d to 7f377879fc526dfb69966ed1672d3036e807235c. diff --git a/patches/vkd3d-latest/0005-Updated-vkd3d-to-06a503975f7808bcefff8bf2ca4e9605926.patch b/patches/vkd3d-latest/0005-Updated-vkd3d-to-06a503975f7808bcefff8bf2ca4e9605926.patch new file mode 100644 index 00000000..47e3ea3c --- /dev/null +++ b/patches/vkd3d-latest/0005-Updated-vkd3d-to-06a503975f7808bcefff8bf2ca4e9605926.patch @@ -0,0 +1,162 @@ +From fc2b1881245242d66bd74a20436083324bb01398 Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Wed, 19 Nov 2025 09:13:43 +1100 +Subject: [PATCH] Updated vkd3d to 06a503975f7808bcefff8bf2ca4e9605926e1ed9. + +--- + libs/vkd3d/include/vkd3d_shader.h | 12 ++++++++++ + libs/vkd3d/libs/vkd3d-shader/hlsl.c | 35 ++++++++++++++++++++--------- + libs/vkd3d/libs/vkd3d-shader/hlsl.h | 2 ++ + libs/vkd3d/libs/vkd3d-shader/hlsl.y | 20 ++++++++--------- + 4 files changed, 48 insertions(+), 21 deletions(-) + +diff --git a/libs/vkd3d/include/vkd3d_shader.h b/libs/vkd3d/include/vkd3d_shader.h +index 50bcf6b292b..2ae30b94207 100644 +--- a/libs/vkd3d/include/vkd3d_shader.h ++++ b/libs/vkd3d/include/vkd3d_shader.h +@@ -2952,6 +2952,7 @@ VKD3D_SHADER_API const enum vkd3d_shader_target_type *vkd3d_shader_get_supported + * - vkd3d_shader_scan_descriptor_info + * - vkd3d_shader_scan_hull_shader_tessellation_info + * - vkd3d_shader_scan_signature_info ++ * - vkd3d_shader_scan_thread_group_size_info + * - vkd3d_shader_spirv_domain_shader_target_info + * - vkd3d_shader_spirv_target_info + * - vkd3d_shader_transform_feedback_info +@@ -3140,10 +3141,21 @@ VKD3D_SHADER_API int vkd3d_shader_convert_root_signature(struct vkd3d_shader_ver + * \param compile_info A chained structure containing scan parameters. + * \n + * The scanner supports the following chained structures: ++ * - vkd3d_shader_d3dbc_source_info ++ * - vkd3d_shader_descriptor_offset_info ++ * - vkd3d_shader_hlsl_source_info ++ * - vkd3d_shader_interface_info ++ * - vkd3d_shader_parameter_info ++ * - vkd3d_shader_preprocess_info + * - vkd3d_shader_scan_combined_resource_sampler_info + * - vkd3d_shader_scan_descriptor_info + * - vkd3d_shader_scan_hull_shader_tessellation_info + * - vkd3d_shader_scan_signature_info ++ * - vkd3d_shader_scan_thread_group_size_info ++ * - vkd3d_shader_spirv_domain_shader_target_info ++ * - vkd3d_shader_spirv_target_info ++ * - vkd3d_shader_transform_feedback_info ++ * - vkd3d_shader_varying_map_info + * \n + * Although the \a compile_info parameter is read-only, chained structures + * passed to this function need not be, and may serve as output parameters, +diff --git a/libs/vkd3d/libs/vkd3d-shader/hlsl.c b/libs/vkd3d/libs/vkd3d-shader/hlsl.c +index dc9886b5384..6558c4e9fb2 100644 +--- a/libs/vkd3d/libs/vkd3d-shader/hlsl.c ++++ b/libs/vkd3d/libs/vkd3d-shader/hlsl.c +@@ -153,6 +153,25 @@ void hlsl_free_state_block(struct hlsl_state_block *state_block) + vkd3d_free(state_block); + } + ++void hlsl_free_default_value(struct hlsl_default_value *value) ++{ ++ vkd3d_free((void *)value->string); ++} ++ ++void hlsl_free_default_values(struct hlsl_ir_var *decl) ++{ ++ unsigned int component_count; ++ ++ if (!decl->default_values) ++ return; ++ ++ component_count = hlsl_type_component_count(decl->data_type); ++ for (size_t i = 0; i < component_count; ++i) ++ hlsl_free_default_value(&decl->default_values[i]); ++ vkd3d_free(decl->default_values); ++ decl->default_values = NULL; ++} ++ + void hlsl_free_var(struct hlsl_ir_var *decl) + { + unsigned int k, i; +@@ -162,14 +181,7 @@ void hlsl_free_var(struct hlsl_ir_var *decl) + for (k = 0; k <= HLSL_REGSET_LAST_OBJECT; ++k) + vkd3d_free((void *)decl->objects_usage[k]); + +- if (decl->default_values) +- { +- unsigned int component_count = hlsl_type_component_count(decl->data_type); +- +- for (k = 0; k < component_count; ++k) +- vkd3d_free((void *)decl->default_values[k].string); +- vkd3d_free(decl->default_values); +- } ++ hlsl_free_default_values(decl); + + for (i = 0; i < decl->state_block_count; ++i) + hlsl_free_state_block(decl->state_blocks[i]); +@@ -2187,9 +2199,12 @@ static struct hlsl_ir_resource_load *hlsl_new_resource_load(struct hlsl_ctx *ctx + struct hlsl_ir_node *hlsl_block_add_resource_load(struct hlsl_ctx *ctx, struct hlsl_block *block, + const struct hlsl_resource_load_params *params, const struct vkd3d_shader_location *loc) + { +- struct hlsl_ir_resource_load *load = hlsl_new_resource_load(ctx, params, loc); ++ struct hlsl_ir_resource_load *load; ++ ++ if (!(load = hlsl_new_resource_load(ctx, params, loc))) ++ return NULL; + +- if (load && load->sampling_dim == HLSL_SAMPLER_DIM_STRUCTURED_BUFFER) ++ if (load->sampling_dim == HLSL_SAMPLER_DIM_STRUCTURED_BUFFER) + hlsl_src_from_node(&load->byte_offset, hlsl_block_add_uint_constant(ctx, block, 0, loc)); + + return append_new_instr(ctx, block, &load->node); +diff --git a/libs/vkd3d/libs/vkd3d-shader/hlsl.h b/libs/vkd3d/libs/vkd3d-shader/hlsl.h +index 0202d71cc23..e12915f9fe6 100644 +--- a/libs/vkd3d/libs/vkd3d-shader/hlsl.h ++++ b/libs/vkd3d/libs/vkd3d-shader/hlsl.h +@@ -1675,6 +1675,8 @@ void hlsl_free_ir_switch_case(struct hlsl_ir_switch_case *c); + void hlsl_replace_node(struct hlsl_ir_node *old, struct hlsl_ir_node *new); + + void hlsl_free_attribute(struct hlsl_attribute *attr); ++void hlsl_free_default_value(struct hlsl_default_value *value); ++void hlsl_free_default_values(struct hlsl_ir_var *decl); + void hlsl_free_instr(struct hlsl_ir_node *node); + void hlsl_free_instr_list(struct list *list); + void hlsl_free_state_block(struct hlsl_state_block *state_block); +diff --git a/libs/vkd3d/libs/vkd3d-shader/hlsl.y b/libs/vkd3d/libs/vkd3d-shader/hlsl.y +index 92bfd7040fc..e349029521a 100644 +--- a/libs/vkd3d/libs/vkd3d-shader/hlsl.y ++++ b/libs/vkd3d/libs/vkd3d-shader/hlsl.y +@@ -2246,18 +2246,14 @@ static void initialize_var_components(struct hlsl_ctx *ctx, struct hlsl_block *i + + if (src->type == HLSL_IR_COMPILE || src->type == HLSL_IR_SAMPLER_STATE) + { +- if (hlsl_is_numeric_type(dst_comp_type)) ++ /* Default values are discarded if they contain an object ++ * literal expression for a numeric component. */ ++ if (hlsl_is_numeric_type(dst_comp_type) && dst->default_values) + { +- /* Default values are discarded if they contain an object +- * literal expression for a numeric component. */ +- if (dst->default_values) +- { +- hlsl_warning(ctx, &src->loc, VKD3D_SHADER_WARNING_HLSL_IGNORED_DEFAULT_VALUE, +- "Component %u in variable '%s' initializer is object literal. Default values discarded.", +- k, dst->name); +- vkd3d_free(dst->default_values); +- dst->default_values = NULL; +- } ++ hlsl_warning(ctx, &src->loc, VKD3D_SHADER_WARNING_HLSL_IGNORED_DEFAULT_VALUE, ++ "Component %u in variable '%s' initializer is object literal. Default values discarded.", ++ k, dst->name); ++ hlsl_free_default_values(dst); + } + } + else +@@ -2268,6 +2264,8 @@ static void initialize_var_components(struct hlsl_ctx *ctx, struct hlsl_block *i + + if (dst->default_values) + dst->default_values[*store_index] = default_value; ++ else ++ hlsl_free_default_value(&default_value); + + hlsl_block_cleanup(&block); + } +-- +2.51.0 +