Updated vkd3d-latest patchset

This commit is contained in:
Alistair Leslie-Hughes
2025-02-04 10:23:08 +11:00
parent 7fda13a16d
commit 7f5729fc14
4 changed files with 1588 additions and 4 deletions

View File

@@ -1,4 +1,4 @@
From 419cefedf7c0b02c10a86894d4348ce300b34518 Mon Sep 17 00:00:00 2001
From d30eac3fdc363ff812a1e4d188885a8d8b84ae06 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Fri, 29 Nov 2024 07:14:57 +1100
Subject: [PATCH] Updated vkd3d to 5b2d62e59a6365e32aac3fa37fe16ab3582deae4.
@@ -21102,5 +21102,5 @@ index 97a99782d6a..fd1fbb1679a 100644
bool use_vk_heaps;
--
2.45.2
2.47.2

View File

@@ -1,4 +1,4 @@
From 220f08317515ea0cab6fa5a2eeaf4835486a6495 Mon Sep 17 00:00:00 2001
From 59fb4f466f878128e98328ecf8506ad452bb0df6 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Thu, 23 Jan 2025 07:16:22 +1100
Subject: [PATCH] Updated vkd3d to 5bfcd811824e9ca03c09a54204bff645225c3408.
@@ -566,5 +566,5 @@ index b1caf61d512..5be3110ed6d 100644
type_id = vkd3d_spirv_get_type_id(builder, VKD3D_SHADER_COMPONENT_BOOL, component_count);
result_id = vkd3d_spirv_build_op_tr2(builder, &builder->function_stream,
--
2.45.2
2.47.2

View File

@@ -0,0 +1,60 @@
From bf784f53870b65406c152779529569f9f2ec08ed Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Tue, 28 Jan 2025 08:24:16 +1100
Subject: [PATCH] Updated vkd3d to 40c225095f64dacfe8b88780a5d43ecdeafe4d2a.
---
libs/vkd3d/libs/vkd3d-shader/dxil.c | 1 +
.../vkd3d/libs/vkd3d-shader/hlsl_constant_ops.c | 17 ++++++++---------
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/libs/vkd3d/libs/vkd3d-shader/dxil.c b/libs/vkd3d/libs/vkd3d-shader/dxil.c
index 399c2b67eae..a10de68008a 100644
--- a/libs/vkd3d/libs/vkd3d-shader/dxil.c
+++ b/libs/vkd3d/libs/vkd3d-shader/dxil.c
@@ -8598,6 +8598,7 @@ static const enum vkd3d_shader_sysval_semantic sysval_semantic_table[] =
[SEMANTIC_KIND_VERTEXID] = VKD3D_SHADER_SV_VERTEX_ID,
[SEMANTIC_KIND_INSTANCEID] = VKD3D_SHADER_SV_INSTANCE_ID,
[SEMANTIC_KIND_POSITION] = VKD3D_SHADER_SV_POSITION,
+ [SEMANTIC_KIND_RTARRAYINDEX] = VKD3D_SHADER_SV_RENDER_TARGET_ARRAY_INDEX,
[SEMANTIC_KIND_CLIPDISTANCE] = VKD3D_SHADER_SV_CLIP_DISTANCE,
[SEMANTIC_KIND_CULLDISTANCE] = VKD3D_SHADER_SV_CULL_DISTANCE,
[SEMANTIC_KIND_PRIMITIVEID] = VKD3D_SHADER_SV_PRIMITIVE_ID,
diff --git a/libs/vkd3d/libs/vkd3d-shader/hlsl_constant_ops.c b/libs/vkd3d/libs/vkd3d-shader/hlsl_constant_ops.c
index e8dd4d62ae2..8d112fb57a7 100644
--- a/libs/vkd3d/libs/vkd3d-shader/hlsl_constant_ops.c
+++ b/libs/vkd3d/libs/vkd3d-shader/hlsl_constant_ops.c
@@ -148,15 +148,7 @@ static bool fold_cast(struct hlsl_ctx *ctx, struct hlsl_constant_value *dst,
float f = 0.0f;
int32_t i = 0;
- if (dst_type->e.numeric.dimx != src->node.data_type->e.numeric.dimx
- || dst_type->e.numeric.dimy != src->node.data_type->e.numeric.dimy)
- {
- FIXME("Cast from %s to %s.\n", debug_hlsl_type(ctx, src->node.data_type),
- debug_hlsl_type(ctx, dst_type));
- return false;
- }
-
- for (k = 0; k < dst_type->e.numeric.dimx; ++k)
+ for (k = 0; k < src->node.data_type->e.numeric.dimx; ++k)
{
switch (src->node.data_type->e.numeric.type)
{
@@ -221,6 +213,13 @@ static bool fold_cast(struct hlsl_ctx *ctx, struct hlsl_constant_value *dst,
break;
}
}
+
+ if (src->node.data_type->e.numeric.dimx == 1)
+ {
+ for (k = 1; k < dst_type->e.numeric.dimx; ++k)
+ dst->u[k] = dst->u[0];
+ }
+
return true;
}
--
2.47.2