You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-12-15 08:03:15 -08:00
Updated vkd3d-latest patchset
This commit is contained in:
@@ -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 <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 26 May 2025 07:03:34 +1000
|
||||
Subject: [PATCH] Updated vkd3d to 39391230d27d58f4e7e8786ba32a0ca133b28fc0.
|
||||
|
||||
@@ -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 <leslie_alistair@hotmail.com>
|
||||
Date: Wed, 5 Nov 2025 10:32:36 +1100
|
||||
Subject: [PATCH] Updated vkd3d to 74ebd4621f3177f45ce22512019ee968ec400f4d.
|
||||
|
||||
@@ -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 <leslie_alistair@hotmail.com>
|
||||
Date: Tue, 11 Nov 2025 08:00:39 +1100
|
||||
Subject: [PATCH] Updated vkd3d to 1569bb3fb8c745d895ad555da1de5e6a2a846218.
|
||||
|
||||
@@ -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 <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 14 Nov 2025 08:07:32 +1100
|
||||
Subject: [PATCH] Updated vkd3d to 7f377879fc526dfb69966ed1672d3036e807235c.
|
||||
|
||||
@@ -0,0 +1,162 @@
|
||||
From fc2b1881245242d66bd74a20436083324bb01398 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user