You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Updated vkd3d-latest patchset
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From b180bb5a9e0cc9023e80c703547d23c9d1f0d264 Mon Sep 17 00:00:00 2001
|
||||
From 5e283b117ef5762ed1a5d206496824f36366c064 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 3163e589bc41b674c46750bef9a3cbbaa90fc560.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From e926a5feca44a2f4d87d9b282b9e76a500cf3fec Mon Sep 17 00:00:00 2001
|
||||
From 86603c42ee097cc0d96b26e99af07612590ddbaf Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Thu, 17 Jul 2025 07:20:27 +1000
|
||||
Subject: [PATCH] Updated vkd3d to ba545669cd09682960f5da17b9131780642daf8e.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 13167990b5ba6916b53b88641cf563063124e992 Mon Sep 17 00:00:00 2001
|
||||
From d481fc2bef5bd3df8401ca8ae489012ed352dfb5 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Tue, 22 Jul 2025 07:27:52 +1000
|
||||
Subject: [PATCH] Updated vkd3d to decc155cca45d7c4a60699990452b921a6e0fa65.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 0a466e3e78bebbdc52c77e1dc05c37149e4f8d3b Mon Sep 17 00:00:00 2001
|
||||
From 58bfd9084c0a8e46689d8af4e895431b332bf66b Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Wed, 23 Jul 2025 07:16:58 +1000
|
||||
Subject: [PATCH] Updated vkd3d to 68cd72c7fc7a364ecce87a19617acb382c70762f.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 4b593d3dd67fdc82cd1144ba4b1ac3011c53f797 Mon Sep 17 00:00:00 2001
|
||||
From 72eb29f46a99984be3c5b9ed39d97d4efb70ab0d Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Thu, 24 Jul 2025 06:52:52 +1000
|
||||
Subject: [PATCH] Updated vkd3d to a4c25b81c59ae783a94c1b25714eb080231b86bd.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From dbe3f2e5cdbba46a42c74ed3f7ed8e0d0408d0f9 Mon Sep 17 00:00:00 2001
|
||||
From 89d9cff1b9eb9ebf984793fa1ec2fdb5456d64a7 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 25 Jul 2025 07:41:13 +1000
|
||||
Subject: [PATCH] Updated vkd3d to b3e367b099cb65d79c5b0044134a02e7e9c285a5.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From e84c7c6b8d6f3c77eeedbe5bfe928968555f0be8 Mon Sep 17 00:00:00 2001
|
||||
From b46c70ada9fd7838e808e763c63be3e5aa083579 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Tue, 29 Jul 2025 18:36:33 +1000
|
||||
Subject: [PATCH] Updated vkd3d to f7866df201e491aa6033cc4618ab21cedd12a2e2.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From b81eed1086ba3660ec00639862986ca4544f462f Mon Sep 17 00:00:00 2001
|
||||
From df7b896cf93f6a402eb67bed8d0c9e8d2b034d17 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Wed, 30 Jul 2025 08:46:04 +1000
|
||||
Subject: [PATCH] Updated vkd3d to bb2979aa4c3432bfd5b30ae23de8aaaa57e04c6a.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 322f54a20a7c189417a2e6d9214e7077023b2495 Mon Sep 17 00:00:00 2001
|
||||
From 4f4135dd6ab56dbeeaf09d5018c5fad96909117e Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Thu, 31 Jul 2025 09:06:17 +1000
|
||||
Subject: [PATCH] Updated vkd3d to 75cb4336ec1a0455c347db05b22dc0fd76dd8b5f.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 01122d73cdd5d5de8e682877484241177ef0124d Mon Sep 17 00:00:00 2001
|
||||
From b06ee0c93136bcd51afded65b491fe7c4ba4cfca Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Fri, 1 Aug 2025 07:18:27 +1000
|
||||
Subject: [PATCH] Updated vkd3d to bd3d0f3495f6375901df9ca899accf8bc7a45345.
|
||||
@@ -13,7 +13,7 @@ Subject: [PATCH] Updated vkd3d to bd3d0f3495f6375901df9ca899accf8bc7a45345.
|
||||
6 files changed, 20 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/dlls/msado15/tests/msado15.c b/dlls/msado15/tests/msado15.c
|
||||
index 9d153adff6d..049b9194b5f 100644
|
||||
index 03eaab92b39..3f4b55d2916 100644
|
||||
--- a/dlls/msado15/tests/msado15.c
|
||||
+++ b/dlls/msado15/tests/msado15.c
|
||||
@@ -2023,8 +2023,8 @@ START_TEST(msado15)
|
||||
|
@@ -0,0 +1,193 @@
|
||||
From ee778296e9c6b83d6559431c09b6ff30ea0e44e7 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Tue, 5 Aug 2025 13:30:41 +1000
|
||||
Subject: [PATCH] Updated vkd3d to 721859005f3edfb3d52bc0f810d1da4fe2e5174b.
|
||||
|
||||
---
|
||||
libs/vkd3d/libs/vkd3d-shader/dxil.c | 6 ++--
|
||||
libs/vkd3d/libs/vkd3d-shader/hlsl_codegen.c | 34 ++++++-------------
|
||||
libs/vkd3d/libs/vkd3d-shader/ir.c | 7 ++--
|
||||
libs/vkd3d/libs/vkd3d-shader/msl.c | 3 ++
|
||||
.../libs/vkd3d-shader/vkd3d_shader_main.c | 3 ++
|
||||
5 files changed, 26 insertions(+), 27 deletions(-)
|
||||
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/dxil.c b/libs/vkd3d/libs/vkd3d-shader/dxil.c
|
||||
index 02e72b28908..c448e000cf9 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/dxil.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/dxil.c
|
||||
@@ -3969,6 +3969,7 @@ static bool resolve_forward_zero_initialiser(size_t index, struct sm6_parser *sm
|
||||
|
||||
static enum vkd3d_result sm6_parser_globals_init(struct sm6_parser *sm6)
|
||||
{
|
||||
+ struct vsir_program_iterator it = vsir_program_iterator(&sm6->p.program->instructions);
|
||||
size_t i, count, base_value_idx = sm6->value_count;
|
||||
const struct dxil_block *block = &sm6->root_block;
|
||||
struct vkd3d_shader_instruction *ins;
|
||||
@@ -4028,9 +4029,8 @@ static enum vkd3d_result sm6_parser_globals_init(struct sm6_parser *sm6)
|
||||
}
|
||||
|
||||
/* Resolve initialiser forward references. */
|
||||
- for (i = 0; i < sm6->p.program->instructions.count; ++i)
|
||||
+ for (ins = vsir_program_iterator_head(&it); ins; ins = vsir_program_iterator_next(&it))
|
||||
{
|
||||
- ins = &sm6->p.program->instructions.elements[i];
|
||||
if (ins->opcode == VSIR_OP_DCL_INDEXABLE_TEMP && ins->declaration.indexable_temp.initialiser)
|
||||
{
|
||||
ins->declaration.indexable_temp.initialiser = resolve_forward_initialiser(
|
||||
@@ -4098,6 +4098,8 @@ static enum vkd3d_shader_register_type register_type_from_dxil_semantic_kind(
|
||||
|
||||
switch (sysval_semantic)
|
||||
{
|
||||
+ case VKD3D_SHADER_SV_PRIMITIVE_ID:
|
||||
+ return VKD3DSPR_PRIMID;
|
||||
/* VSIR does not use an I/O register for SV_SampleIndex, but its
|
||||
* signature element has a register index of UINT_MAX and it is
|
||||
* convenient to return a valid register type here to handle it. */
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/hlsl_codegen.c b/libs/vkd3d/libs/vkd3d-shader/hlsl_codegen.c
|
||||
index 0b28aa6fe80..5a11547e7a1 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/hlsl_codegen.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/hlsl_codegen.c
|
||||
@@ -8282,7 +8282,6 @@ static uint32_t generate_vsir_get_src_swizzle(uint32_t src_writemask, uint32_t d
|
||||
static void sm1_generate_vsir_constant_defs(struct hlsl_ctx *ctx, struct vsir_program *program,
|
||||
struct hlsl_block *block)
|
||||
{
|
||||
- struct vkd3d_shader_instruction_array *instructions = &program->instructions;
|
||||
struct vkd3d_shader_dst_param *dst_param;
|
||||
struct vkd3d_shader_src_param *src_param;
|
||||
struct vkd3d_shader_instruction *ins;
|
||||
@@ -8292,19 +8291,17 @@ static void sm1_generate_vsir_constant_defs(struct hlsl_ctx *ctx, struct vsir_pr
|
||||
{
|
||||
const struct hlsl_constant_register *constant_reg = &ctx->constant_defs.regs[i];
|
||||
|
||||
- if (!shader_instruction_array_reserve(instructions, instructions->count + 1))
|
||||
+ if (!(ins = vsir_program_append(program)))
|
||||
{
|
||||
ctx->result = VKD3D_ERROR_OUT_OF_MEMORY;
|
||||
return;
|
||||
}
|
||||
-
|
||||
- ins = &instructions->elements[instructions->count];
|
||||
if (!vsir_instruction_init_with_params(program, ins, &constant_reg->loc, VSIR_OP_DEF, 1, 1))
|
||||
{
|
||||
+ vsir_instruction_init(ins, &constant_reg->loc, VSIR_OP_NOP);
|
||||
ctx->result = VKD3D_ERROR_OUT_OF_MEMORY;
|
||||
return;
|
||||
}
|
||||
- ++instructions->count;
|
||||
|
||||
dst_param = &ins->dst[0];
|
||||
vsir_register_init(&dst_param->reg, VKD3DSPR_CONST, VSIR_DATA_F32, 1);
|
||||
@@ -8328,7 +8325,6 @@ static void sm1_generate_vsir_constant_defs(struct hlsl_ctx *ctx, struct vsir_pr
|
||||
static void sm1_generate_vsir_sampler_dcls(struct hlsl_ctx *ctx,
|
||||
struct vsir_program *program, struct hlsl_block *block)
|
||||
{
|
||||
- struct vkd3d_shader_instruction_array *instructions = &program->instructions;
|
||||
enum vkd3d_shader_resource_type resource_type;
|
||||
struct vkd3d_shader_register_range *range;
|
||||
struct vkd3d_shader_dst_param *dst_param;
|
||||
@@ -8375,20 +8371,13 @@ static void sm1_generate_vsir_sampler_dcls(struct hlsl_ctx *ctx,
|
||||
break;
|
||||
}
|
||||
|
||||
- if (!shader_instruction_array_reserve(instructions, instructions->count + 1))
|
||||
- {
|
||||
- ctx->result = VKD3D_ERROR_OUT_OF_MEMORY;
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- ins = &instructions->elements[instructions->count];
|
||||
- if (!vsir_instruction_init_with_params(program, ins, &var->loc, VSIR_OP_DCL, 0, 0))
|
||||
+ if (!(ins = vsir_program_append(program)))
|
||||
{
|
||||
ctx->result = VKD3D_ERROR_OUT_OF_MEMORY;
|
||||
return;
|
||||
}
|
||||
- ++instructions->count;
|
||||
|
||||
+ vsir_instruction_init(ins, &var->loc, VSIR_OP_DCL);
|
||||
semantic = &ins->declaration.semantic;
|
||||
semantic->resource_type = resource_type;
|
||||
|
||||
@@ -8438,26 +8427,25 @@ static enum vkd3d_shader_register_type sm4_get_semantic_register_type(enum vkd3d
|
||||
return VKD3DSPR_INPUT;
|
||||
}
|
||||
|
||||
-static struct vkd3d_shader_instruction *generate_vsir_add_program_instruction(
|
||||
- struct hlsl_ctx *ctx, struct vsir_program *program,
|
||||
- const struct vkd3d_shader_location *loc, enum vkd3d_shader_opcode opcode,
|
||||
- unsigned int dst_count, unsigned int src_count)
|
||||
+static struct vkd3d_shader_instruction *generate_vsir_add_program_instruction(struct hlsl_ctx *ctx,
|
||||
+ struct vsir_program *program, const struct vkd3d_shader_location *loc,
|
||||
+ enum vkd3d_shader_opcode opcode, unsigned int dst_count, unsigned int src_count)
|
||||
{
|
||||
- struct vkd3d_shader_instruction_array *instructions = &program->instructions;
|
||||
struct vkd3d_shader_instruction *ins;
|
||||
|
||||
- if (!shader_instruction_array_reserve(instructions, instructions->count + 1))
|
||||
+ if (!(ins = vsir_program_append(program)))
|
||||
{
|
||||
ctx->result = VKD3D_ERROR_OUT_OF_MEMORY;
|
||||
return NULL;
|
||||
}
|
||||
- ins = &instructions->elements[instructions->count];
|
||||
+
|
||||
if (!vsir_instruction_init_with_params(program, ins, loc, opcode, dst_count, src_count))
|
||||
{
|
||||
+ vsir_instruction_init(ins, loc, VSIR_OP_NOP);
|
||||
ctx->result = VKD3D_ERROR_OUT_OF_MEMORY;
|
||||
return NULL;
|
||||
}
|
||||
- ++instructions->count;
|
||||
+
|
||||
return ins;
|
||||
}
|
||||
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/ir.c b/libs/vkd3d/libs/vkd3d-shader/ir.c
|
||||
index 76eb62cfd6f..9d93936ac9e 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/ir.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/ir.c
|
||||
@@ -12064,8 +12064,11 @@ enum vkd3d_result vsir_program_transform(struct vsir_program *program, uint64_t
|
||||
vsir_transform(&ctx, vsir_program_materialise_phi_ssas_to_temps);
|
||||
vsir_transform(&ctx, vsir_program_lower_switch_to_selection_ladder);
|
||||
vsir_transform(&ctx, vsir_program_structurize);
|
||||
- vsir_transform(&ctx, vsir_program_flatten_control_flow_constructs);
|
||||
- vsir_transform(&ctx, vsir_program_materialize_undominated_ssas_to_temps);
|
||||
+ if (compile_info->target_type != VKD3D_SHADER_TARGET_MSL)
|
||||
+ {
|
||||
+ vsir_transform(&ctx, vsir_program_flatten_control_flow_constructs);
|
||||
+ vsir_transform(&ctx, vsir_program_materialize_undominated_ssas_to_temps);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
{
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/msl.c b/libs/vkd3d/libs/vkd3d-shader/msl.c
|
||||
index d07608bd26f..c6e048adb20 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/msl.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/msl.c
|
||||
@@ -2196,6 +2196,9 @@ int msl_compile(struct vsir_program *program, uint64_t config_flags,
|
||||
if ((ret = vsir_program_transform(program, config_flags, compile_info, message_context)) < 0)
|
||||
return ret;
|
||||
|
||||
+ if ((ret = vsir_allocate_temp_registers(program, message_context)) < 0)
|
||||
+ return ret;
|
||||
+
|
||||
VKD3D_ASSERT(program->normalisation_level == VSIR_NORMALISED_SM6);
|
||||
VKD3D_ASSERT(program->has_descriptor_info);
|
||||
|
||||
diff --git a/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c b/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c
|
||||
index 2b73771d0a6..891a33d326f 100644
|
||||
--- a/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c
|
||||
+++ b/libs/vkd3d/libs/vkd3d-shader/vkd3d_shader_main.c
|
||||
@@ -2119,6 +2119,9 @@ const enum vkd3d_shader_target_type *vkd3d_shader_get_supported_target_types(
|
||||
VKD3D_SHADER_TARGET_SPIRV_TEXT,
|
||||
# endif
|
||||
VKD3D_SHADER_TARGET_D3D_ASM,
|
||||
+#ifdef VKD3D_SHADER_UNSUPPORTED_MSL
|
||||
+ VKD3D_SHADER_TARGET_MSL,
|
||||
+#endif
|
||||
};
|
||||
|
||||
static const enum vkd3d_shader_target_type fx_types[] =
|
||||
--
|
||||
2.47.2
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user