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
61 lines
2.4 KiB
Diff
61 lines
2.4 KiB
Diff
|
|
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
|
||
|
|
|